Curate logged traffic into a managed training dataset.
Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint{name}-eval dataset is created — no example appears in both, so it’s a valid eval set rather than the model’s own homework. Pass its id as sample_filters.dataset_id when queueing an eval.
Also create a second, DISJOINT "{name}-eval" dataset holding this percentage of examples. No example appears in both — that's what makes it valid as an eval source.
Drop rows whose prompt shares a 13-word shingle with a public benchmark's test split, so a later benchmark score measures capability rather than a memorised answer key. On by default; pass false to keep them. An unavailable contamination index is recorded in the provenance as "not checked", never as clean.
Which logged exchanges to curate. Omit for all of them. Keys: model, tag (the task label sent as X-Errorbar-Tag; a dataset scoped to one task beats one built from mixed traffic), segment (an auto-detected traffic segment, a segment value from GET /v1/logs), finish_reason, cache_hit (boolean), start and end (unix seconds).
Curation accounting: total, kept, dropped {unparseable, errored, truncated, empty, duplicate, human_failed}, and the multi-turn folding counts. Every drop is counted by reason, so a dataset is never silently thinner than you think.
What the quality gate actually did: mode, criterion_id and criterion_name (judge mode), the judge's kappa at build time, human_pass_kept, ungraded_excluded (graded mode), judged / judge_passed / judge_failed / judge_unparsed and judge_spend_usd (judge mode). A dataset never claims more than what happened.
{"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/logs/create-a-dataset-from-logs","slug":"/api-reference/logs/create-a-dataset-from-logs","pageMetadata":{"title":"Create a dataset from logs","description":"Curate logged traffic into a managed training dataset.\n\nCuration is automatic: errored, truncated (`finish_reason=length`), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With `holdout_pct`, a second **disjoint** `{name}-eval` dataset is created — no example appears in both, so it's a valid eval set rather than the model's own homework. Pass its id as `sample_filters.dataset_id` when queueing an eval.\n\nRequires an owner/admin key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/datasets/from_logs","href":"/api-reference/logs/create-a-dataset-from-logs","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Curate logged traffic into a managed training dataset.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Curation is automatic: errored, truncated (\", _jsx(_components.code, {\n children: \"finish_reason=length\"\n }), \"), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With \", _jsx(_components.code, {\n children: \"holdout_pct\"\n }), \", a second \", _jsx(_components.strong, {\n children: \"disjoint\"\n }), \" \", _jsx(_components.code, {\n children: \"{name}-eval\"\n }), \" dataset is created — no example appears in both, so it’s a valid eval set rather than the model’s own homework. Pass its id as \", _jsx(_components.code, {\n children: \"sample_filters.dataset_id\"\n }), \" when queueing an eval.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Requires an owner/admin key.\"\n })]\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":"Create a dataset from logs","description":"Curate logged traffic into a managed training dataset.\n\nCuration is automatic: errored, truncated (`finish_reason=length`), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With `holdout_pct`, a second **disjoint** `{name}-eval` dataset is created — no example appears in both, so it's a valid eval set rather than the model's own homework. Pass its id as `sample_filters.dataset_id` when queueing an eval.\n\nRequires an owner/admin key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/datasets/from_logs","href":"/api-reference/logs/create-a-dataset-from-logs","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Logs"],"summary":"Create a dataset from logs","description":"Curate logged traffic into a managed training dataset.\n\nCuration is automatic: errored, truncated (`finish_reason=length`), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With `holdout_pct`, a second **disjoint** `{name}-eval` dataset is created — no example appears in both, so it's a valid eval set rather than the model's own homework. Pass its id as `sample_filters.dataset_id` when queueing an eval.\n\nRequires an owner/admin key.","operationId":"createDatasetFromLogs","requestBody":"7e137016-635b-4549-aa59-c67445f26536","responses":{"201":"fdf6cf98-3c28-42b9-974c-4738d24e40a1","400":"f195cb55-1a68-4cb0-af39-58a034577a66","401":"5412878a-6e23-4915-8662-6614cc6de2e0","403":"327afac0-9497-4470-b25b-149045247fe4"},"method":"post","type":"path","servers":["7225afda-fbb9-43d7-bb56-160196b3872f","a0fa1f4b-c484-4da1-9eb0-0d3cf3ec20d1"],"security":["d7249d09-10f7-465d-b688-3db83ef725e0"],"path":"/v1/datasets/from_logs","baseUrlOptions":["https://gateway.errorbar.ai","https://www.errorbar.ai/api"],"title":"Create a dataset from logs","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":80,"example":"support-bot-v1","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"holdout_pct":{"type":"integer","minimum":0,"maximum":50,"default":0,"description":"Also create a second, DISJOINT \"{name}-eval\" dataset holding this percentage of examples. No example appears in both — that's what makes it valid as an eval source.","example":10,"uniqueKey":"holdout_pct","typeLabel":"integer"},"decontaminate":{"type":"boolean","default":true,"description":"Drop rows whose prompt shares a 13-word shingle with a public benchmark's test split, so a later benchmark score measures capability rather than a memorised answer key. On by default; pass false to keep them. An unavailable contamination index is recorded in the provenance as \"not checked\", never as clean.","uniqueKey":"decontaminate","typeLabel":"boolean"},"filters":{"type":"object","description":"Which logged exchanges to curate. Omit for all of them. Keys: model, tag (the task label sent as X-Errorbar-Tag; a dataset scoped to one task beats one built from mixed traffic), segment (an auto-detected traffic segment, a `segment` value from GET /v1/logs), finish_reason, cache_hit (boolean), start and end (unix seconds).","properties":{"model":{"type":"string","uniqueKey":"filters.model","typeLabel":"string"},"tag":{"type":"string","uniqueKey":"filters.tag","typeLabel":"string"},"segment":{"type":"string","description":"Curate only one auto-detected traffic segment (a `segment` value from GET /v1/logs) — one application surface, even when nothing was tagged.","uniqueKey":"filters.segment","typeLabel":"string"},"finish_reason":{"type":"string","uniqueKey":"filters.finish_reason","typeLabel":"string"},"cache_hit":{"type":"boolean","uniqueKey":"filters.cache_hit","typeLabel":"boolean"},"start":{"type":"integer","description":"Unix seconds, inclusive.","uniqueKey":"filters.start","typeLabel":"integer"},"end":{"type":"integer","description":"Unix seconds, exclusive.","uniqueKey":"filters.end","typeLabel":"integer"}},"uniqueKey":"filters","typeLabel":"object"},"sources":{"type":"object","description":"Which models feed the build. The same task (tag) usually spans every model you route it to; this chooses among them.","properties":{"models":{"type":"array","description":"Include-list: only these models' exchanges feed the build. An empty list means no restriction. Rejected with 400 unless every entry is a non-empty string.","items":{"type":"string","uniqueKey":"sources.models.items.[INDEX]","typeLabel":"string"},"uniqueKey":"sources.models","typeLabel":"string[]"}},"uniqueKey":"sources","typeLabel":"object"},"quality":{"type":"object","description":"The quality ladder (default cleaned). In every mode, exchanges a human graded FAIL never enter a dataset.","properties":{"mode":{"type":"string","description":"cleaned: mechanical curation only. graded: keep only exchanges a human graded pass (free). judge: a calibrated judge keeps only passing conversations; judge calls are billed as usage and refused up front (402) if the wallet can't cover a conservative estimate.","enum":["cleaned","graded","judge"],"uniqueKey":"quality.mode","typeLabel":"enum\u003cstring>"},"criterion_id":{"type":"string","description":"Required for mode \"judge\". The criterion must be calibrated (aligned tier), not drift-flagged, and request-unit; a segment-bound judge is only usable on builds scoped to its segment.","uniqueKey":"quality.criterion_id","typeLabel":"string"}},"uniqueKey":"quality","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"support-bot-v1","holdout_pct":10,"decontaminate":true,"filters":{"model":"\u003cstring>","tag":"\u003cstring>","segment":"\u003cstring>","finish_reason":"\u003cstring>","cache_hit":true,"start":123,"end":123},"sources":{"models":["\u003cstring>"]},"quality":{"criterion_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"fdf6cf98-3c28-42b9-974c-4738d24e40a1":{"description":"The created dataset(s) and the curation summary.","content":{"application/json":{"schema":{"type":"object","properties":{"training_name":{"type":"string","uniqueKey":"training_name","typeLabel":"string"},"training_count":{"type":"integer","uniqueKey":"training_count","typeLabel":"integer"},"eval_name":{"type":"string","description":"Present when holdout_pct > 0.","uniqueKey":"eval_name","typeLabel":"string"},"eval_count":{"type":"integer","uniqueKey":"eval_count","typeLabel":"integer"},"summary":{"type":"object","description":"Curation accounting: total, kept, dropped {unparseable, errored, truncated, empty, duplicate, human_failed}, and the multi-turn folding counts. Every drop is counted by reason, so a dataset is never silently thinner than you think.","properties":{"total":{"type":"integer","uniqueKey":"summary.total","typeLabel":"integer"},"kept":{"type":"integer","uniqueKey":"summary.kept","typeLabel":"integer"},"dropped":{"type":"object","properties":{"unparseable":{"type":"integer","uniqueKey":"summary.dropped.unparseable","typeLabel":"integer"},"errored":{"type":"integer","uniqueKey":"summary.dropped.errored","typeLabel":"integer"},"truncated":{"type":"integer","description":"finish_reason=length — cut off mid-answer, misleading as training data.","uniqueKey":"summary.dropped.truncated","typeLabel":"integer"},"empty":{"type":"integer","uniqueKey":"summary.dropped.empty","typeLabel":"integer"},"duplicate":{"type":"integer","description":"Byte-identical exchange already kept (cache-hit replays collapse here).","uniqueKey":"summary.dropped.duplicate","typeLabel":"integer"},"human_failed":{"type":"integer","description":"Graded FAIL by a person, or sharing an agent run with a trace-scoped FAIL. Dropped in every quality mode.","uniqueKey":"summary.dropped.human_failed","typeLabel":"integer"},"contaminated":{"type":"integer","description":"Prompt shares a 13-word shingle with a public benchmark's test split. Counted only when decontaminate is on.","uniqueKey":"summary.dropped.contaminated","typeLabel":"integer"}},"uniqueKey":"summary.dropped","typeLabel":"object"}},"uniqueKey":"summary","typeLabel":"object"},"quality":{"type":"object","description":"What the quality gate actually did: mode, criterion_id and criterion_name (judge mode), the judge's kappa at build time, human_pass_kept, ungraded_excluded (graded mode), judged / judge_passed / judge_failed / judge_unparsed and judge_spend_usd (judge mode). A dataset never claims more than what happened.","uniqueKey":"quality","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"training_name":"\u003cstring>","training_count":123,"eval_name":"\u003cstring>","eval_count":123,"summary":{"total":123,"kept":123,"dropped":{"unparseable":123,"errored":123,"truncated":123,"empty":123,"duplicate":123,"human_failed":123,"contaminated":123}},"quality":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"f195cb55-1a68-4cb0-af39-58a034577a66":{"description":"Malformed request or invalid field.","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"},"5412878a-6e23-4915-8662-6614cc6de2e0":{"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"},"327afac0-9497-4470-b25b-149045247fe4":{"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"}},"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":"Create a dataset from logs - errorbar","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-13T09:14:06.684Z","originalFileLocation":"api-reference/logs/create-a-dataset-from-logs.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=\"Curate logged traffic into a managed training dataset. Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint {name}-eval dataset is created — no example appears in both, so it\u0026#x27;s a valid eval set rather than the model\u0026#x27;s own homework. Pass its id as sample_filters.dataset_id when queueing an eval. Requires an owner/admin key.\">\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=\"Create a dataset from logs - errorbar\">\u003cmeta data-mint-head property=\"og:description\" content=\"Curate logged traffic into a managed training dataset. Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint {name}-eval dataset is created — no example appears in both, so it\u0026#x27;s a valid eval set rather than the model\u0026#x27;s own homework. Pass its id as sample_filters.dataset_id when queueing an eval. Requires an owner/admin key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"errorbar\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs\">\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=Logs+%26+datasets+API\u0026amp;title=Create+a+dataset+from+logs\u0026amp;description=Curate+logged+traffic+into+a+managed+training+dataset.%0A%0ACuration+is+automatic%3A+errored%2C+truncated+%28%60finish_reason%3Dlength%60%29%2C+empty%2C+and+duplicate+exchanges+are+d\u0026amp;theme=4890a253571116e8d6e1ff75\u0026amp;signature=2143c521639eb80e355a9e20e35da9f1b3421d487bfa1a775137b31fc1cb07eb\">\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=\"Create a dataset from logs - errorbar\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Curate logged traffic into a managed training dataset. Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint {name}-eval dataset is created — no example appears in both, so it\u0026#x27;s a valid eval set rather than the model\u0026#x27;s own homework. Pass its id as sample_filters.dataset_id when queueing an eval. Requires an owner/admin key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://omnia-9828cd09.mintlify.app/_mintlify/api/og/v2?division=Logs+%26+datasets+API\u0026amp;title=Create+a+dataset+from+logs\u0026amp;description=Curate+logged+traffic+into+a+managed+training+dataset.%0A%0ACuration+is+automatic%3A+errored%2C+truncated+%28%60finish_reason%3Dlength%60%29%2C+empty%2C+and+duplicate+exchanges+are+d\u0026amp;theme=4890a253571116e8d6e1ff75\u0026amp;signature=2143c521639eb80e355a9e20e35da9f1b3421d487bfa1a775137b31fc1cb07eb\">\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/logs/create-a-dataset-from-logs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/logs/create-a-dataset-from-logs.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/logs/create-a-dataset-from-logs#webpage\",\"url\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs\",\"name\":\"Create a dataset from logs\",\"description\":\"Curate logged traffic into a managed training dataset. Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint {name}-eval dataset is created — no example appears in both, so it's a valid eval set rather than the model's own homework. Pass its id as sample_filters.dataset_id when queueing an eval. Requires an owner/admin key.\",\"dateModified\":\"2026-09-13T09:14:06.684Z\",\"isPartOf\":{\"@id\":\"https://docs.errorbar.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Logs \u0026 datasets API\",\"item\":\"https://docs.errorbar.ai/api-reference/logs/list-logged-exchanges\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a dataset from logs\",\"item\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs#apireference\",\"headline\":\"Create a dataset from logs\",\"name\":\"Create a dataset from logs\",\"description\":\"Curate logged traffic into a managed training dataset. Curation is automatic: errored, truncated (finish_reason=length), empty, and duplicate exchanges are dropped, and every drop is reported by reason. With holdout_pct, a second disjoint {name}-eval dataset is created — no example appears in both, so it's a valid eval set rather than the model's own homework. Pass its id as sample_filters.dataset_id when queueing an eval. Requires an owner/admin key.\",\"url\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.errorbar.ai/api-reference/logs/create-a-dataset-from-logs#webpage\"},\"dateModified\":\"2026-09-13T09:14:06.684Z\",\"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","description":"Every step sharing one X-Errorbar-Trace-Id, oldest-first (execution order), aborted partials included — a trace read is error analysis. Requires request logging (409 otherwise).","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","description":"Checks a batch of texts against the public-benchmark contamination index (13-word shingles of well-known test splits) and reports which inputs share material with which benchmark — use it before training so later benchmark scores measure capability, not memorised answer keys.\n\n400 on invalid JSON, when `texts` is not an array of strings, or when it exceeds 5,000 items. `index: null` means the benchmark index was unavailable and NOTHING was checked — never treat that as clean. 'Clean' is a claim about THOSE benchmarks on THAT index date only. Free (no judging, no wallet spend). Response is Cache-Control: no-store. One text can produce multiple hits (one per benchmark it overlaps).","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","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","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":"Create a dataset from logs - 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"]}