Update Workspace User Role
Update a user’s role in a workspace.
This works for both full users and stub users.
Business Rules:
- Only workspace owners (ADMIN) can change user roles
- Users cannot change their own role
- Workspace must always have at least one owner
- When promoting to owner: deletes all explicit project permissions (no longer needed)
- When demoting from owner: no automatic project permissions created
Role Conversion Logic:
- MEMBER_LIMITED -> MEMBER:
- If keep_explicit_permissions is False: delete all explicit project permissions
- If keep_explicit_permissions is True or None (default): keep permissions as overrides
- MEMBER -> MEMBER_LIMITED:
- Always keeps explicit project permissions (they become user’s only access)
Authorizations
JWT in Authorization header. 'Bearer ' prefix optional.
Body
API request schema for updating a user's role in a workspace.
When converting MEMBER_LIMITED -> MEMBER:
- keep_explicit_permissions=True (default): Keep explicit project permissions as overrides
- keep_explicit_permissions=False: Delete all explicit project permissions, use defaults only
When converting MEMBER -> MEMBER_LIMITED:
- Explicit project permissions are always kept (they become user's only access)
New role for the user (must be a workspace role: owner, member, member_limited)
owner, member, member_limited, full_access, editor, commenter, downloader, viewer, no_access Only used when converting MEMBER_LIMITED -> MEMBER. If True or None (default), keeps explicit project permissions as overrides. If False, deletes all explicit permissions.
Response
Successful Response
API response schema for a workspace user.
User ID
User's first name
User's last name
User's email address
User's workspace role
owner, member, member_limited, full_access, editor, commenter, downloader, viewer, no_access Permission bitmap derived from role
User's avatar URL
External user ID from auth provider (None for stub users)
Count of explicit project permissions in the workspace
Count of accessible projects (MEMBER users only)

