Skip to content

Add users to Teamspaces

View as Markdown

In this tutorial, you’ll learn how to add a Team member to a Teamspace using the MASV API.

A Teamspace organizes a subset of Team members into a group to control access to specific content and functionality. It also provides an organizational tool to track activity for specific projects, clients, or departments.

For the full Teamspaces API specification, see the Teamspaces reference.

This tutorial walks through the following steps:

  1. Get a list of Team members
  2. Get a list of Teamspaces
  3. Add a user to the Team
  4. Create a new Teamspace
  5. Add a user to the Teamspace

You’ll need:

All API requests in this tutorial use the base URI https://api.massive.app.

List all users who belong to a particular MASV Team.

MethodRoute
GET/v1/teams/{team_id}/members

Required headers:

NameTypeRequiredDescription
X-API-KEYStringYesYour API key

URL parameters:

NameTypeRequiredDescription
team_idStringYesID of the Team

Locate and copy the team_id from the MASV Web App URL. For detailed instructions, see How to find your Team ID and Portal ID.

Example request:

Terminal window
# Store your API key in an environment variable — never hardcode it.
# See /api/api-keys/ for key management best practices.
curl -H "X-API-KEY: $API_KEY" \
-X GET https://api.massive.app/v1/teams/$TEAM_ID/members

Example response:

[
{
"approved": true,
"email": "user@example.com",
"id": "string",
"invitation_accepted": "2026-02-05T17:32:10.870Z",
"name": "string",
"policy_key": "member",
"team_id": "string",
"teamspaces": [
{
"id": "string",
"name": "string"
}
],
"user_id": "string"
}
]

For the full response schema and error codes, see the Teamspaces reference.

Authorized users can list all existing Teamspaces for any Team they belong to (subject to access policy).

MethodRoute
GET/v1.1/teams/{team_id}/spaces

Required headers:

NameTypeRequiredDescription
X-API-KEYStringYesYour API key

URL parameters:

NameTypeRequiredDescription
team_idStringYesID of the Team that owns the Teamspace

Query parameters:

NameTypeRequiredDescription
pageIntegerNoPage number. Default: 0
limitIntegerNoMaximum records to fetch (50 max). Default: 50

Example request:

Terminal window
curl -H "X-API-KEY: $API_KEY" \
-X GET https://api.massive.app/v1.1/teams/$TEAM_ID/spaces

Example response:

{
"metadata": {
"per_page": 50,
"total": 1
},
"records": [
{
"id": "string",
"name": "string"
}
]
}

To invite a user to the Team, sign in to the MASV Web App as a Team Owner or Admin. For each new user, assign a role to determine their permissions. For this tutorial, select Member as the role.

  1. From the sidebar, select Features & Settings, then User Management.
  2. On the User Management page, select + Add Users in the upper right corner.
  3. In the Add Users dialog, enter the email address for the user you want to invite.
  4. From the Role dropdown, select Member.
  5. Select Add. Repeat to invite additional users.
  6. Select Send when you’ve added all users.

The system sends an email invitation to each invited user. Invited users appear as Pending in the MASV Web App until they accept the invitation.

Create a Teamspace under a Team. You can optionally provide membership_ids for existing Team members when creating the Teamspace, but for this tutorial you’ll create it first and add users afterward.

MethodRoute
POST/v1/teams/{team_id}/spaces

Required headers:

NameTypeRequiredDescription
X-API-KEYStringYesYour API key
Content-TypeStringYesMust be application/json

URL parameters:

NameTypeRequiredDescription
team_idStringYesID of the Team

Request body:

NameTypeRequiredDescription
nameStringYesName of the Teamspace to create
membership_idsString[]NoMembership IDs of Team members to add

Example request:

Terminal window
curl -d '{"name": "Marketing"}' \
-H "X-API-KEY: $API_KEY" \
-H "Content-Type: application/json" \
-X POST https://api.massive.app/v1/teams/$TEAM_ID/spaces

Example response:

{
"id": "01E8TP2TJCTDNW11G67NKHQW5J",
"members": [],
"name": "Marketing"
}

For the full request and response schema, see Create Teamspace in the Teamspaces reference.

Team Owners and Admins already have read and write access to all Teamspaces. Other Team members need to be explicitly added. A Team member can belong to multiple Teamspaces.

MethodRoute
POST/v1/spaces/{space_id}/members

Required headers:

NameTypeRequiredDescription
X-API-KEYStringYesYour API key
Content-TypeStringYesMust be application/json

URL parameters:

NameTypeRequiredDescription
space_idStringYesID of the Teamspace (from Step 4)

Request body:

NameTypeRequiredDescription
membership_idsString[]YesTeam membership IDs to add to the Teamspace

First, repeat Step 1 to find the newly added Team member’s id (membership ID). For example:

{
"email": "newuser@example.com",
"id": "01KGJN265PMVBG59EK6DXVHZQ5",
"name": "Jon New",
"policy_key": "member",
"team_id": "01KESZAJ7NNWAQ9TAW3R4Q27CB",
"user_id": "01KGJN265HXMS0D1NWJFC5TS7J"
}

Use the Teamspace ID from Step 4 in the path and the member’s id in the body.

Example request:

Terminal window
curl -d '{"membership_ids": ["01KGJN265PMVBG59EK6DXVHZQ5"]}' \
-H "X-API-KEY: $API_KEY" \
-H "Content-Type: application/json" \
-X POST https://api.massive.app/v1/spaces/$SPACE_ID/members

Example response:

[
{
"email": "newuser@example.com",
"id": "01KGJN265PMVBG59EK6DXVHZQ5",
"name": "Jon New",
"policy_key": "member",
"team_id": "01KESZAJ7NNWAQ9TAW3R4Q27CB",
"teamspaces": [
{
"id": "01E8TP2TJCTDNW11G67NKHQW5J",
"name": "Marketing"
}
],
"user_id": "01KGJN265HXMS0D1NWJFC5TS7J"
}
]

For the full endpoint specification, see Add Team members to Teamspace in the Teamspaces reference.

You’ve learned how to use the MASV API to:

  • List Team members and Teamspaces
  • Invite a user to a Team via the MASV Web App
  • Create a new Teamspace
  • Add a Team member to a Teamspace