Skip to main content
POST
Start a family

Authorizations

Authorization
string
header
required

Create an API key in the console. Required when accounts are enabled.

Headers

idempotency-key
string | null

Body

application/json

A new family's first fine-tune, from a base or one of your models.

dataset_id
string
required
Pattern: ^ds_[a-f0-9]{24}$
family
string
required

The new family's name: lowercase letters and digits, with single hyphens between them, 2 to 63 characters. A name already taken is refused with family_exists.

Maximum string length: 63
Pattern: ^[a-z](?:-?[a-z0-9]){1,62}$
from
string
default:sqwish-d1-core

Where the family starts: a base model that can be fine-tuned, or one of your models as family@N, which it trains from on that model's base. Left out, Core.

Required string length: 1 - 140
method
enum<string>
default:sft
Available options:
sft,
reward
hyperparameters
Hyperparameters · object
max_price_usd
string | null

The most you agree to pay for this job, in USD, such as the price you were shown. 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
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
attempts
integer
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
split
Split · object
required
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.