For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Update a workspace member's role.
<Warning title="Enterprise Only">This endpoint requires an Enterprise workspace.</Warning>
Required scope | `workspace_members:write`
`role` and `defaultSiteRole` together decide what the member can do and what role the dashboard shows for them. Submit only one of the combinations below — the dashboard's own role picker never produces any other pairing.
| `role` | `defaultSiteRole` | Shown in the dashboard as |
|---|---|---|
| `admin` | `site_manager` | Admin |
| `member` | `site_manager` | Site manager |
| `member` | `designer` | Designer |
| `member` | `marketer` | Marketer |
| `member` | `content_editor` | Content editor |
| `member` | `custom` | The custom Site Role's own name. Requires `defaultSiteRoleId`. |
| `reviewer` | `reviewer` | Reviewer |
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
workspace_idstringRequiredformat: "objectid"
Unique identifier for a Workspace
member_idstringRequiredformat: "objectid"
Unique identifier for a Member
Request
`role: reviewer` only pairs with `defaultSiteRole: reviewer`; any other pairing fails with `invalid_workspace_role`. On a Workspace not enrolled in Workspace Seats, moving a Member to or from `reviewer` fails with `cannot_update_user_role` regardless of `defaultSiteRole`.
roleenumRequired
The Workspace Role to assign
Allowed values:
defaultSiteRoleenumRequired
The Member’s default Site Role. Required on every request — unlike the dashboard’s own role editor, this endpoint never derives it from the Member’s current role.
defaultSiteRoleIdstringOptionalformat: "objectid"
ID of the custom Site Role named by defaultSiteRole. Requires defaultSiteRole to be custom, and rejected with any other defaultSiteRole. Rejected if the id doesn’t name a custom Site Role belonging to this workspace.
Response
Request was successful
idstringformat: "objectid"
Unique identifier for the Member
rolesobject
Roles the Member holds
addedOnstring or nullformat: "date-time"
When the Member most recently joined the Workspace. Not “member since”: removing and re-adding a Member (including a support restore) reports the re-add, and a role change does not update it. For a Member who joined by invite, this is when they accepted, not when the invite was sent. null when unknown.
emailstringOptional
Email address of the Member
firstNamestringOptional
First name of the Member
lastNamestringOptional
Last name of the Member
Errors
400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
Update a workspace member’s role.
Enterprise Only
This endpoint requires an Enterprise workspace.
Required scope | workspace_members:write
role and defaultSiteRole together decide what the member can do and what role the dashboard shows for them. Submit only one of the combinations below — the dashboard’s own role picker never produces any other pairing.
role
defaultSiteRole
Shown in the dashboard as
admin
site_manager
Admin
member
site_manager
Site manager
member
designer
Designer
member
marketer
Marketer
member
content_editor
Content editor
member
custom
The custom Site Role’s own name. Requires defaultSiteRoleId.
reviewer
reviewer
Reviewer
role: reviewer only pairs with defaultSiteRole: reviewer; any other pairing fails with invalid_workspace_role. On a Workspace not enrolled in Workspace Seats, moving a Member to or from reviewer fails with cannot_update_user_role regardless of defaultSiteRole.