Skip to content

Uploads

MASV Agent supports two types of uploads:

  • Team uploads — Packages sent to email recipients or shared via a download Link. Requires a valid user session.
  • Portal uploads — Packages sent to a specific MASV Portal. Does not require a user session.

All uploads are managed the same way after creation — only the creation step differs. Each upload transitions through these states:

StateDescription
transferringThe upload is currently transferring data.
pausedThe upload is paused by the user.
idleThe upload has finished transferring data and can accept additional files or be finalized.
completeThe upload has been finalized and the Package has been sent to the intended recipients.
errorA fatal error was encountered. This may or may not be recoverable depending on the error type.

These parameters are supported by all upload types.

NameTypeRequiredDefaultDescription
chunk-sizeStringNo""Custom chunk size for the upload. Overrides the server-level chunk-size flag.
descriptionStringNo""Package description.
nameStringNoN/APackage name.
priorityIntegerNo0Upload priority. Higher values mean higher priority.

Team Packages are sent to email recipients. A valid user session is required.

Terminal window
masv upload start email \
--emails='recipient1@domain.tld,recipient2@domain.tld' \
--team-id=TEAM_ID \
--name="Optional package name" \
--description="Optional package description" \
--password="optional_download_password" \
/path/to/file/or/folder \
/path/to/another/file/or/folder

Includes all Common parameters and the shareable Link parameters below.

NameTypeRequiredDescription
emailsStringYesComma-separated list of email recipients. Example: 'a@example.com,b@example.com'

Create a Team upload and generate a shareable download Link that can be shared with any recipient.

Terminal window
masv upload start link \
--team-id=TEAM_ID \
--name="Optional package name" \
--description="Optional package description" \
--password="optional_download_password" \
/path/to/file/or/folder \
/path/to/another/file/or/folder

If successful, MASV Agent starts the upload and outputs a shareable Link:

Upload 5c8b2cd9-55fc-4462-9c01-87f4df03814a started. Shareable link: https://get.massive.io/{LINK_ID}?secret={SECRET}

The Link becomes active as soon as the upload finalizes. You can create additional shareable Links for existing uploads:

Terminal window
masv upload link {UPLOAD_ID}

Includes all Common parameters.

NameTypeRequiredDefaultDescription
delete-afterIntegerNoN/ANumber of days to keep the Package in MASV storage.
download-limitIntegerNoN/ADefault access limit for download Links created for this Package.
passwordStringNoN/ADefault password for download Links created for this Package.
tag-nameStringNoN/AName of the Package’s tag. Created if it doesn’t already exist.
tag-idStringNoN/AID of an existing Package tag.
team-idStringYesN/ATeam ID to associate with this upload.
teamspace-idStringNoN/ATeamspace ID to associate with this upload. If not specified, the upload is associated with the entire Team.
unlimited-storageBooleanNofalseEnables unlimited storage for the Package.

MASV Agent can upload Packages to any MASV Portal. This does not require a user session.

Terminal window
masv upload start portal \
--subdomain=PORTAL_SUBDOMAIN \
--sender='your-email@domain.tld' \
--password="access code for the portal" \
--name="Optional package name" \
--description="Optional package description" \
/path/to/file/or/folder \
/path/to/another/file/or/folder

Includes all Common parameters.

NameTypeRequiredDefaultDescription
metadataStringNoN/AKey-value pairs to submit as Portal metadata: key1=value1,key2=value2
passwordStringNoN/APortal access code; required for password-protected Portals.
senderStringYesN/AThe sender’s email address.
subdomainStringYesN/ATarget Portal subdomain. For example, if the Portal URL is https://acme.portal.massive.io, the subdomain is acme.

After all files in a Package are uploaded, the upload transitions to the idle state and the Package is automatically finalized. Once finalized, no more files can be added, and the upload transitions to complete. When an upload is complete, the intended recipients are notified.

To disable auto-finalize, start the server with masv server start --auto-finalize=false, then finalize manually:

Terminal window
masv upload finalize UPLOAD_ID

List all uploads managed by MASV Agent:

Terminal window
masv upload ls

View full details for a specific upload, including individual file states:

Terminal window
masv upload status UPLOAD_ID

MASV Agent starts uploading file data at the time of upload creation. Uploads can be paused, resumed, and deleted.

Terminal window
masv upload pause UPLOAD_ID
Terminal window
masv upload pause all
Terminal window
masv upload resume UPLOAD_ID
Terminal window
masv upload resume all
Terminal window
masv upload rm UPLOAD_ID
Terminal window
masv upload rm all
Terminal window
curl -X DELETE http://localhost:8080/api/v1/uploads?states=complete,error

  • Downloads — Initiate, monitor, and manage file downloads.
  • Automations — Set up automated download and upload workflows.
  • Storage Gateway — Connect storage devices to MASV.