Skip to main content
PATCH
Update user

Endpoint

Route: /users/{userId}
Authentication: Bearer JWT
Partial update with a flat JSON body (not { fields: { ... } }). At least one writable field is required.

Path parameters

Request body

Read-only (rejected if present)

id, email, calendars, archived, archived_by Unknown or read-only keys return 400.

Response

200 — Updated user object (same shape as get)

Errors

Authorizations

Authorization
string
header
required

Bearer JWT with valid account context.

Path Parameters

userId
string
required

User ID (UUID)

Body

application/json

Partial update body. At least one writable field is required. Unknown or read-only keys return 400.

full_name
string
first_name
string
last_name
string
phone
string
office_status
boolean
time_zone
string

IANA time zone (e.g. America/New_York)

external_id
string | null
working_hours
object[]

Working hour ranges (days, start_date, end_date as HH:mm)

out_office_dates
object[]

Only start_date and end_date are accepted per entry; extra keys are ignored

capacity
object[]
can_receive_notifications
boolean
notification_preferences
string[]
role_id
string

Role UUID that belongs to the authenticated account

Response

Updated user

Account member (user + member_account). Role is the display name string. Archived members include archived timestamp and archived_by.

id
string

User ID (UUID)

email
string
full_name
string | null
first_name
string | null
last_name
string | null
role
string

Role display name (read-only)

external_id
string | null
phone
string | null
office_status
boolean
working_hours
object[]

Working hour ranges. Empty array means available 24/7. Times are interpreted in time_zone.

Example:
out_office_dates
object[]
time_zone
string

IANA time zone

Example:

"America/New_York"

calendars
object

Active calendar configs keyed by provider to email

capacity
object[]
can_receive_notifications
boolean
notification_preferences
string[]
archived

false when active, or ISO timestamp when archived

archived_by
string

Present when archived