Skip to main content
PUT
Update a project user: its name, properties, or r…

Authorizations

apiKey
string
query
required

apiKey MUST be supplied within the request body instead of query

Path Parameters

projectUserId
string<uuid>
required

PUT /v1/api/projects/:projectId/users/:projectUserId Parameter

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
projectId
string<uuid>
required

PUT /v1/api/projects/:projectId/users/:projectUserId Parameter

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

Body

application/json

PUT /v1/api/projects/:projectId/users/:projectUserId Request body

name
string
required
Minimum string length: 1
apiKey
string

Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.

Minimum string length: 1
Example:

"up_embed_************"

organizationId
string<uuid>

Your Upsolve organization's UUID — the org that owns the API key and project. This is NOT a project organization: do not pass a value registered via /projects/register-organization, and do not pass an externalId (only projectOrganizationId accepts those). Omit it when using an org-bound API key — the org is read from the key and any value sent here is ignored. Required only for user-scoped API keys (created under Account → Developer settings) and for the Supabase JWT path, where the org is ambiguous and membership is verified against it.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

properties
object

The user's properties, read by row-level security as {{user.<key>}}. Replaces the stored set. The same field register-user and embed-token call properties.

payload
object

Deprecated: the old name of properties, still accepted.

userRoleId
string<uuid> | null

The user's role, from GET /v1/api/projects/{projectId}/user-roles. null removes it, which leaves the user view-only. Takes effect on the user's next token.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
projectOrganizationId
string<uuid> | null
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

Response

PUT /v1/api/projects/:projectId/users/:projectUserId Positive response

status
string
required
Allowed value: "success"
data
object
required