Skip to content

Getting Started

Welcome to the MASV transfer API.

Use the MASV API to:

  • Send files from point A to point B
  • Receive files from others
  • Set distribution lists with email recipients, or MASV Teams and Teamspaces
  • Send from or save to on-premises and third-party cloud storage
  • Configure transfers to expire after a set date or after a default storage period.

Each file can be up to 15 TB in size. Packages preserve folder structure, can be of unlimited size, and contain an unlimited number of files. Senders and recipients do not need a MASV account.

About MASV API

MASV was designed from the ground up with one goal in mind: API-first approach. All user interactions should translate to API calls -- not necessarily one-to-one, as some actions could translate to multiple API calls depending on what the client needs to perform.

REST API Conventions

  • This API supports a Representational State Transfer (REST) model for accessing a set of resources through a fixed set of operations.
  • Use consistent HTTP verb to action mapping:
    • GET to read/list/view/search
    • POST to create/authenticate
    • PUT to update
    • DELETE to delete
  • Use API keys for authorization
  • API base URL https://api.massive.app/v1/

Note

The MASV API requires a Content-Type: application/json header on every POST and PUT request, otherwise you will receive an unsupported Content-Type error.

Examples

The examples in these sections use the curl command line tool to demonstrate API interaction because it's verbose and exposes all aspects of the request.

Data Model

Users

  • Represents a registered user.
  • Identified by an email address.
  • Authenticated by a password.

Teams

  • Represents a "shared workspace" where multiple users can collaborate.
  • Each Team can have multiple users (M-N relationship), called members
  • Each member has a certain role that gives them specific access privileges.
  • One user is the Owner of the Team.
  • All other data entities are related to the Team, including packages, Portals, credit cards.

Portals

  • Portals represent a website through which users can receive packages.
  • Each Team can have multiple portals (1-N relationship).
  • Each portal has a unique subdomain.

Packages

  • A package represents a set of files sent by a Team member or received by a Portal
  • Each package can have multiple files
  • File metadata is stored at the API level, but actual file data is stored in a storage service
  • A link represents a package share with recipient(s).
  • Each package can have multiple links (1-N relationship).
  • The only ways to download a package are by obtaining a link from one of the package owners or by creating a direct-download link, which requires access to manage the package.
  • Access to recipient links can only by supplied out-of-band, meaning, no API call will ever expose the complete credentials to access the link and download the files through it.
  • A direct-download link can be created without a recipient specified, in which case the ID and download secret will be returned in the initial response only.
  • The link's download secret cannot be retrieved via the API for existing links.