Skip to main content
POST
Continue a family

Authorizations

Authorization
string
header
required

Create an API key in the console.

Headers

idempotency-key
string | null

Reuse the same key and body after a lost response. A replay returns the job that key queued, with Idempotency-Replayed: true. A changed body conflicts.

Path Parameters

family
string
required

Body

application/json

A family's next fine-tune, from its latest model on its dataset's newer rows.

hyperparameters
Hyperparameters · object
latest
string | null

The id of the family's latest model you saw, or null for none. If the family has moved on since, nothing is queued and the request is refused with family_changed.

Maximum string length: 140
dataset_version
integer | null

The version of the family's dataset to train on, its newest when left out. It trains on the rows added up to that version, which must be newer than the one the family's last finished job trained on, or the request is refused with no_new_data.

Required range: x >= 1
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
dataset_id
string
required
model
string
required
method
enum<string>
required
Available options:
sft,
reward
hyperparameters
ResolvedHyperparameters · object
required

What a job trains with, as its owner chose or the defaults gave it. The trainer's own settings stay on the server.

family
string | null
required

The family the job adds a model to.

family_deleted
boolean
required

True once you deleted that family. The job and its charge stay.

parent
string | null
required

The id of the model it trains from, or null from a base.

dataset_version
integer
required

The version of its dataset it trains on.

status
enum<string>
required
Available options:
queued,
running,
cancelling,
succeeded,
failed,
cancelled
outcome
enum<string> | null
required

How it ended for its family: its model joined the family with the next number, or failed its gate and is not kept for you, or the run failed or was cancelled, or a rollback discarded the model that joined. Only a failed run or a cancellation is free and leaves the data for another try. Null while it runs.

Available options:
joined,
gate_failed,
failed,
cancelled,
rolled_back
created_at
number
required
updated_at
number
required
output_model
string | null
required
metrics
Metrics · object | null
required

Evaluation groups and the gate, when complete.

error
required
progress
Progress · object | null
required
limits
Limits · object
required

max_questions: the most decisions a row of it may ask.

split
Split · object
required

train_rows and validation_rows, and trained_tokens: the training tokens the job trains, each decision of a row with the row's whole text, tokenized as input tokens are (an outcome at least 8, a row of n decisions at least 24 × n for each), each time a step takes the row. A priced fine-tune's fee is fine_tune_million_tokens_usd for them, at least fine_tune_minimum_usd.

lineage
Lineage · object | null
required
price_usd
string
required

The fee held for this job, as exact USD.

charge
enum<string>
required

What the fee is doing: held while the job runs, charged if it succeeds, released if it fails or is cancelled.

Available options:
free,
reserved,
charged,
released
dataset_evaluation
Evaluation · object | null
curve
CurvePoint · object[] | null

The training loss over steps, at most 300 points, each the means of a run of consecutive steps. Null until the job succeeds, or when its trainer kept none. Lists of jobs leave it out.

rows_deleted
boolean

True once a dataset whose rows its specification held was deleted: the job, its model and its metrics stay, but its held-out records are gone.