Skip to navigation

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.

Enterprise Only
This endpoint requires an Enterprise workspace.

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.

roledefaultSiteRoleShown in the dashboard as
adminsite_managerAdmin
membersite_managerSite manager
memberdesignerDesigner
membermarketerMarketer
membercontent_editorContent editor
membercustomThe custom Site Role’s own name. Requires defaultSiteRoleId.
reviewerreviewerReviewer

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. Find it with List Workspaces (workspace API tokens and Data Client apps), or with authorization.authorizedTo.workspaceIds from Get Authorization Info. With a site token, read workspaceId from Get Site.

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