Bulk Update Workspace Member Roles

Update the role of multiple workspace members and invites in one request. An invite can be updated regardless of status — pending, declined, or expired. This answers `200` once the batch is applied, even when every item failed — a per-item problem is reported in `results` rather than failing the whole request. IDs are deduplicated before processing, so `results` can be shorter than the request; match a result back to your input by `id`, not by position. <Warning title="Enterprise Only">This endpoint requires an Enterprise workspace.</Warning> Required scope | `workspace_members:write` `role` and `defaultSiteRole` together decide what every id in the batch 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

Request

Requires at least one of `memberIds` or `inviteIds`. Their combined length is capped at 100. `role: reviewer` only pairs with `defaultSiteRole: reviewer`; any other pairing fails a member id with `invalid_workspace_role` and fails an invite id with `cannot_update_user_role`. On a Workspace not enrolled in Workspace Seats, moving a member (not an invite) to or from `reviewer` also fails with `cannot_update_user_role`, regardless of `defaultSiteRole`.
roleenumRequired
The Workspace Role to assign to every id in the batch
Allowed values:
defaultSiteRoleenumRequired
The default Site Role to assign to every id in the batch
memberIdslist of stringsOptional
IDs of active Members to update
inviteIdslist of stringsOptional
IDs of invites to update, regardless of status
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
summaryobject
Counts of updated and failed items
resultslist of objects

Result for each id. Match results to the request by id, not by position.

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