API · Endpoints

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

NameTypeRequiredDescription
slugstringyes

Responses

StatusBodyDescription
200objectMembers + 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

NameTypeRequiredDescription
slugstringyes
memberIdstringyes

Request body

FieldTypeRequiredDescription
role"owner" | "editor" | "commenter" | "viewer"yesWorkspace role. Inherited cascades from org membership when no explicit row exists.

Responses

StatusBodyDescription
200objectRole 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

NameTypeRequiredDescription
slugstringyes
memberIdstringyes

Responses

StatusBodyDescription
200objectRemoved.

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

NameTypeRequiredDescription
slugstringyes

Responses

StatusBodyDescription
200objectMembers + 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

NameTypeRequiredDescription
slugstringyes
userIdstringyes

Request body

FieldTypeRequiredDescription
role"admin" | "member"yes

Responses

StatusBodyDescription
200objectRole 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

NameTypeRequiredDescription
slugstringyes
userIdstringyes

Responses

StatusBodyDescription
200objectRemoved.
400ErrorSole owner — refusing to remove.