Skip to main content
PATCH
Update Project User Role

Authorizations

Authorization
string
header
required

JWT in Authorization header. 'Bearer ' prefix optional.

Path Parameters

project_id
string<uuid>
required
user_id
string<uuid>
required

Body

application/json

API request schema for updating a user's role on a project.

Note: For MEMBER users, NO_ACCESS blocks their default project access. For MEMBER_LIMITED users, setting NO_ACCESS removes their explicit permission (equivalent to removing them from the project) since they have no access without it.

role
enum<string>
required

New role for the user (must be a project role: full_access, editor, commenter, downloader, viewer, no_access). Note: For MEMBER_LIMITED users, if the role is set to no_access and this is the user's last project with access in the workspace, the user will be removed from the workspace.

Available options:
owner,
member,
member_limited,
full_access,
editor,
commenter,
downloader,
viewer,
no_access

Response

Successful Response

API response schema for a user with project access.

id
string<uuid>
required

User ID

first_name
string
required

User's first name

last_name
string
required

User's last name

email
string
required

User's email address

role
enum<string>
required

User's effective role on this project

Available options:
owner,
member,
member_limited,
full_access,
editor,
commenter,
downloader,
viewer,
no_access
actions
integer
required

Permission bitmap derived from role

workspace_role
enum<string>
required

User's workspace role (for determining editability)

Available options:
owner,
member,
member_limited,
full_access,
editor,
commenter,
downloader,
viewer,
no_access
has_explicit_permission
boolean
required

True if user has explicit permission on this project

avatar_url
string | null

User's avatar URL

external_id
string | null

External user ID from auth provider (None for stub users)