Skip to main content
PATCH
Update job

Authorizations

Authorization
string
header
required

Authenticate with a Bearer token: API key, OAuth token, or session token.

Path Parameters

id
string
required

Job ID

Body

application/json
title
string

New job title.

Minimum string length: 1
job_description
string

Plain-text job description. Replaces the existing description returned by job detail, list, and search responses.

location
string | null

Job location (e.g. "San Francisco, CA"). Pass null to clear.

job_status_id
string<uuid>

Job status UUID. Get valid IDs from GET /v1/jobs/statuses.

currency_code
string | null

ISO 4217 currency code (e.g. "USD").

Pattern: ^[A-Z]{3}$
salary_min
integer | null

Minimum annual salary. Pass null to clear the salary range.

Required range: x >= 0
salary_max
integer | null

Maximum annual salary. Pass null to clear the salary range.

Required range: x >= 0
salary_range
string | null

Salary range as a single number ("120000") or a dash-separated range ("80000-120000"). Parsed into the same structured range as salary_min/salary_max. Pass null to clear. Cannot be combined with salary_min or salary_max in the same request.

Maximum string length: 50
salary_details
string | null

Free-text salary details that complement the structured range (e.g. "+ 0.5% equity"). Max 500 characters. Pass null to clear.

Maximum string length: 500
billing_contact_name
string | null

Name of the client-side billing contact (max 255 characters). Pass null to clear.

Maximum string length: 255
billing_contact_email
string<email> | null

Email of the client-side billing contact. Must be a valid email. Pass null to clear.

Maximum string length: 255
deal_ids
string<uuid>[]

Deal UUIDs to link to this job. Replaces ALL existing links in the deal_jobs join table. Pass an empty array to remove every linked deal. Omit the field to leave links unchanged. Max 50 deals per request.

Maximum array length: 50
client_contact_ids
string<uuid>[]

Client contact UUIDs to assign to this job. Replaces ALL contacts currently on the job. Pass an empty array to remove every contact, or omit the field to leave them unchanged. Max 50 per request.

Maximum array length: 50
fee
number | null

Placement fee amount. Pass null to clear.

Required range: x >= 0
firm_commission_percent
number | null

Firm commission percentage (0–100).

Required range: 0 <= x <= 100
primary_url
string<uri> | null

Primary job posting URL. Pass null to clear.

job_function
string | null

Department/function (e.g. "Engineering"). Pass null to clear.

open_date
string | null

Job opening date (YYYY-MM-DD).

Pattern: ^\d{4}-\d{2}-\d{2}$
end_date
string | null

Target close date (YYYY-MM-DD).

Pattern: ^\d{4}-\d{2}-\d{2}$
is_archived
boolean

Set true to archive the job, false to unarchive.

custom_fields
object[]

Custom field values to update. Get attribute definitions from GET /v1/custom-fields/jobs. For select fields, pass the tag NAME or the tag option UUID returned in that definition.

Response

Job updated

success
enum<boolean>
required
Available options:
true
data
object
required