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. Deliveries expire after 10 days.

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 5TB in size, with the ability to preserve folder structure
  • Transfers expire after 10 days

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 a recipient).
  • Each package can have multiple links (1-N relationship).
  • The only way to download a package is by obtaining a link from one of the package owners.
  • Access to 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.

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.