Skip to main content
POST
Start a GRPO run

Authorizations

Authorization
string
header
required

Your workspace API key, e.g. sk_sovereign_..., sent as Authorization: Bearer <key>.

Body

application/json

This body is camelCase (promptCount, rewardBudgetUsd), unlike the snake_case loop endpoints. Types and presence are validated at the route; numeric bounds live in the shared service, the same source of truth the dashboard uses.

reward
object
required

The validated reward. Agentic runs (environment set) require a trace-unit aligned criterion.

model
string
required

The base model to train.

promptCount
integer
required

How many logged prompts feed the run.

Required range: x >= 1
rewardBudgetUsd
number
required

Hard ceiling on judge/reward spend. The reward server refuses scoring calls past it (ledger-true kill switch).

gpuHourBudget
number
required

Wall-clock GPU budget, enforced by the orchestrator.

promptTag
string

Sample training prompts from traffic with this tag.

groupSize
integer

Completions sampled per prompt per step (the G in GRPO).

maxSteps
integer
useCandidateQueue
boolean

Train on the workspace's GRPO-candidate queue (prompts offline RAFT gave up on) instead of a tag sample.

platformGpu
object

Platform-provisioned GPU: rate and markup are frozen at start and billed hourly while ACTIVE. Omit for a BYO-GPU run (no GPU billing).

allowSideEffects
boolean
default:false

Agentic runs: permit calls to tools not declared read-only. Default false.

environment
object

Agentic mode: run episodes against the declared tool environment (see /v1/env/tools).

useVllm
boolean

vLLM colocated rollouts. Forced on for agentic runs.

vllmGpuMemoryUtilization
number
qlora
boolean
default:true

QLoRA 4-bit training.

paramsB
number

Parameter-count override for models whose name doesn't carry it.

autoProvision
boolean

The platform provisions the GPU box (auto-sized). Refused when platform provisioning isn't configured.

curriculumMixRatio
number

Candidate-queue runs: fraction of the training slice drawn from regular successful traffic.

Required range: 0 <= x <= 0.9
holdoutCount
integer

Holdout size for the bake-off; use 50+ for a real claim.

maxCompletionTokens
integer

Per-rollout generated-token budget. Agentic default 8192; single-turn 1024.

tasksInline
array

Task objects: {goal, image?, recorded?, verifier?: [{command, timeout_sec}]}. Max 10000. The unit of agentic work; benchmark suites import here.

Maximum array length: 10000
autoAdopt
object

Opt-in per run: an "improved" bake-off verdict triggers deploy, then a canary on this alias under the online gate.

anchor
object

Mid-run anchor. Every everySteps steps the trainer generates one completion per frozen anchor prompt; the server scores them with the run's reward and with the anchor judge corrected for its measured error. Reward rising while the anchor does not, or the anchor falling from its best, HOLDS the run (never kills it) and pins the best anchor checkpoint, which is what ships. A held run's reward calls answer 409 held until a person resumes it.

Response

Started. The run id appears in GET /v1/grpo/runs.

trigger_run_id
string

Internal orchestration handle.