Legacy
Listing sent packages (legacy)
Info
To retrieve a list of packages, MASV recommends paginated requests for better performance and more flexible querying. See Listing Sent Packages.
Authorized users can retrieve a list of all packages sent by a Team that they belong to, subject to the MASV access policy.
Method | Route |
---|---|
GET |
/v1/teams/{{ team_id }}/packages |
HEADERS
Name | Type | Required | Description |
---|---|---|---|
X-API-KEY |
String | Yes | API key |
Content-Type |
String | Yes | Must be application/json |
QUERY PARAMETERS
Name | Type | Required | Description |
---|---|---|---|
expired |
Boolean | No | If expired packages should be included in response Default Value: true |
finalized |
Boolean | No | If finalized packages should be included in response Default Value: true |
new |
Boolean | No | If new packages should be included in response Default Value: false |
archived |
Boolean | No | If archived packages should be included in response Default Value: false |
Note
The query parameters are optional and allow for filtering of the package list to match certain states.
URL Parameters
Name | Type | Required | Description |
---|---|---|---|
team_id |
String | Yes | The team id returned during auth request |
REQUEST
curl -H "X-API-KEY: $API_KEY" \
-H "Content-Type: application/json" \
-X POST https://api.massive.app/v1/teams/$TEAM_ID/packages
After successful authentication, this endpoint will return an HTTP response with a status code of 200 OK
and a body similar to the one below.
[
{
"access_token": "xxxxxxxxxxxxxxxxx",
"created_at": "2020-10-30T17:37:00.998Z",
"custom_expiry": true,
"expiry": "2022-11-21T17:37:00.998Z",
"extra_storage_updated_at": "2020-10-30T17:37:00.998Z",
"extra_storage_days": 3,
"extras": {},
"id": "01ENX9B1J68NT9Y4QHXD7T0X6S",
"links": [{
"access_limit": 3,
"access_limit_enabled": true,
"accessed_at": "0001-01-01T00:00:00.000Z",
"active": false,
"created_at": "2022-04-25T15:03:01.666Z",
"email": "[email protected]",
"expiry": "2022-05-05T15:03:01.608Z",
"id": "01G1GKYMS2941W6EFC7K9DEYBP",
"recipient_notified": "pending",
"unlimited_storage": false,
"usage_updated_at": "2022-04-25T15:03:01.666Z"
}],
"name": "test",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"contains_virus": true,
"tag": {
"id": "01ENX9B1JBH8A9Y4QHXD7T0X6S",
"name": "example tag name"
},
"progress_channels": [
{
"auth": {
"token": "xxxxxxxxxxxxxxxxx",
"channel_name": "proc.upload.01CNH4WNNKZC5FWVG1V100JTXH",
"publish_key": "pub-c-xxxxx-xxxxxxxxxxxxx",
"subscribe_key": "sub-c-xxxxx-xxxxxxxxxxxxx"
},
"topic":"upload",
"provider": "pubnub"
}
],
"sender": "[email protected]",
"state": "new",
"teamspace_id": "01H6D3W6RM3VBKWE25AJ5ZD2X8",
"updated_at": "2020-10-30T13:37:00.999Z",
"usage_updated_at": "2020-10-30T17:37:00.998Z"
}
]
Response Properties:
Property | Description |
---|---|
team_id |
The team id that the package is bound to. |
created_at |
Time that the object was created at |
updated_at |
Last time the package was updated. |
access_token |
Auth token required to interact with the package. |
state |
Indicates the state of the package Possible Values: new , finalized , expired , archived |
contains_virus |
Built in virus protection will detect if packages contains a virus. |
progress_channels |
PubNub progress events. |
tag |
An object with the package's tag name and ID. This field is only included if the package has a tag, otherwise it is excluded from the response. |
progress_channels.zip |
Reports the progress of zip file creation for finalized packages. |
progress_channels.upload |
Reports the progress of initial package upload for new packages only. |
links |
List of download links created for this package. |
extra_storage_days |
Number of days of extra storage that have been set on the package. |
teamspace_id |
ID of the Teamspace that the package is bound to. Empty or omitted if the package is not attached to a Teamspace. |
Note
MASV integrates with PubNub for publishing and subscribing to progress messages. They provide client SDKs in several programming languages. More details can be found on their developer documentation website.
Warning
PubNub has recently migrated their authentication mechanism to rely on tokens instead of authentication codes. The progress_channels
auth.token
property should be used for all authentication requests with PubNub and the now deprecated auth.auth_key
property should no longer be used at all. More details on how to switch from auth_key
to token
can be found on their migration guide.
Listing Portals (legacy)
Info
To retrieve a list of Portals, MASV recommends paginated requests for better performance and more flexible querying. See Listing Portals.
Authorized users can list packages uploaded to any Portal under their Team(s) (subject to access policy).
Method | Route |
---|---|
GET |
/v1/teams/{team_id}/portals |
HEADERS
Name | Type | Required | Description |
---|---|---|---|
X-API-KEY |
String | Yes | API key |
URL parameters
Name | Type | Required | Description |
---|---|---|---|
team_id |
String | Yes | The Team id to bind the Portal to. |
REQUEST
curl -H "X-API-KEY: $API_KEY" \
-X GET https://api.massive.app/v1/teams/$TEAM_ID/portals
After a successful request, this endpoint will return an HTTP response with a status code of 200 OK
and a body similar to the one below.
[
{
"id": "01CNH24NGPTJTMXWWM2J8E2V8V",
"message": "Hello world!",
"name": "My Portal",
"subdomain": "myportal",
"has_access_code": true,
"has_download_password": true,
"tag": {
"id": "01CNH24NGPTJTMXGGEZJ8E2J2K",
"name": "test tag name"
},
"custom_expiry_days": 0,
"recipients": [
"[email protected]",
"[email protected]"
],
"language": "en",
"access_level": "regular",
"teamspace_id" : "01H6D3W6RM3VBKWE25AJ5ZD2X8"
},
{
"id": "01CNEM9H2AG0MVH33X0EVDY8AQ",
"message": "Hello world, again!",
"name": "My other Portal",
"subdomain": "myotherportal",
"has_access_code": false,
"has_download_password": false,
"custom_expiry_days": 0,
"recipients": [
"[email protected]"
],
"language": "fr",
"access_level": "private",
"access_list": [
{
"membership_id": "01CNEM9H2AG0MVH33X0EVDYYPT",
"name": "user1",
"email": "[email protected]"
},
{
"membership_id": "01CD5R9H08GOT6HTYU0EVDQW3E",
"name": "user2",
"email": "[email protected]"
},
...
]
},
...
]
Property | Description |
---|---|
[] |
Top level array of portal objects. |
Listing Portal packages (legacy)
Info
To retrieve a list of a Portal's packages, MASV recommends paginated requests for better performance and more flexible querying. See Listing Portal Packages.
Authorized users can list packages uploaded to any Portal under their Team(s) subject to access policy).
Method | Route |
---|---|
GET |
/v1/portals/{portal_id}/packages?expired=1&finalized=1&new=1 |
HEADERS
Name | Type | Required | Description |
---|---|---|---|
X-API-KEY |
String | Yes | API key |
QUERY PARAMETERS
Name | Type | Required | Description |
---|---|---|---|
expired |
Boolean | No | If expired packages should be included in response |
finalized |
Boolean | No | If finalized packages should be included in response |
new |
Boolean | No | If new packages should be included in response |
archived |
Boolean | No | If archived packages should be included in response |
Note
The expired
, finalized
, new
and archived
parameters are optional and allow for filtering the package list to include packages in these states. If none of them are passed or all are set to 0 then only packages in the finalized
and expired
states will be returned.
URL parameters
Name | Type | Required | Description |
---|---|---|---|
portal_id |
String | Yes | The Portal id that we are getting packages from. |
REQUEST
curl -H "X-API-KEY: $API_KEY" \
-X GET https://api.massive.app/v1/portals/$PORTAL_ID/packages?expired=1&finalized=1&new=0
After a successful request, this endpoint will return an HTTP response with a status code of 200 OK
and a body similar to the one below:
[
{
"id": "01CNH4M62513B3FT70FXNFS6YS",
"created_at": "2018-08-22T11:39:07.717-04:00",
"updated_at": "2018-08-22T11:39:10.271-04:00"
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MzU1NTgxMDksImx2bCI6ImYiLCJzdWIiOiIwMUNOSDRNNjI1MTNCM0ZUNzBGWE5GUzZZUyIsInR5cCI6InBhY2thZ2UifQ.T1tTJkqcaaptWtHg59Ta94LcYl8DomtnY8ieYVdqP_I",
"state": "finalized",
"name": "Test package #1",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"progress_channels": [],
"unlimited_storage": false,
"sender": "[email protected]",
"teamspace_id" : "01H6D3W6RM3VBKWE25AJ5ZD2X8"
},
{
"id": "01CNH4WNNKZC5FWVG1V100JTXH",
"created_at": "2018-08-22T11:43:45.843-04:00",
"updated_at": "2018-08-22T11:43:47.111-04:00"
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MzU1NTgxMDksImx2bCI6ImYiLCJzdWIiOiIwMUNOSDRXTk5LWkM1RldWRzFWMTAwSlRYSCIsInR5cCI6InBhY2thZ2UifQ.Y2gI_a_utNNlU_nujZch0zLIDdZ5EDMtQpohIFifvXA",
"state": "new",
"name": "Another package",
"description": "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium",
"progress_channels": [
{
"auth": {
"token": "xxxxxxxxxxxxxxxxx",
"channel_name": "proc.upload.01CNH4WNNKZC5FWVG1V100JTXH",
"publish_key": "pub-c-xxxxx-xxxxxxxxxxxxx",
"subscribe_key": "sub-c-xxxxx-xxxxxxxxxxxxx"
},
"topic":"upload",
"provider": "pubnub"
}
],
"sender": "[email protected]",
"unlimited_storage": false
},
{
"id": "01CXBDDNMJR5QQJ3298WQBGT1G",
"created_at": "2018-08-22T11:43:45.843-04:00",
"updated_at": "2018-08-22T11:43:47.111-04:00"
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MzU1NTgxMDksImx2bCI6ImYiLCJzdWIiOiIwMUNOSDRXTk5LWkM1RldWRzFWMTAwSlRYSCIsInR5cCI6InBhY2thZ2UifQ.Y2gI_a_utNNlU_nujZch0zLIDdZ5EDMtQpohIFifvXA",
"state": "expired",
"name": "Another package",
"description": "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium",
"progress_channels": [],
"sender": "[email protected]",
"unlimited_storage": false,
"teamspace_id": "01H6D3W6RM3VBKWE25AJ5ZD2X8"
}
]
Note
If the referenced Portal has a tag, each package created after the Portal was given a tag will have the Portal's tag.
Response Properties:
Property | Description |
---|---|
id |
The package id requested. |
created_at |
Time that the object was created at. |
updated_at |
Last time the package was updated. |
access_token |
Auth token required to interact with the package. |
state |
Indicates the state of the package. Possible values: new , finalized , expired , archived |
progress_channels |
PubNub progress events. |
progress_channels.zip |
Reports the progress of zip file creation for finalized packages. |
progress_channels.upload |
Reports the progress of initial package upload for new packages only. |
links |
Array of download links created for this package. |
teamspace_id |
ID of the Teamspace that the package belongs to. |
Note
MASV integrates with PubNub for publishing and subscribing to progress messages. They provide client SDKs in several programming languages. More details can be found on their developer documentation website.
Warning
PubNub has recently migrated their authentication mechanism to rely on tokens instead of authentication codes. The progress_channels
auth.token
property should be used for all authentication requests with PubNub and the now deprecated auth.auth_key
property should no longer be used at all. More details on how to switch from auth_key
to token
can be found on their migration guide.