List workspace members
Returns every member of the workspace with their role and profile summary. Requires `members:read`, which every built-in role including viewer holds.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/workspaces/string/members"{ "data": [ { "id": "string", "workspaceId": "string", "userId": "string", "effectiveRoleId": "string", "clerkUserId": "string", "role": "owner", "primaryEmail": "string", "displayName": "string", "avatarUrl": "string", "createdAt": "string", "updatedAt": "string" } ]}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Catch up on workspace events
Returns the workspace's current event version plus the events after `afterVersion`, each projected down to what the caller is allowed to see, so a client that fell behind can resynchronize. Requires `workspace:read`. Pass `afterVersion` and `limit` as integer strings; a non-integer value is a validation error and an unknown workspace is not found.
Change a member's workspace role
Sets the built-in role on one membership and then re-syncs the billable seat count to the billing provider. Requires `members:manage`, and only owners may promote to or demote from the owner role. Fails when the member is unknown, when it would demote the last owner, and when promoting a free viewer into an editor role would exceed the plan's editor seats.