Members
A member is a person in a workspace with one role: owner, admin, member or viewer. Owners and admins manage members and invites, members do the work, and viewers only read.
The Member object
A person in the workspace and their role.
Attributes
userIdstringRequiredThe member's user ID.
namestringRequiredThe member's display name.
emailstringRequiredThe member's email address.
imagenullable stringRequiredURL of the member's profile photo, or null.
rolestringRequiredOwners and admins manage the workspace and its people, members do the work, and viewers only read.
owneradminmemberviewerjoinedAtstringRequiredWhen the person joined the workspace, as an ISO 8601 timestamp.
teamsarray of stringsRequiredNames of the teams the member is in, sorted alphabetically, such as Web.
{ "userId": "Us3NfP8kLq2V", "name": "Maya Patel", "email": "maya@acme.dev", "image": "https://images.clankertest.com/users/Us3NfP8kLq2V/profile-Ph8KcV2nRx4M.webp", "role": "owner", "joinedAt": "2026-10-01T16:20:00.000Z", "teams": [ "Web" ]}List members
GET/Returns the workspace's active members with their roles and teams, sorted by name. Any member can list members.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
Returns
Returns an array of Member objects. Status 200.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl https://api.qa.clankership.net/v1/workspaces/acme/members \ -H "Authorization: Bearer $CLANKER_API_KEY"[ { "userId": "Us3NfP8kLq2V", "name": "Maya Patel", "email": "maya@acme.dev", "image": "https://images.clankertest.com/users/Us3NfP8kLq2V/profile-Ph8KcV2nRx4M.webp", "role": "owner", "joinedAt": "2026-10-01T16:20:00.000Z", "teams": [ "Web" ] }]Change a member's role
PATCH/Sets a member's role and records a member.role_changed event. Only owners and admins can change roles, and admins cannot change an owner's role or make anyone an owner. The last owner cannot be demoted.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
userIdstringRequiredThe member's user ID, such as Us9DcT4wHn6R.
Body parameters
rolestringRequiredThe member's new role: owner, admin, member or viewer.
owneradminmemberviewerReturns
Returns an object with these fields. Status 200.
okbooleanRequiredAlways true: the change was made.
trueErrors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X PATCH https://api.qa.clankership.net/v1/workspaces/acme/members/{userId} \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "role": "admin" }'{ "ok": true}Remove a member
DELETE/Removes the person from the workspace and its teams, and records a member.removed event. Only owners and admins can remove members, and admins cannot remove owners. Nobody can remove themselves or the last owner.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
userIdstringRequiredThe member's user ID, such as Us9DcT4wHn6R.
Returns
Returns an object with these fields. Status 200.
okbooleanRequiredAlways true: the change was made.
trueErrors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X DELETE https://api.qa.clankership.net/v1/workspaces/acme/members/{userId} \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "ok": true}List members with your role
GET/Returns the workspace's active members, plus your ID and role, so a client can tell which members you may manage. Any member can call it.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
Returns
Returns an object with these fields. Status 200.
userIdstringRequiredYour user ID, or the account API key's ID.
rolestringRequiredYour role in the workspace: owner, admin, member or viewer.
owneradminmemberviewerThe workspace's active members, sorted by name.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl https://api.qa.clankership.net/v1/workspaces/acme/people \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "userId": "Us3NfP8kLq2V", "role": "owner", "members": [ { "userId": "Us3NfP8kLq2V", "name": "Maya Patel", "email": "maya@acme.dev", "image": "https://images.clankertest.com/users/Us3NfP8kLq2V/profile-Ph8KcV2nRx4M.webp", "role": "owner", "joinedAt": "2026-10-01T16:20:00.000Z", "teams": [ "Web" ] } ]}