v1

latestOpenAPI 3.1.02026-07-261770816.7 KB
Users

Update user

Patch an existing user's profile fields. Only the keys included in the request body are modified; all other fields are left unchanged. Array assignments (office_ids, department_ids, interviewer_tag_ids) fully replace the existing set — pass an empty array to clear it. A primary_email update is only accepted when the new value is already a verified email address on the user's account. To toggle activation, site admin status, or job-level permissions, use the dedicated endpoints (activate, deactivate, revoke_permissions, /v3/user_job_permissions) rather than this one.

patch/v3/users/{id}

Path parameters

idinteger required

Request body

first_namestring
last_namestring
primary_emailstring email

New primary email for the user. Must already be a verified email address on the user's account — call the V1/V2 endpoint to add and verify a new email address before promoting it here.

job_titlestring

New job title for the user's Greenhouse profile.

employee_idstring

Partner-supplied external employee identifier (typically the user's HRIS or payroll id) to set on the user.

office_idsinteger[]

Greenhouse office ids to pin the user to. Replaces the user's current office assignments. Mutually exclusive with external_office_ids.

external_office_idsstring[]

External office identifiers (the offices' external_id) to pin the user to. Replaces the user's current office assignments. Mutually exclusive with office_ids.

department_idsinteger[]

Greenhouse department ids to pin the user to. Replaces the user's current department assignments. Mutually exclusive with external_department_ids.

external_department_idsstring[]

External department identifiers (the departments' external_id) to pin the user to. Replaces the user's current department assignments. Mutually exclusive with department_ids.

interviewer_tag_idsinteger[]

Ids of interviewer tags to apply to the user. Replaces the user's current set of interviewer tags.

Response

Successful

idinteger
created_atstring date-time
updated_atstring date-time
first_namestring nullable
last_namestring nullable
primary_emailstring

Primary email address on the user's account. Sign-in identifier and the address Greenhouse uses for outbound mail; additional verified addresses are not surfaced here. Service accounts (integration/ISU users) have no email and are excluded from this endpoint by default; when included via show_service_accounts=true, their primary_email is an empty string.

job_titlestring nullable

Free-form job title set on the user's Greenhouse profile (e.g. Senior Recruiter). Not synchronized with any HRIS title.

agency_idinteger nullable

Id of the staffing agency this user belongs to, when the user is an external agency recruiter rather than an employee of your organization. null for in-house users.

namestring nullable

Concatenation of first_name and last_name rendered as a single display string. Provided for convenience; partners that need either component should read first_name/last_name directly.

deactivatedboolean

Whether the user has been deactivated. Deactivated users cannot sign in or be assigned to new jobs, but their historical activity (notes, scorecards, emails) is preserved. Toggle via POST /v3/users/{id}/deactivate and POST /v3/users/{id}/activate.

site_adminboolean

Whether the user holds the Site Admin role. Site admins have unrestricted access to every non-confidential job and to organization-level settings. Demote a site admin to a Basic user with POST /v3/users/{id}/revoke_permissions.

employee_idstring nullable

Partner-supplied external employee identifier, typically the user's HRIS or payroll id. Free-form string; not unique across organizations and null when no employee id has been set.

linked_candidate_idsinteger[]

Ids of candidate records linked to this user. Populated when an employee is represented by both a user record (for Greenhouse access) and a candidate record (for past or internal applications).

office_idsinteger[]

Ids of the offices this user is assigned to. Used to scope future job permissions and to filter the user list by office. Empty when the user is not pinned to any office.

department_idsinteger[]

Ids of the departments this user is assigned to. Used to scope future job permissions and to filter the user list by department. Empty when the user is not pinned to any department.

emailsstring[]

All email addresses on the user's account, including the primary address and any additional verified addresses.

custom_fieldsobject nullable