Members
Two layers of membership. Workspace members have an explicit role (owner / editor / commenter / viewer) on one workspace. Org members get default editor access to every non-private workspace in the org. Both come with their own list, role change, and remove endpoints.
Generated from src/lib/api-paths/members.ts. See the Teams guide for the full inheritance + cascade model, including how signed-agent inheritance auto-enrolls an agent into any workspace its owner can reach.
get/api/workspaces/{slug}/members
List workspace members + pending invites
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Members + pending invites. |
patch/api/workspaces/{slug}/members/{memberId}
Change a member's workspace role
Promote/demote between viewer/commenter/editor/owner. Cascades any agents owned by that user on this workspace.
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | |
memberId | string | yes |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
role | "owner" | "editor" | "commenter" | "viewer" | yes | Workspace role. Inherited cascades from org membership when no explicit row exists. |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Role changed. |
delete/api/workspaces/{slug}/members/{memberId}
Remove a workspace member
Cascades any agents owned by that user on this workspace (atomic transaction).
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | |
memberId | string | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Removed. |
get/api/orgs/{slug}/members
List org members + pending invites
Includes viewer's own role + user id so callers can render admin-only UI.
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Members + pending invites. |
patch/api/orgs/{slug}/members/{userId}
Change an org member's role
admin/owner only. Owner role is immutable via this endpoint.
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | |
userId | string | yes |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
role | "admin" | "member" | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Role changed. |
delete/api/orgs/{slug}/members/{userId}
Remove from org (or self-leave)
admin/owner OR self. Bulk-deletes all WorkspaceMember rows in the org's workspaces + emits `member.removed` per workspace + deletes the OrgMember row. Sole-owner removal is blocked.
Auth: Bearer token (API key or OAuth access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | |
userId | string | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 | object | Removed. |
400 | Error | Sole owner — refusing to remove. |
Related
- Teams (org membership) — org vs workspace member, role inheritance, multi-org.
- Sharing & roles — UI flow for the same invite + role surfaces.
- Signed-agent inheritance — what happens to a member's agents when they're added or removed.
- Webhooks API —
member.invited/member.joined/member.removedevents.