Skip to main content
PATCH
Update a user
Only the fields you send are changed — omitted fields stay untouched, and sending null clears a field.
For a user managed by an HRIS directory integration, name and org info come from the directory, so those fields are refused. The manager can only be changed together with manager_override: true, which stops the directory sync from overwriting it; sending manager_override: false hands the manager back to the directory.
Set a user’s org info and manager here before onboarding — onboarding requires the user to have a manager.

Authorizations

Authorization
string
header
required

Bearer token authentication. Pass your AccessOwl API token in the Authorization header as Bearer <token>.

Headers

Idempotency-Key
string

Optional key (1–255 chars) for safely retrying a request. Reusing the same key for the same request returns 409 Conflict and is not processed again — this confirms the request was already received. Keys are retained for 14 days.

Required string length: 1 - 255

Path Parameters

id
string<uuid>
required

User ID

Body

application/json

Update user parameters

Request body for updating a user. Omitted fields stay untouched; null clears a field. For a user managed by an HRIS directory integration, name and org-info fields are refused and a manager change requires manager_override.

departments
string[]

Departments the user belongs to

employment_type
enum<string> | null

Employment type

Available options:
full_time,
part_time,
contract,
freelance,
internship,
apprenticeship,
working_student,
training
first_name
string

First name

job_title
string | null

Job title

last_name
string

Last name

location_city
string | null

City location

manager_override
boolean

Only relevant for a user managed by an HRIS directory integration. true is required to change the manager and stops the directory sync from changing it; false hands the manager back to the directory.

manager_user_id
string<uuid> | null

Manager user ID. The user's own ID marks them as an executive, who reports to no one.

teams
string[]

Teams the user belongs to

Response

User updated

A user in the organization

email
string<email>
required

Email address

first_name
string
required

First name

id
string<uuid>
required

User ID

last_name
string
required

Last name

status
enum<string>
required

Current status

Available options:
active,
inactive,
onboarding,
onboarding_provisioning_planned,
offboarding,
offboarding_planned,
offboarded
deactivated_at
string<date-time> | null

Deactivation timestamp

departments
string[]

Departments the user belongs to

employment_type
enum<string> | null

Employment type

Available options:
full_time,
part_time,
contract,
freelance,
internship,
apprenticeship,
working_student,
training
full_name
string

Full name (computed)

inserted_at
string<date-time>

Creation timestamp

job_title
string | null

Job title

location_city
string | null

City location

manager_user_id
string<uuid> | null

Manager user ID

teams
string[]

Teams the user belongs to

updated_at
string<date-time>

Last update timestamp

Last modified on September 29, 2026