Skip to main content
POST
Create training job

Authorizations

Authorization
string
header
required

API key with the vk_ prefix. Create one from the dashboard.

Body

application/json
output_name
string
required
gpu
object
required
job_type
string
base_model
string | null
dataset_id
string | null

Dataset reference: a dataset id or name, optionally pinned to a snapshot — ds_…@snap-3 trains on that snapshot, ds_…@latest cuts (or reuses) a snapshot at the current head and pins it. A plain reference to a stream dataset behaves like @latest; a plain reference to a one-shot upload trains on it as before.

script
null | object

The BYO-script payload. Persisted verbatim as TrainingJob.script_config_json and read back by the worker launch path (forward contract).

reward_source
string | null

Inline reward source (Python text, TRL signature). Attached to the job at submit and stored job-scoped; there is no stored reward resource.

reward_sources
string[] | null
reward_weights
number<double>[] | null
method
string
hyperparameters
any
provider
string | null
checkpoint_destination
null | object
hf_push
null | object

Push the trained artifact to your Hugging Face account when the job completes. Requires a connected HF integration (PUT /v1/settings/integrations/huggingface). Validated at submit: managed grpo/grpo_harness/sft_text/dpo jobs only, and artifact="adapter" needs hyperparameters.lora_rank. On success the job carries hf_repo_url.

environments
object | null
requires_heartbeat
boolean
volume
string | null
region
string | null
num_nodes
integer<int32>

Response

The created training job

object
string
required
id
string
required
status
enum<string>
required
Available options:
queued,
provisioning,
configuring,
running,
completed,
failed,
cancelled
method
string
required
output_name
string
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
base_model
string | null
dataset_id
string | null
dataset_snapshot_id
string | null

The dataset snapshot this job was pinned to at submit ("<dataset_id>@snap-N"); set when dataset_id was given as …@snap-N or …@latest (or names a stream dataset). Null for legacy submits.

reward_count
integer<int32> | null

How many inline reward sources the job was submitted with (null for reward-free methods). Sources are viewable per job via the dashboard.

hyperparameters
object

Harness-in-the-loop GRPO (VS-372): the user's own agent harness (Claude Agent SDK / LangChain / OpenAI Agents SDK) drives multi-turn rollouts against the in-training policy. Shares GRPO's core knobs; the harness-specific ones tune rollout execution and the colocated vLLM policy server. The harness code itself arrives via the job's script payload (same shape as custom_script).

base_image
string | null
entrypoint
string | null
gpu
null | object

Pydantic GPUInfo (with type field). Rust uses gpu_type internally but serializes as "type" for JSON parity.

gpu_requested
null | object

Pydantic GPUInfo (with type field). Rust uses gpu_type internally but serializes as "type" for JSON parity.

provider
string | null
region
string | null
num_nodes
integer<int32>
error
null | object
dashboard_url
string | null
download_url
string | null
wandb_run_url
string | null
hf_push
null | object

The hf_push request echoed back (null when the job didn't opt in).

hf_repo_url
string | null

Set after a successful end-of-training push to Hugging Face; the pushed repo's URL (mirrors wandb_run_url).

current_step
integer<int32> | null
total_steps
integer<int32> | null
current_loss
number<double> | null
cost_usd
number<double> | null
duration_seconds
number<double> | null
started_at
string<date-time> | null
completed_at
string<date-time> | null