Skip to main content
POST
Create labeling job

Authorizations

Authorization
string
header
required

Create an API key in the console.

Headers

idempotency-key
string | null

Body

application/json
source_id
string
required
Pattern: ^src_[a-f0-9]{24}$
name
string | null
Required string length: 1 - 120
decisions
Decision · object[] | null
Required array length: 1 - 64 elements
teacher_models
enum<string>[]
Required array length: 1 - 2 elements
Available options:
kimi-k3,
glm-5.3
max_price_usd
string | null

The most you agree to pay for this job, in USD, such as the price you were shown. It is a decimal string, such as "2.500000000", never a JSON number, so no precision is lost: a number is refused with invalid_request, naming this field. If it costs more when it is admitted, it is refused with price_changed and nothing is held.

Pattern: ^\d{1,9}(\.\d{1,9})?$

Response

Successful Response

id
string
required
name
string
required
source_id
string
required
status
enum<string>
required

deleted: you deleted its source, and with it the queries and the teachers' answers. The job and its counts stay.

Available options:
queued,
running,
cancelling,
cancelled,
review_ready,
failed,
finalized,
discarded,
deleted
teacher_models
string[]
required
rows
integer
required
completed_rows
integer
required
valid_rows
integer
required
agreement_rows
integer
required
error_rows
integer
required
created_at
number
required
updated_at
number
required
price_usd
string
required

The job's fee, as exact USD: each of its teachers' price for a row, for every row.

charge
enum<string>
required

What the fee is doing: held while the job runs, charged once its labels are ready for review, released if it fails or is cancelled first.

Available options:
free,
reserved,
charged,
released
dataset_id
string | null
error
string | null