Skip to main content

Update User

PUT 

/api/users/:user

Updates an existing user. The is_admin field can only be set by admin users.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Tenant scoping: Returns 404 if the user is not a member of the current tenant. Closes a privilege-escalation hole where any tenant admin could otherwise mutate any user system-wide by guessing IDs.

is_admin propagation: when provided, this flag is mirrored to the tenant_users pivot row for the current tenant (the per-tenant source of truth) and also written to the central users columns (for legacy readers). Without this mirror, an admin elevated in one tenant would silently become admin in every tenant they're attached to.

Authentication: Requires Bearer token.

Fields (all optional):

  • name (optional, max:255) — User's full name
  • email (optional, email, max:255, unique) — User's email address. Must not belong to any other user, including deactivated users; a taken address returns 422.
  • is_admin (optional, boolean) — Admin privileges (only settable by admins)

Requires permission: users.update

is_admin is applied only when the caller is an admin; otherwise it is ignored. When name is sent it must not be empty — sending null returns 422.

Request​

Responses​

OK

Response Headers
    Content-Type