{
"error": {
"message": "Insufficient balance: deploying this endpoint requires at least 1h of runway. Top up and try again.",
"type": "insufficient_quota",
"code": "insufficient_balance"
}
}
Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.
{
"error": {
"message": "Insufficient balance: deploying this endpoint requires at least 1h of runway. Top up and try again.",
"type": "insufficient_quota",
"code": "insufficient_balance"
}
}
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.
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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"errorbar","colors":{"primary":"#3f7d39","light":"#3bd495","dark":"#2f5e2a"},"logo":{"light":"https://mintcdn.com/omnia-9828cd09/dR-r1msnM4tGAtp4/logo/light.svg?fit=max\u0026auto=format\u0026n=dR-r1msnM4tGAtp4\u0026q=85\u0026s=0a8e72505cf8b9297d6df70ae03e61f1","dark":"https://mintcdn.com/omnia-9828cd09/dR-r1msnM4tGAtp4/logo/dark.svg?fit=max\u0026auto=format\u0026n=dR-r1msnM4tGAtp4\u0026q=85\u0026s=f68c0d824584773dfd066ad0a450f930"},"favicon":"https://mintcdn.com/omnia-9828cd09/dR-r1msnM4tGAtp4/favicon.svg?fit=max\u0026auto=format\u0026n=dR-r1msnM4tGAtp4\u0026q=85\u0026s=cb75d200c189cf8c0f5c83af1e8bb3b3","navbar":{"links":[{"href":"https://www.errorbar.ai/sign-up","label":"Sign up"}]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"omnia-9828cd09","hasAudioNarration":false,"actualSubdomain":"omnia-9828cd09","customDomains":["docs.errorbar.ai"],"gitSource":{"type":"github","owner":"matiyas-h","repo":"omnia-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"b1fec96f-b9e8-4f8d-8036-90b4f2784b52","liveDeploymentHistoryId":"6aa66951a2a95f72566e8b62","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aa66951a2a95f72566e8b62"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aa66951a2a95f72566e8b62","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":99},{"language":"default","tag":"Documentation","count":53},{"language":"default","tag":"Judges (criteria) API","count":16},{"language":"default","tag":"Evals API","count":13},{"language":"default","tag":"Platform","count":12},{"language":"default","tag":"Run at scale","count":11},{"language":"default","tag":"Certified reward API","count":10},{"language":"default","tag":"Improve","count":9},{"language":"default","tag":"Reinforcement learning API","count":9},{"language":"default","tag":"Fine-tuning API","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/reinforcement-learning/start-a-grpo-run","slug":"/api-reference/reinforcement-learning/start-a-grpo-run","pageMetadata":{"title":"Start a GRPO run","description":"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/grpo/runs","href":"/api-reference/reinforcement-learning/start-a-grpo-run","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Start a GRPO run","description":"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/grpo/runs","href":"/api-reference/reinforcement-learning/start-a-grpo-run","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Reinforcement learning"],"summary":"Start a GRPO run","description":"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.","operationId":"startGrpoRun","requestBody":"b483dae9-aee3-4518-bc6d-a1e1fd6e84ce","responses":{"201":"3faa482c-1006-4c01-89f6-2feecf17c6db","400":"0588b09f-690f-49c0-b108-cf6270c8549f","401":"79e80dce-0650-4926-bbd8-1ae482d9e9a5","402":"978fb5b2-ce1e-4db6-81fb-4430e6fd6bde","403":"cfced776-a6b4-4b1b-bb09-f902d1a99578","429":"76d061d7-9259-4194-9097-c84393f8f828"},"method":"post","type":"path","servers":["7225afda-fbb9-43d7-bb56-160196b3872f","a0fa1f4b-c484-4da1-9eb0-0d3cf3ec20d1"],"security":["d7249d09-10f7-465d-b688-3db83ef725e0"],"path":"/v1/grpo/runs","baseUrlOptions":["https://gateway.errorbar.ai","https://www.errorbar.ai/api"],"title":"Start a GRPO run","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"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.","required":["reward","model","promptCount","rewardBudgetUsd","gpuHourBudget"],"properties":{"reward":{"type":"object","description":"The validated reward. Agentic runs (environment set) require a trace-unit aligned criterion.","required":["mode"],"properties":{"mode":{"type":"string","enum":["single","compositional"],"isRequired":true,"uniqueKey":"reward.mode","typeLabel":"enum\u003cstring>"},"criterionId":{"type":"string","description":"mode single: the criterion whose judge scores rollouts. Unaligned or drift-flagged judges are refused: a reward you can't trust trains a model you can't trust.","uniqueKey":"reward.criterionId","typeLabel":"string"},"criterionIds":{"type":"array","description":"mode compositional: the criteria whose judges combine into the reward.","items":{"type":"string","uniqueKey":"reward.criterionIds.items.[INDEX]","typeLabel":"string"},"uniqueKey":"reward.criterionIds","typeLabel":"string[]"},"assertions":{"type":"array","description":"mode compositional: optional deterministic checks mixed into the reward.","uniqueKey":"reward.assertions","typeLabel":"array"}},"isRequired":true,"uniqueKey":"reward","typeLabel":"object"},"model":{"type":"string","description":"The base model to train.","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"promptCount":{"type":"integer","description":"How many logged prompts feed the run.","minimum":1,"isRequired":true,"uniqueKey":"promptCount","typeLabel":"integer"},"rewardBudgetUsd":{"type":"number","description":"Hard ceiling on judge/reward spend. The reward server refuses scoring calls past it (ledger-true kill switch).","isRequired":true,"uniqueKey":"rewardBudgetUsd","typeLabel":"number"},"gpuHourBudget":{"type":"number","description":"Wall-clock GPU budget, enforced by the orchestrator.","isRequired":true,"uniqueKey":"gpuHourBudget","typeLabel":"number"},"promptTag":{"type":"string","description":"Sample training prompts from traffic with this tag.","uniqueKey":"promptTag","typeLabel":"string"},"groupSize":{"type":"integer","description":"Completions sampled per prompt per step (the G in GRPO).","uniqueKey":"groupSize","typeLabel":"integer"},"maxSteps":{"type":"integer","uniqueKey":"maxSteps","typeLabel":"integer"},"useCandidateQueue":{"type":"boolean","description":"Train on the workspace's GRPO-candidate queue (prompts offline RAFT gave up on) instead of a tag sample.","uniqueKey":"useCandidateQueue","typeLabel":"boolean"},"platformGpu":{"type":"object","description":"Platform-provisioned GPU: rate and markup are frozen at start and billed hourly while ACTIVE. Omit for a BYO-GPU run (no GPU billing).","required":["gpuType","region"],"properties":{"gpuType":{"type":"string","isRequired":true,"uniqueKey":"platformGpu.gpuType","typeLabel":"string"},"region":{"type":"string","isRequired":true,"uniqueKey":"platformGpu.region","typeLabel":"string"},"gpuCount":{"type":"integer","uniqueKey":"platformGpu.gpuCount","typeLabel":"integer"}},"uniqueKey":"platformGpu","typeLabel":"object"},"allowSideEffects":{"type":"boolean","description":"Agentic runs: permit calls to tools not declared read-only. Default false.","default":false,"uniqueKey":"allowSideEffects","typeLabel":"boolean"},"environment":{"type":"object","description":"Agentic mode: run episodes against the declared tool environment (see /v1/env/tools).","required":["proxy_base_url"],"properties":{"proxy_base_url":{"type":"string","isRequired":true,"uniqueKey":"environment.proxy_base_url","typeLabel":"string"},"max_steps":{"type":"integer","uniqueKey":"environment.max_steps","typeLabel":"integer"},"simulate":{"type":"boolean","uniqueKey":"environment.simulate","typeLabel":"boolean"}},"uniqueKey":"environment","typeLabel":"object"},"useVllm":{"type":"boolean","description":"vLLM colocated rollouts. Forced on for agentic runs.","uniqueKey":"useVllm","typeLabel":"boolean"},"vllmGpuMemoryUtilization":{"type":"number","uniqueKey":"vllmGpuMemoryUtilization","typeLabel":"number"},"qlora":{"type":"boolean","description":"QLoRA 4-bit training.","default":true,"uniqueKey":"qlora","typeLabel":"boolean"},"paramsB":{"type":"number","description":"Parameter-count override for models whose name doesn't carry it.","uniqueKey":"paramsB","typeLabel":"number"},"autoProvision":{"type":"boolean","description":"The platform provisions the GPU box (auto-sized). Refused when platform provisioning isn't configured.","uniqueKey":"autoProvision","typeLabel":"boolean"},"curriculumMixRatio":{"type":"number","description":"Candidate-queue runs: fraction of the training slice drawn from regular successful traffic.","minimum":0,"maximum":0.9,"uniqueKey":"curriculumMixRatio","typeLabel":"number"},"holdoutCount":{"type":"integer","description":"Holdout size for the bake-off; use 50+ for a real claim.","uniqueKey":"holdoutCount","typeLabel":"integer"},"maxCompletionTokens":{"type":"integer","description":"Per-rollout generated-token budget. Agentic default 8192; single-turn 1024.","uniqueKey":"maxCompletionTokens","typeLabel":"integer"},"tasksInline":{"type":"array","description":"Task objects: {goal, image?, recorded?, verifier?: [{command, timeout_sec}]}. Max 10000. The unit of agentic work; benchmark suites import here.","maxItems":10000,"uniqueKey":"tasksInline","typeLabel":"array"},"autoAdopt":{"type":"object","description":"Opt-in per run: an \"improved\" bake-off verdict triggers deploy, then a canary on this alias under the online gate.","required":["aliasName","gpuType","region"],"properties":{"aliasName":{"type":"string","maxLength":120,"isRequired":true,"uniqueKey":"autoAdopt.aliasName","typeLabel":"string"},"gpuType":{"type":"string","isRequired":true,"uniqueKey":"autoAdopt.gpuType","typeLabel":"string"},"region":{"type":"string","isRequired":true,"uniqueKey":"autoAdopt.region","typeLabel":"string"},"canaryPercent":{"type":"integer","minimum":1,"maximum":50,"uniqueKey":"autoAdopt.canaryPercent","typeLabel":"integer"},"templateFlavor":{"type":"string","uniqueKey":"autoAdopt.templateFlavor","typeLabel":"string"}},"uniqueKey":"autoAdopt","typeLabel":"object"},"anchor":{"type":"object","required":["criterionId"],"properties":{"criterionId":{"type":"string","description":"An INDEPENDENT calibrated judge — a different model or prompt from every reward judge, aligned to the 90% bar, not drift-flagged, same unit.","isRequired":true,"uniqueKey":"anchor.criterionId","typeLabel":"string"},"promptCount":{"type":"integer","description":"Anchor prompts carved from the holdout (20–500, default 50). holdoutCount must be at least this.","uniqueKey":"anchor.promptCount","typeLabel":"integer"},"everySteps":{"type":"integer","description":"Re-check cadence in optimizer steps (default 20).","uniqueKey":"anchor.everySteps","typeLabel":"integer"}},"description":"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.","uniqueKey":"anchor","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"reward":{"criterionId":"\u003cstring>","criterionIds":["\u003cstring>"],"assertions":"\u003carray>"},"model":"\u003cstring>","promptCount":2,"rewardBudgetUsd":123,"gpuHourBudget":123,"promptTag":"\u003cstring>","groupSize":123,"maxSteps":123,"useCandidateQueue":true,"allowSideEffects":false,"useVllm":true,"vllmGpuMemoryUtilization":123,"qlora":true,"paramsB":123,"autoProvision":true,"curriculumMixRatio":0.45,"holdoutCount":123,"maxCompletionTokens":123,"tasksInline":"\u003carray>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3faa482c-1006-4c01-89f6-2feecf17c6db":{"description":"Started. The run id appears in GET /v1/grpo/runs.","content":{"application/json":{"schema":{"type":"object","properties":{"trigger_run_id":{"type":"string","description":"Internal orchestration handle.","uniqueKey":"trigger_run_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"trigger_run_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0588b09f-690f-49c0-b108-cf6270c8549f":{"description":"Invalid body (the error names the field), unvalidated reward, or an unusable configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"invalid_request_error, insufficient_quota, rate_limit_error, or api_error.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Machine-stable cause, e.g. invalid_api_key, not_found, insufficient_permissions, precondition_failed.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"required":["message","type","code"],"uniqueKey":"error","typeLabel":"object"}},"description":"Every refusal — gateway and management API alike — uses this one envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"\u003cstring>","type":"\u003cstring>","code":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"79e80dce-0650-4926-bbd8-1ae482d9e9a5":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"invalid_request_error, insufficient_quota, rate_limit_error, or api_error.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Machine-stable cause, e.g. invalid_api_key, not_found, insufficient_permissions, precondition_failed.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"required":["message","type","code"],"uniqueKey":"error","typeLabel":"object"}},"description":"Every refusal — gateway and management API alike — uses this one envelope.","uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Invalid API key","type":"invalid_request_error","code":"invalid_api_key"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Invalid API key","type":"invalid_request_error","code":"invalid_api_key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"978fb5b2-ce1e-4db6-81fb-4430e6fd6bde":{"description":"Your wallet can't cover the required prepaid runway.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"invalid_request_error, insufficient_quota, rate_limit_error, or api_error.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Machine-stable cause, e.g. invalid_api_key, not_found, insufficient_permissions, precondition_failed.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"required":["message","type","code"],"uniqueKey":"error","typeLabel":"object"}},"description":"Every refusal — gateway and management API alike — uses this one envelope.","uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Insufficient balance: deploying this endpoint requires at least 1h of runway. Top up and try again.","type":"insufficient_quota","code":"insufficient_balance"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Insufficient balance: deploying this endpoint requires at least 1h of runway. Top up and try again.","type":"insufficient_quota","code":"insufficient_balance"}}}},"exampleType":"examples"}},"exampleType":"examples"},"cfced776-a6b4-4b1b-bb09-f902d1a99578":{"description":"The key lacks the required owner/admin permission.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"invalid_request_error, insufficient_quota, rate_limit_error, or api_error.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Machine-stable cause, e.g. invalid_api_key, not_found, insufficient_permissions, precondition_failed.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"required":["message","type","code"],"uniqueKey":"error","typeLabel":"object"}},"description":"Every refusal — gateway and management API alike — uses this one envelope.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"\u003cstring>","type":"\u003cstring>","code":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"76d061d7-9259-4194-9097-c84393f8f828":{"description":"Abuse guard tripped on a money-creating endpoint (default 20 requests per 60s per workspace). The body is a flat {\"error\", \"type\": \"rate_limit_error\"} object and the Retry-After header says when to retry.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"type":{"type":"string","uniqueKey":"type","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d7249d09-10f7-465d-b688-3db83ef725e0":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your workspace API key, e.g. `sk_sovereign_...`, sent as `Authorization: Bearer \u003ckey>`.","scopes":[]}}},"servers":{"7225afda-fbb9-43d7-bb56-160196b3872f":{"url":"https://gateway.errorbar.ai","description":"Production"},"a0fa1f4b-c484-4da1-9eb0-0d3cf3ec20d1":{"url":"https://www.errorbar.ai/api","description":"Control plane (also served at this base URL)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your workspace API key, e.g. `sk_sovereign_...`, sent as `Authorization: Bearer \u003ckey>`.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your workspace API key, e.g. `sk_sovereign_...`, sent as `Authorization: Bearer \u003ckey>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"omnia-9828cd09","siteName":"errorbar","title":"Start a GRPO run - errorbar","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-13T09:14:07.126Z","originalFileLocation":"api-reference/reinforcement-learning/start-a-grpo-run.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"errorbar\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Start a GRPO run - errorbar\">\u003cmeta data-mint-head property=\"og:description\" content=\"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"errorbar\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://omnia-9828cd09.mintlify.app/_mintlify/api/og/v2?division=Reinforcement+learning+API\u0026amp;title=Start+a+GRPO+run\u0026amp;description=Start+an+online-RL+run+with+a+validated+reward+and+hard+budgets.+Requires+an+owner%2Fadmin+key.+Refusals+are+explicit%3A+unaligned+or+drift-flagged+reward+judges%2C+a\u0026amp;theme=4890a253571116e8d6e1ff75\u0026amp;signature=95915baecea5537d22f70bcea05f000d54b160796b4670b4c5ff26bc8649a09f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Start a GRPO run - errorbar\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://omnia-9828cd09.mintlify.app/_mintlify/api/og/v2?division=Reinforcement+learning+API\u0026amp;title=Start+a+GRPO+run\u0026amp;description=Start+an+online-RL+run+with+a+validated+reward+and+hard+budgets.+Requires+an+owner%2Fadmin+key.+Refusals+are+explicit%3A+unaligned+or+drift-flagged+reward+judges%2C+a\u0026amp;theme=4890a253571116e8d6e1ff75\u0026amp;signature=95915baecea5537d22f70bcea05f000d54b160796b4670b4c5ff26bc8649a09f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/omnia-9828cd09/ubKwIdVYRFtlXDaF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"errorbar\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f7d39\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/reinforcement-learning/start-a-grpo-run.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.errorbar.ai/#organization\",\"name\":\"errorbar\",\"url\":\"https://docs.errorbar.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/omnia-9828cd09/dR-r1msnM4tGAtp4/logo/light.svg?fit=max\u0026auto=format\u0026n=dR-r1msnM4tGAtp4\u0026q=85\u0026s=0a8e72505cf8b9297d6df70ae03e61f1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.errorbar.ai#website\",\"name\":\"errorbar\",\"url\":\"https://docs.errorbar.ai\",\"publisher\":{\"@id\":\"https://docs.errorbar.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run#webpage\",\"url\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run\",\"name\":\"Start a GRPO run\",\"description\":\"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\",\"dateModified\":\"2026-09-13T09:14:07.126Z\",\"isPartOf\":{\"@id\":\"https://docs.errorbar.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reinforcement learning API\",\"item\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/list-grpo-runs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Start a GRPO run\",\"item\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run#apireference\",\"headline\":\"Start a GRPO run\",\"name\":\"Start a GRPO run\",\"description\":\"Start an online-RL run with a validated reward and hard budgets. Requires an owner/admin key. Refusals are explicit: unaligned or drift-flagged reward judges, a prompt population below the floor, missing platform-GPU configuration, or insufficient balance. The reward budget is enforced ledger-true: the reward server refuses scoring calls past it.\",\"url\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run\",\"mainEntityOfPage\":{\"@id\":\"https://docs.errorbar.ai/api-reference/reinforcement-learning/start-a-grpo-run#webpage\"},\"dateModified\":\"2026-09-13T09:14:07.126Z\",\"publisher\":{\"@id\":\"https://docs.errorbar.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.errorbar.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"errorbar\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"errorbar","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-reference/introduction"}]},{"group":"Inference API","pages":[{"title":"Create chat completion","deprecated":null,"version":null,"openapi":"/openapi-inference.json post /chat/completions","href":"/api-reference/chat/create-chat-completion"},{"title":"Create embeddings","deprecated":null,"version":null,"openapi":"/openapi-inference.json post /embeddings","href":"/api-reference/embeddings/create-embeddings"},{"title":"Rerank documents","deprecated":null,"version":null,"openapi":"/openapi-inference.json post /rerank","href":"/api-reference/rerank/rerank-documents"},{"title":"Create a response","deprecated":null,"version":null,"openapi":"/openapi-inference.json post /responses","href":"/api-reference/responses/create-a-response"},{"title":"List models","deprecated":null,"version":null,"openapi":"/openapi-inference.json get /models","href":"/api-reference/models/list-models"}]},{"group":"Capture \u0026 setup API","pages":[{"title":"OTLP trace ingest","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/traces","href":"/api-reference/otlp-trace-ingest"},{"title":"Setup status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/setup/status","href":"/api-reference/setup-status"}]},{"group":"Logs \u0026 datasets API","pages":[{"title":"List logged exchanges","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/logs","href":"/api-reference/logs/list-logged-exchanges"},{"title":"Export logged exchanges as JSONL","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/logs/export","href":"/api-reference/logs/export-logged-exchanges-as-jsonl"},{"title":"Import graded traffic","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/logs/import","href":"/api-reference/logs/import-graded-traffic"},{"title":"Get an agent run / grouped conversation","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/traces/{trace_id}","href":"/api-reference/get-an-agent-run-grouped-conversation"},{"title":"Create a dataset from logs","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/datasets/from_logs","href":"/api-reference/logs/create-a-dataset-from-logs"},{"title":"Check texts for benchmark contamination","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/datasets/decontaminate","href":"/api-reference/logs/check-texts-for-benchmark-contamination"}]},{"group":"Grades (labels) API","pages":[{"title":"List trace labels","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/labels","href":"/api-reference/labels/list-trace-labels"},{"title":"Label a trace","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/labels","href":"/api-reference/labels/label-a-trace"},{"title":"List label sets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/label_sets","href":"/api-reference/labels/list-label-sets"},{"title":"Create a label set","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/label_sets","href":"/api-reference/labels/create-a-label-set"},{"title":"Attach a label set","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/label_sets/{id}/attach","href":"/api-reference/labels/attach-a-label-set"},{"title":"Freeze a label set","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/label_sets/{id}/freeze","href":"/api-reference/labels/freeze-a-label-set"}]},{"group":"Judges (criteria) API","pages":[{"title":"List criteria","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria","href":"/api-reference/criteria/list-criteria"},{"title":"Create a criterion","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/criteria","href":"/api-reference/criteria/create-a-criterion"},{"title":"List criterion templates","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria/templates","href":"/api-reference/list-criterion-templates"},{"title":"Get a criterion","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria/{id}","href":"/api-reference/get-a-criterion"},{"title":"Update a criterion","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/criteria/{id}","href":"/api-reference/update-a-criterion"},{"title":"Delete a criterion","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/criteria/{id}","href":"/api-reference/delete-a-criterion"},{"title":"Align a criterion against your labels","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/criteria/{id}/align","href":"/api-reference/criteria/align-a-criterion-against-your-labels"},{"title":"Get the persistent alignment report","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria/{id}/alignment","href":"/api-reference/get-the-persistent-alignment-report"},{"title":"Scan unlabeled traffic for suspected failures","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/criteria/{id}/scan","href":"/api-reference/criteria/scan-unlabeled-traffic-for-suspected-failures"},{"title":"Suggest judges from your failure critiques","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/criteria/suggest","href":"/api-reference/criteria/suggest-judges-from-your-failure-critiques"},{"title":"Run one auto-improve iteration on a judge","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/criteria/{id}/auto_improve","href":"/api-reference/criteria/run-one-auto-improve-iteration-on-a-judge"},{"title":"Get a calibration certificate","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria/{id}/certificate","href":"/api-reference/criteria/get-a-calibration-certificate"},{"title":"The certificate before and after adjudication","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/criteria/{id}/adjudication","href":"/api-reference/judges/the-certificate-before-and-after-adjudication"},{"title":"Adjudicate a judge/human disagreement","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/labels/{id}/adjudicate","href":"/api-reference/judges/adjudicate-a-judgehuman-disagreement"},{"title":"Get judge settings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/settings/judge","href":"/api-reference/criteria/get-judge-settings"},{"title":"Update judge settings","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/settings/judge","href":"/api-reference/criteria/update-judge-settings"}]},{"group":"Evals API","pages":[{"title":"List eval runs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals","href":"/api-reference/evals/list-eval-runs"},{"title":"Queue an eval run","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/evals","href":"/api-reference/evals/queue-an-eval-run"},{"title":"Get an eval run","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/{id}","href":"/api-reference/evals/get-an-eval-run"},{"title":"Delete an eval run","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/evals/{id}","href":"/api-reference/evals/delete-an-eval-run"},{"title":"Cancel an eval run","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/evals/{id}/cancel","href":"/api-reference/evals/cancel-an-eval-run"},{"title":"Get an eval run's test cases","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/{id}/samples","href":"/api-reference/evals/get-an-eval-runs-test-cases"},{"title":"Gate a deploy on an eval run","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/{id}/gate","href":"/api-reference/evals/gate-a-deploy-on-an-eval-run"},{"title":"Compare two eval runs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/compare","href":"/api-reference/evals/compare-two-eval-runs"},{"title":"List failure clusters","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/failure_clusters","href":"/api-reference/evals/list-failure-clusters"},{"title":"Get an evidence bundle","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/evals/{id}/evidence","href":"/api-reference/evals/get-an-evidence-bundle"},{"title":"List registered endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/endpoints","href":"/api-reference/evals/list-registered-endpoints"},{"title":"Register an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/endpoints","href":"/api-reference/evals/register-an-endpoint"},{"title":"Remove an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/endpoints/{id}","href":"/api-reference/evals/remove-an-endpoint"}]},{"group":"Alerts API","pages":[{"title":"List fired alerts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/alerts","href":"/api-reference/alerts/list-fired-alerts"}]},{"group":"Fine-tuning API","pages":[{"title":"List training files","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fine_tuning/files","href":"/api-reference/fine-tuning/list-training-files"},{"title":"Upload training file","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/fine_tuning/files","href":"/api-reference/fine-tuning/upload-training-file"},{"title":"List fine-tuning jobs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fine_tuning/jobs","href":"/api-reference/fine-tuning/list-fine-tuning-jobs"},{"title":"Create fine-tuning job","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/fine_tuning/jobs","href":"/api-reference/fine-tuning/create-fine-tuning-job"},{"title":"Get fine-tuning job","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fine_tuning/jobs/{id}","href":"/api-reference/fine-tuning/get-fine-tuning-job"},{"title":"Cancel fine-tuning job","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/fine_tuning/jobs/{id}","href":"/api-reference/fine-tuning/cancel-fine-tuning-job"},{"title":"Start a bake-off","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/fine_tuning/jobs/{id}/bakeoff","href":"/api-reference/fine-tuning/start-a-bake-off"},{"title":"Get bake-off state","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fine_tuning/jobs/{id}/bakeoff","href":"/api-reference/fine-tuning/get-bake-off-state"}]},{"group":"Certified reward API","pages":[{"title":"Create a reward session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/reward/sessions","href":"/api-reference/certified-reward/create-a-reward-session"},{"title":"List reward sessions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reward/sessions","href":"/api-reference/certified-reward/list-reward-sessions"},{"title":"Get a reward session","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reward/sessions/{id}","href":"/api-reference/certified-reward/get-a-reward-session"},{"title":"Stop a reward session","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/reward/sessions/{id}","href":"/api-reference/certified-reward/stop-a-reward-session"},{"title":"Score a rollout group","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/reward/score","href":"/api-reference/certified-reward/score-a-rollout-group"},{"title":"Mid-run anchor check","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/reward/sessions/{id}/anchor","href":"/api-reference/certified-reward/mid-run-anchor-check"},{"title":"The anchor report","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reward/sessions/{id}/anchor","href":"/api-reference/certified-reward/the-anchor-report"},{"title":"Resume a held session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/reward/sessions/{id}/resume","href":"/api-reference/certified-reward/resume-a-held-session"},{"title":"Export the graded trajectories","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reward/sessions/{id}/export","href":"/api-reference/certified-reward/export-the-graded-trajectories"},{"title":"Export the environment bundle","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reward/sessions/{id}/environment","href":"/api-reference/certified-reward/export-the-environment-bundle"}]},{"group":"Reinforcement learning API","pages":[{"title":"List GRPO runs","description":"This workspace's online-RL runs, newest first (max 50), with ledger-true spend per run. candidates_waiting counts prompts in the GRPO-candidate queue: prompts offline RAFT gave up on, which are exactly what online RL exists to crack. Requires an owner/admin key.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/grpo/runs","href":"/api-reference/reinforcement-learning/list-grpo-runs"},{"title":"Start a GRPO run","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/grpo/runs","href":"/api-reference/reinforcement-learning/start-a-grpo-run"},{"title":"Get a GRPO run","description":"One run: status, ledger-true spend across all three meters (reward, GPU, environment), and the outcome card for terminal runs.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/grpo/runs/{id}","href":"/api-reference/reinforcement-learning/get-a-grpo-run"},{"title":"Stop a GRPO run","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/grpo/runs/{id}/stop","href":"/api-reference/reinforcement-learning/stop-a-grpo-run"},{"title":"Download trained adapter weights","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/grpo/runs/{id}/weights","href":"/api-reference/reinforcement-learning/download-trained-adapter-weights"},{"title":"List RAFT rounds","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/raft/rounds","href":"/api-reference/reinforcement-learning/list-raft-rounds"},{"title":"List declared agent tools","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/env/tools","href":"/api-reference/reinforcement-learning/list-declared-agent-tools"},{"title":"Register or update a tool","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/env/tools","href":"/api-reference/reinforcement-learning/register-or-update-a-tool"},{"title":"Revoke a tool registration","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/env/tools/{id}","href":"/api-reference/reinforcement-learning/revoke-a-tool-registration"}]},{"group":"Dedicated endpoints API","pages":[{"title":"List dedicated endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/dedicated","href":"/api-reference/dedicated-endpoints/list-dedicated-endpoints"},{"title":"List deploy templates","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/dedicated/templates","href":"/api-reference/dedicated-endpoints/list-deploy-templates"},{"title":"Create dedicated endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/dedicated","href":"/api-reference/dedicated-endpoints/create-dedicated-endpoint"},{"title":"Get dedicated endpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/dedicated/{id}","href":"/api-reference/dedicated-endpoints/get-dedicated-endpoint"},{"title":"Update dedicated endpoint","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/dedicated/{id}","href":"/api-reference/dedicated-endpoints/update-dedicated-endpoint"},{"title":"Delete dedicated endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/dedicated/{id}","href":"/api-reference/dedicated-endpoints/delete-dedicated-endpoint"}]},{"group":"Batches API","pages":[{"title":"List batches","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/batches","href":"/api-reference/batches/list-batches"},{"title":"Create a batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/batches","href":"/api-reference/batches/create-a-batch"},{"title":"Retrieve a batch","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/batches/{id}","href":"/api-reference/batches/retrieve-a-batch"},{"title":"Cancel a batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/batches/{id}/cancel","href":"/api-reference/batches/cancel-a-batch"}]},{"group":"Model aliases API","pages":[{"title":"List aliases","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/aliases","href":"/api-reference/model-aliases/list-aliases"},{"title":"Create or repoint an alias","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/aliases","href":"/api-reference/model-aliases/create-or-repoint-an-alias"},{"title":"Delete an alias","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/aliases/{id}","href":"/api-reference/model-aliases/delete-an-alias"}]},{"group":"Model versions API","pages":[{"title":"List model versions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/model_versions","href":"/api-reference/list-model-versions"},{"title":"Get a model version","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/model_versions/{id}","href":"/api-reference/get-a-model-version"},{"title":"Adopt a model version (or roll back)","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/model_versions/{id}/adopt","href":"/api-reference/model-versions/adopt-a-model-version-or-roll-back"}]},{"group":"Audit \u0026 proving API","pages":[{"title":"Export the audit log","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/audit/export","href":"/api-reference/audit-\u0026-proving/export-the-audit-log"},{"title":"Verify the audit chain","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/audit/verify","href":"/api-reference/audit-\u0026-proving/verify-the-audit-chain"},{"title":"List deletion tombstones","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/audit/tombstones","href":"/api-reference/audit-\u0026-proving/list-deletion-tombstones"},{"title":"Record a deletion tombstone","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/audit/tombstones","href":"/api-reference/audit-\u0026-proving/record-a-deletion-tombstone"},{"title":"List enforcement refusals","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enforcement/refusals","href":"/api-reference/audit-\u0026-proving/list-enforcement-refusals"},{"title":"Verify a signed document","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/verify","href":"/api-reference/audit-\u0026-proving/verify-a-signed-document"}]}]}]},"title":"Start a GRPO run - errorbar","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}