Skip to main content
PATCH
Patches any subset of fields on an unpublished draft and returns refreshed validation. This is the second half of the gap-filling loop: take each missing field’s updateKeys and enumValues from the create response, ask your human the prompt, and patch the answers. Repeat until validation.publishReady is true, then publish. The accepted keys and enum values are machine-discoverable at GET /job-drafts/capabilities (draft.updateKeys and draft.enums). Requirements: jobs:write scope + the public_api_job_drafting feature. The job must be an unpublished draft you own — to edit a live job use PATCH /jobs/{id}.

Request

string
required
The draft job ID from the create response.
The body is a JSON object with one or more draft fields. Unknown keys are rejected (400 with zod issue details). Commonly patched keys:
string
Job title.
string
Full description text.
string
PAY_PER_LABEL, PAY_PER_HOUR, or FIXED_PRICE. Pair with the matching rate field below.
number
Hourly rate in USD (for PAY_PER_HOUR).
number
Per-label rate in USD (for PAY_PER_LABEL).
number
Total fixed price in USD (for FIXED_PRICE).
string
EXPERT, ENTRY_LEVEL, INTERMEDIATE, or ANY_EXPERIENCE_LEVEL.
string
HOURS_OF_RECORDING_AUDIO_VIDEO, NUMBER_OF_FILES, NUMBER_OF_WORDS, or UNKNOWN_NOT_SPECIFIED.
string[]
Required languages.
string[]
Allowed countries.
string[]
Label/annotation types.
number
Number of AI trainers to hire.
number
Quantity of data, in dataVolumeUnit units.
The full key list also includes labelingOverview, datasetDescription, dataType, subjectMatter, labelingSoftware, aiInterviewRequirements, budgetRange, workloadDesc, timeRequirement, projectDuration, freelancerType, projectScope, visibility, and more — fetch draft.updateKeys from capabilities for the authoritative set. Enum fields must use the exact canonical values above.

Response

boolean
true on success.
string
The draft job ID.
string
Still DRAFT.
string
In-app URL of the draft editor.
object
Refreshed validation — same shape as the create response: publishReady, issueCount, missingFieldCount, missingFields[] (with prompt/type/enumValues/updateKeys), issues[].

Errors