Skip to content

Workspace Members

Add, deactivate, and reactivate members in your workspace via the API.

The Workspace Members API lets you manage who belongs to your workspace. Common use cases include automating employee onboarding and offboarding, syncing membership with your HR system, and auditing workspace access.

MethodPathScopeDescription
GET/api/v1/workspace_membersmembers.readList active members
POST/api/v1/workspace_membersmembers.writeAdd a member
POST/api/v1/workspace_members/:id/deactivatemembers.writeDeactivate a member
POST/api/v1/workspace_members/:id/reactivatemembers.writeReactivate a member
FieldTypeDescription
idstringUnique member ID
emailstringMember’s email address
namestringMember’s display name
rolestringRole in the workspace (e.g., "member", "admin")
deactivated_atstring | nullISO 8601 timestamp if deactivated, otherwise null
created_atstringISO 8601 timestamp when the member was added
GET /api/v1/workspace_members

Returns a paginated list of active members in your workspace, ordered by most recently added.

ParameterTypeDefaultDescription
emailstringFilter by exact email address
rolestringFilter by role
limitinteger25Results per page (1-100)
cursorstringCursor for the next page of results
Terminal window
curl https://api.skipup.ai/api/v1/workspace_members \
-H "Authorization: Bearer $SKIPUP_API_KEY"
{
"data": [
{
"id": "mem_01H...",
"email": "[email protected]",
"name": "Alice Johnson",
"role": "admin",
"deactivated_at": null,
"created_at": "2025-01-10T09:00:00Z"
},
{
"id": "mem_02H...",
"email": "[email protected]",
"name": "Bob Smith",
"role": "member",
"deactivated_at": null,
"created_at": "2025-01-08T14:30:00Z"
}
],
"meta": {
"limit": 25,
"has_more": false
}
}

Look up a specific member by their email address:

Terminal window
curl "https://api.skipup.ai/api/v1/[email protected]" \
-H "Authorization: Bearer $SKIPUP_API_KEY"

When has_more is true, pass the next_cursor value to fetch the next page:

Terminal window
curl "https://api.skipup.ai/api/v1/workspace_members?limit=10&cursor=mem_02H..." \
-H "Authorization: Bearer $SKIPUP_API_KEY"
POST /api/v1/workspace_members

Adds an existing SkipUp user to your workspace. The user must already have a SkipUp account.

ParameterTypeRequiredDescription
emailstringYesEmail address of the user to add
rolestringNoRole to assign. Defaults to "member"
Terminal window
curl -X POST https://api.skipup.ai/api/v1/workspace_members \
-H "Authorization: Bearer $SKIPUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "role": "member"}'
{
"data": {
"id": "mem_03H...",
"email": "[email protected]",
"name": "Carol Davis",
"role": "member",
"deactivated_at": null,
"created_at": "2025-02-01T11:00:00Z"
}
}
POST /api/v1/workspace_members/:id/deactivate

Deactivates a member, removing their access to the workspace. If the member has active meeting requests, you must provide a transfer_to email to reassign those requests to another member before deactivation.

ParameterTypeRequiredDescription
transfer_tostringConditionalEmail of the member to transfer active meeting requests to. Required if the member has active meeting requests.
Terminal window
curl -X POST https://api.skipup.ai/api/v1/workspace_members/mem_03H.../deactivate \
-H "Authorization: Bearer $SKIPUP_API_KEY"
Terminal window
curl -X POST https://api.skipup.ai/api/v1/workspace_members/mem_03H.../deactivate \
-H "Authorization: Bearer $SKIPUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"transfer_to": "[email protected]"}'
{
"data": {
"id": "mem_03H...",
"email": "[email protected]",
"name": "Carol Davis",
"role": "member",
"deactivated_at": "2025-02-05T16:00:00Z",
"created_at": "2025-02-01T11:00:00Z"
}
}
POST /api/v1/workspace_members/:id/reactivate

Restores a previously deactivated member. If the member is already active, you’ll receive a 422 error.

Terminal window
curl -X POST https://api.skipup.ai/api/v1/workspace_members/mem_03H.../reactivate \
-H "Authorization: Bearer $SKIPUP_API_KEY"
{
"data": {
"id": "mem_03H...",
"email": "[email protected]",
"name": "Carol Davis",
"role": "member",
"deactivated_at": null,
"created_at": "2025-02-01T11:00:00Z"
}
}

When an employee leaves your organization, you need to deactivate their workspace membership without losing their in-progress meeting requests. Here’s a typical offboarding flow:

Terminal window
curl "https://api.skipup.ai/api/v1/[email protected]" \
-H "Authorization: Bearer $SKIPUP_API_KEY"

Save the member id from the response.

Pass the transfer_to parameter with a colleague’s email to reassign any active meeting requests:

Terminal window
curl -X POST https://api.skipup.ai/api/v1/workspace_members/mem_03H.../deactivate \
-H "Authorization: Bearer $SKIPUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"transfer_to": "[email protected]"}'

All of Carol’s active meeting requests are now owned by Alice, and Carol’s access is revoked.

Terminal window
curl "https://api.skipup.ai/api/v1/[email protected]" \
-H "Authorization: Bearer $SKIPUP_API_KEY"

The member will no longer appear in the active members list. The deactivated_at field on the member object confirms when they were deactivated.