Skip to content

Getting Started

Welcome to the MASV transfer API.

Our API has been designed to help you automate or manually upload files to the MASV service through MASV's "send files" or "portals" features.

You can also automate or manually download files from the MASV service to place deliveries into on-prem storage or push data into cloud storage.

With the MASV transfer API, you can quickly automate sending or receiving packages without size limits or subscriptions.

Use the MASV transfer API to:

  • Send files from point A to point B
  • Receive files from others
  • Set distribution lists and 'teams'
  • Transfer an unlimited volume of data, including individual files up to 15TB in size, with the ability to preserve folder structure

Transfers expire after the expiry date set during upload, or after the team's default storage period.

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
  • Utilize JSON Web Token (JWT) for authentication and authorization for maximum scalability.
  • API base URL https://api.massive.app/v1/

Data Model

Users

  • Represents a registered user.
  • Identified by an email.
  • 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
  • One user is the owner of the team.
  • Membership is governed by a role. Each member has a certain role in a team that gives them specific access privileges
  • All other data entities are related to the team (packages, portals, credit cards)
  • Each team has a unique subdomain.

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 (referred to as a MASV Rush) or received by a team portal (referred to as MASV Portals)
  • Each package can have multiple files.
  • Files 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 (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 secret will be returned in the initial response only.
  • The link secret cannot be retrieved via the API for existing links.

API Deep-Dive

The upcoming sections demonstrate interacting with different aspects of MASV API. We'll be using curl command line tool to demonstrate API interaction because it's very verbose and exposes all aspects of the request.

A JSON Web Token (JWT) must be included on all requests other than the authorize request.

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.