Tutorial: Add Users to Teamspaces
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.
What you’ll learn
Section titled “What you’ll learn”This tutorial walks through the following steps:
- Get a list of Team members
- Get a list of Teamspaces
- Add a user to the Team
- Create a new Teamspace
- Add a user to the Teamspace
Before you begin
Section titled “Before you begin”You’ll need:
- A MASV account with the Owner or Admin role — sign up here
- A MASV API key — see How to create and manage API keys
All API requests in this tutorial use the base URI https://api.massive.app.
Step 1: Get a list of Team members
Section titled “Step 1: Get a list of Team members”List all users who belong to a particular MASV Team.
| Method | Route |
|---|---|
GET | /v1/teams/{team_id}/members |
Headers
Section titled “Headers”| Name | Type | Required | Description |
|---|---|---|---|
X-API-KEY | String | Yes | Your API key |
URL parameters
Section titled “URL parameters”| Name | Type | Required | Description |
|---|---|---|---|
team_id | String | Yes | ID 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
Section titled “Example request”curl -H "X-API-KEY: $API_KEY" \ -X GET https://api.massive.app/v1/teams/$TEAM_ID/membersExample response
Section titled “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.
Step 2: Get a list of Teamspaces
Section titled “Step 2: Get a list of Teamspaces”Authorized users can list all existing Teamspaces for any Team they belong to (subject to access policy).
| Method | Route |
|---|---|
GET | /v1.1/teams/{team_id}/spaces |
Headers
Section titled “Headers”| Name | Type | Required | Description |
|---|---|---|---|
X-API-KEY | String | Yes | Your API key |
URL parameters
Section titled “URL parameters”| Name | Type | Required | Description |
|---|---|---|---|
team_id | String | Yes | ID of the Team that owns the Teamspace |
Query parameters
Section titled “Query parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | Integer | No | Page number. Default: 0 |
limit | Integer | No | Maximum records to fetch (50 max). Default: 50 |
Example request
Section titled “Example request”curl -H "X-API-KEY: $API_KEY" \ -X GET https://api.massive.app/v1.1/teams/$TEAM_ID/spacesExample response
Section titled “Example response”{ "metadata": { "per_page": 50, "total": 1 }, "records": [ { "id": "string", "name": "string" } ]}Step 3: Add a user to the Team
Section titled “Step 3: Add a user to the Team”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.
- From the sidebar, select Features & Settings, then User Management.
- On the User Management page, select + Add Users in the upper right corner.
- In the Add Users dialog, enter the email address for the user you want to invite.
- From the Role dropdown, select Member.
- Select Add. Repeat to invite additional users.
- 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.
Step 4: Create a new Teamspace
Section titled “Step 4: Create a new Teamspace”Create a Teamspace under a Team. You can optionally provide membership_ids for existing Team members when creating the Teamspace, but for this tutorial we’ll create it first and add users afterward.
| Method | Route |
|---|---|
POST | /v1/teams/{team_id}/spaces |
Headers
Section titled “Headers”| Name | Type | Required | Description |
|---|---|---|---|
X-API-KEY | String | Yes | Your API key |
Content-Type | String | Yes | Must be application/json |
URL parameters
Section titled “URL parameters”| Name | Type | Required | Description |
|---|---|---|---|
team_id | String | Yes | ID of the Team |
| Name | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Name of the Teamspace to create |
membership_ids | String[] | No | Membership IDs of Team members to add |
Example request
Section titled “Example request”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/spacesExample response
Section titled “Example response”{ "id": "01E8TP2TJCTDNW11G67NKHQW5J", "members": [], "name": "Marketing"}For the full request and response schema, see Create Teamspace in the Teamspaces reference.
Step 5: Add a user to the new Teamspace
Section titled “Step 5: Add a user to the new Teamspace”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.
| Method | Route |
|---|---|
POST | /v1/spaces/{space_id}/members |
Headers
Section titled “Headers”| Name | Type | Required | Description |
|---|---|---|---|
X-API-KEY | String | Yes | Your API key |
Content-Type | String | Yes | Must be application/json |
URL parameters
Section titled “URL parameters”| Name | Type | Required | Description |
|---|---|---|---|
space_id | String | Yes | ID of the Teamspace (from Step 4) |
| Name | Type | Required | Description |
|---|---|---|---|
membership_ids | String[] | Yes | Team 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"}Example request
Section titled “Example request”Use the Teamspace ID from Step 4 in the path and the member’s id in the body:
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/membersExample response
Section titled “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.
Summary
Section titled “Summary”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
Next steps
Section titled “Next steps”- Teamspaces reference — Full API specification for Teamspace operations.
- API Keys — Manage API keys for authentication.
- Core Concepts — Understand Teams, Portals, Packages, and Teamspaces.
- MASV Teamspaces in the Web App — Manage Teamspaces through the MASV Web App UI.