Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write.
Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with "kind": "decision". Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens.
Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.
v1 override: route as this domain's default task type (coding,
math, reasoning, knowledge, agentic, long_context,
writing, multilingual or general). The task type is then not
classified; difficulty and the facets still are.
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"OpenType Docs","description":"OpenType answers typed questions about your data in one model call per run. Send a state and a set of questions; get calibrated answers back.","colors":{"primary":"#0A7A3B","light":"#2DEC80","dark":"#0A7A3B"},"logo":{"light":"https://mintcdn.com/opentype/nqaaLldDOctxoCbH/logo/light.svg?fit=max\u0026auto=format\u0026n=nqaaLldDOctxoCbH\u0026q=85\u0026s=73a92db185691378733575d262c4447f","dark":"https://mintcdn.com/opentype/nqaaLldDOctxoCbH/logo/dark.svg?fit=max\u0026auto=format\u0026n=nqaaLldDOctxoCbH\u0026q=85\u0026s=3cc19793d85db57b7dd672606262a9f8","href":"https://docs.opentype.dev"},"favicon":"https://mintcdn.com/opentype/nqaaLldDOctxoCbH/favicon.svg?fit=max\u0026auto=format\u0026n=nqaaLldDOctxoCbH\u0026q=85\u0026s=220ca1f48e54505dd8638808f8bfe8d8","api":{"params":{"expanded":"closed"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["bash","typescript","python"],"autogenerate":true}},"appearance":{"default":"system"},"background":{"color":{"light":"#F7F7F4","dark":"#090A09"}},"navbar":{"links":[{"href":"https://console.opentype.dev","label":"Console"}],"primary":{"type":"button","label":"Get API key","href":"https://console.opentype.dev/keys"}},"footer":{"socials":{"github":"https://github.com/OpentypeAI"},"links":[{"header":"Docs","items":[{"label":"Quickstart","href":"/getting-started/quickstart"},{"label":"Guides","href":"/guides"},{"label":"API reference","href":"/api-reference/introduction"},{"label":"Problem codes","href":"/problems"}]},{"header":"Console","items":[{"label":"Playground","href":"https://console.opentype.dev/playground"},{"label":"API keys","href":"https://console.opentype.dev/keys"},{"label":"Usage","href":"https://console.opentype.dev/usage"},{"label":"Billing","href":"https://console.opentype.dev/billing"}]},{"header":"OpenType","items":[{"label":"Changelog","href":"/reference/changelog"},{"label":"Security","href":"/security"},{"label":"GitHub","href":"https://github.com/OpentypeAI"}]}]},"search":{"prompt":"Search runs, questions, keys and error codes..."},"seo":{"metatags":{"og:site_name":"OpenType","og:image":"https://opentype.dev/og/docs.png","og:image:width":"1200","og:image:height":"630","twitter:card":"summary_large_image","twitter:image":"https://opentype.dev/og/docs.png"},"indexing":"navigable"},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Geist"}},"styling":{"codeblocks":"system","latex":true},"errors":{"404":{"redirect":false,"title":"Page not found","description":"That path is not in the OpenType docs. Try the [quickstart](/getting-started/quickstart) or the [API reference](/api-reference/introduction). If an error code sent you here, the [problem catalog](/problems) explains it."}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Changelog","icon":"clock-rotate-left","href":"/reference/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opentype","hasAudioNarration":false,"actualSubdomain":"opentype","customDomains":["docs.opentype.dev"],"gitSource":{"type":"github","owner":"opentypeai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ab5e652539070057e19e4e0","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Reference","count":53},{"language":"default","tag":"Errors","count":47},{"language":"default","tag":"Problem codes","count":46},{"language":"default","tag":"API reference","count":24},{"language":"default","tag":"Guides","count":22},{"language":"default","tag":"Get started","count":10},{"language":"default","tag":"Overview","count":9},{"language":"default","tag":"Console","count":6},{"language":"default","tag":"Decision runs","count":6},{"language":"default","tag":"Spend and billing","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/router/select","slug":"/api-reference/router/select","pageMetadata":{"title":"Select a model","description":"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires `runs_write`.\n\nBilled as one decision run: the same admission, quota, credit and settlement as `POST /v1/runs` with `\"kind\": \"decision\"`. Send the task as `prompt` or as `messages`, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens.\n\n`Idempotency-Key` is optional. Replaying a key returns the stored classification with `replayed: true` and never charges twice.","deprecated":null,"version":null,"sidebarTitle":"Select","openapi":"/api-reference/openapi.json post /v1/router/select","href":"/api-reference/router/select","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 ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires \", _jsx(_components.code, {\n children: \"runs_write\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Billed as one decision run: the same admission, quota, credit and settlement as \", _jsx(_components.code, {\n children: \"POST /v1/runs\"\n }), \" with \", _jsx(_components.code, {\n children: \"\\\"kind\\\": \\\"decision\\\"\"\n }), \". Send the task as \", _jsx(_components.code, {\n children: \"prompt\"\n }), \" or as \", _jsx(_components.code, {\n children: \"messages\"\n }), \", not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" is optional. Replaying a key returns the stored classification with \", _jsx(_components.code, {\n children: \"replayed: true\"\n }), \" and never charges twice.\"]\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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Select a model","description":"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires `runs_write`.\n\nBilled as one decision run: the same admission, quota, credit and settlement as `POST /v1/runs` with `\"kind\": \"decision\"`. Send the task as `prompt` or as `messages`, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens.\n\n`Idempotency-Key` is optional. Replaying a key returns the stored classification with `replayed: true` and never charges twice.","deprecated":null,"version":null,"sidebarTitle":"Select","openapi":"/api-reference/openapi.json post /v1/router/select","href":"/api-reference/router/select","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["router"],"summary":"Select a model","description":"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires `runs_write`.\n\nBilled as one decision run: the same admission, quota, credit and settlement as `POST /v1/runs` with `\"kind\": \"decision\"`. Send the task as `prompt` or as `messages`, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens.\n\n`Idempotency-Key` is optional. Replaying a key returns the stored classification with `replayed: true` and never charges twice.","operationId":"select","parameters":["36b78087-cb97-424a-8fe2-40ae6ff975fd"],"requestBody":"6ec290d0-f947-4906-a558-b9068bbd2105","responses":{"200":"9bafc16e-a6c3-498f-85db-9610d3976981","400":"3c994a6a-3375-4c79-8bd2-2e4f6f1ce64c","401":"bbf24f89-898d-443b-98a6-c2ef7ac77ffa","402":"1c885396-6024-4fb8-b7a3-919deed59b6f","403":"99eff76b-4f9b-4c6d-b1f6-f6dcf41bee57","409":"c3cafc0b-b28e-4027-9de1-89186ef2bf78","413":"05c74c28-7cd0-4870-9b2b-d3891e92105f","429":"9bf818e9-72ec-49ca-b7d6-dd5883bd3926","503":"b8d5d7c1-44d5-4633-8f33-4c358602c958","504":"edff1773-af12-421c-b352-575294ae3c7c"},"security":["3b09ff96-c55a-472f-b36a-415ff6104412","36597b63-1d06-4946-b15c-023b7871487c"],"x-mint":{"href":"/api-reference/router/select"},"method":"post","type":"path","servers":["b9e51016-dc72-438c-8be7-eedb6c738623","7768c5d7-e6e0-4d85-aba6-bff93ad8e2a8"],"path":"/v1/router/select","baseUrlOptions":["https://api.opentype.dev","https://api.opentype.dev"],"title":"Select a model","codeSamples":[],"requestExampleLanguages":["bash","typescript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"36b78087-cb97-424a-8fe2-40ae6ff975fd":{"name":"Idempotency-Key","in":"header","description":"Optional. Replaying a key returns the stored classification and never charges twice.","required":false,"schema":{"oneOf":[{"type":"string","description":"Optional. Replaying a key returns the stored classification and never charges twice.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional. Replaying a key returns the stored classification and never charges twice.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"A selection request: the task, as `prompt` or as `messages` (exactly one).","properties":{"prompt":{"oneOf":[{"type":"string","description":"The task. Bodies up to 4 MiB are accepted; only the head and tail of the task are read to classify it.","uniqueKey":"prompt.oneOf.0","typeLabel":"string"},{"type":"null","description":"The task. Bodies up to 4 MiB are accepted; only the head and tail of the task are read to classify it.","uniqueKey":"prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"prompt","typeLabel":"string | null"},"messages":{"type":"array","items":{"type":"object","description":"One prompt turn. Unknown keys are refused.","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"],"isRequired":true,"uniqueKey":"messages.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"type":"string","isRequired":true,"uniqueKey":"messages.items.[INDEX].content","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"messages.items.[INDEX]","typeLabel":"object"},"description":"The task as conversation turns, joined into one text as for `prompt`.","uniqueKey":"messages","typeLabel":"object[]"},"policy":{"oneOf":[{"type":"string","description":"`balanced` (default), `cost_efficient`, `capability_heavy` or\n`domain_skills`. Anything else is `400` `invalid_policy`.","example":"balanced","uniqueKey":"policy.oneOf.0","typeLabel":"string"},{"type":"null","description":"`balanced` (default), `cost_efficient`, `capability_heavy` or\n`domain_skills`. Anything else is `400` `invalid_policy`.","example":"balanced","uniqueKey":"policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"policy","typeLabel":"string | null"},"domain":{"oneOf":[{"type":"string","description":"v1 override: route as this domain's default task type (`coding`,\n`math`, `reasoning`, `knowledge`, `agentic`, `long_context`,\n`writing`, `multilingual` or `general`). The task type is then not\nclassified; difficulty and the facets still are.","uniqueKey":"domain.oneOf.0","typeLabel":"string"},{"type":"null","description":"v1 override: route as this domain's default task type (`coding`,\n`math`, `reasoning`, `knowledge`, `agentic`, `long_context`,\n`writing`, `multilingual` or `general`). The task type is then not\nclassified; difficulty and the facets still are.","uniqueKey":"domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"domain","typeLabel":"string | null"},"task_type":{"oneOf":[{"type":"string","description":"Skip task-type classification and route as this task type (see\n`GET /v1/router/task-types`). Wins over `domain`.","example":"code_generation","uniqueKey":"task_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Skip task-type classification and route as this task type (see\n`GET /v1/router/task-types`). Wins over `domain`.","example":"code_generation","uniqueKey":"task_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"task_type","typeLabel":"string | null"},"latency":{"oneOf":[{"type":"string","description":"`interactive`, `standard` (default) or `batch`: how much estimated\nlatency weighs in `balanced`.","example":"standard","uniqueKey":"latency.oneOf.0","typeLabel":"string"},{"type":"null","description":"`interactive`, `standard` (default) or `batch`: how much estimated\nlatency weighs in `balanced`.","example":"standard","uniqueKey":"latency.oneOf.1","typeLabel":"null"}],"uniqueKey":"latency","typeLabel":"string | null"},"max_latency_ms":{"oneOf":[{"type":"number","format":"double","description":"Drop models whose estimated time to the full answer exceeds this, or\nwhose speed is not measured.","uniqueKey":"max_latency_ms.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Drop models whose estimated time to the full answer exceeds this, or\nwhose speed is not measured.","uniqueKey":"max_latency_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_latency_ms","typeLabel":"number\u003cdouble> | null"},"weights":{"oneOf":[{"type":"null","uniqueKey":"weights.oneOf.0","typeLabel":"null"},{"type":"object","description":"`balanced` only: replaces the quality, cost and latency weights.\nWith any other policy it is `400` `weights_require_balanced`.","properties":{"quality":{"type":"number","format":"double","uniqueKey":"weights.oneOf.1.quality","typeLabel":"number\u003cdouble>"},"cost":{"type":"number","format":"double","uniqueKey":"weights.oneOf.1.cost","typeLabel":"number\u003cdouble>"},"speed":{"type":"number","format":"double","uniqueKey":"weights.oneOf.1.speed","typeLabel":"number\u003cdouble>"}},"additionalProperties":false,"uniqueKey":"weights.oneOf.1","typeLabel":"object"}],"uniqueKey":"weights","typeLabel":"null | object"},"models":{"oneOf":[{"type":"null","uniqueKey":"models.oneOf.0","typeLabel":"null"},{"type":"object","description":"Filters over the catalog. All optional; an empty object keeps every model.","properties":{"include":{"type":"array","items":{"type":"string","uniqueKey":"models.oneOf.1.include.items.[INDEX]","typeLabel":"string"},"description":"Only these model ids. An id the catalog does not list is `400`\n`unknown_model_id`.","uniqueKey":"models.oneOf.1.include","typeLabel":"string[]"},"exclude":{"type":"array","items":{"type":"string","uniqueKey":"models.oneOf.1.exclude.items.[INDEX]","typeLabel":"string"},"description":"Never these model ids. Same check as `include`.","uniqueKey":"models.oneOf.1.exclude","typeLabel":"string[]"},"providers":{"type":"array","items":{"type":"string","uniqueKey":"models.oneOf.1.providers.items.[INDEX]","typeLabel":"string"},"description":"Only these providers, e.g. `openai`, case-insensitive.","uniqueKey":"models.oneOf.1.providers","typeLabel":"string[]"},"open_weights":{"oneOf":[{"type":"boolean","description":"`true`: open-weights models only; `false`: closed only.","uniqueKey":"models.oneOf.1.open_weights.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true`: open-weights models only; `false`: closed only.","uniqueKey":"models.oneOf.1.open_weights.oneOf.1","typeLabel":"null"}],"uniqueKey":"models.oneOf.1.open_weights","typeLabel":"boolean | null"},"max_price_per_mtok":{"oneOf":[{"type":"number","format":"double","description":"Maximum blended price (3:1 input:output), USD per million tokens.","uniqueKey":"models.oneOf.1.max_price_per_mtok.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Maximum blended price (3:1 input:output), USD per million tokens.","uniqueKey":"models.oneOf.1.max_price_per_mtok.oneOf.1","typeLabel":"null"}],"uniqueKey":"models.oneOf.1.max_price_per_mtok","typeLabel":"number\u003cdouble> | null"},"min_context_tokens":{"oneOf":[{"type":"integer","format":"int64","minimum":0,"uniqueKey":"models.oneOf.1.min_context_tokens.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","minimum":0,"uniqueKey":"models.oneOf.1.min_context_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"models.oneOf.1.min_context_tokens","typeLabel":"integer\u003cint64> | null"},"modalities":{"type":"array","items":{"type":"string","uniqueKey":"models.oneOf.1.modalities.items.[INDEX]","typeLabel":"string"},"description":"Every listed modality must be supported: `text`, `image`, `audio`,\n`video`.","uniqueKey":"models.oneOf.1.modalities","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"models.oneOf.1","typeLabel":"object"}],"uniqueKey":"models","typeLabel":"null | object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"prompt":"\u003cstring>","messages":[{"content":"\u003cstring>"}],"policy":"balanced","domain":"\u003cstring>","task_type":"code_generation","latency":"standard","max_latency_ms":123,"weights":{"quality":123,"cost":123,"speed":123},"models":{"include":["\u003cstring>"],"exclude":["\u003cstring>"],"providers":["\u003cstring>"],"open_weights":true,"max_price_per_mtok":123,"min_context_tokens":1,"modalities":["\u003cstring>"]}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"9bafc16e-a6c3-498f-85db-9610d3976981":{"description":"The selected model, the classification and the ranking","content":{"application/json":{"schema":{"type":"object","required":["id","run_id","policy","model","classification","ranking","score_basis","filters_applied","low_confidence","input_tokens_est","reason","decision_model","catalog_as_of","benchmarks_as_of","replayed"],"properties":{"id":{"type":"string","description":"`rtr_` plus the uuid of the classification run.","example":"rtr_0f8e3c1a9b2d4e5f8a7b6c5d4e3f2a1b","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"run_id":{"type":"string","description":"The classification run, readable at `/v1/runs/{run_id}` and in usage.","isRequired":true,"uniqueKey":"run_id","typeLabel":"string"},"policy":{"type":"string","isRequired":true,"uniqueKey":"policy","typeLabel":"string"},"model":{"type":"object","description":"A model, as a selection names it.","required":["id","name","provider","open_weights"],"properties":{"id":{"type":"string","example":"gpt-6-sol","isRequired":true,"uniqueKey":"model.id","typeLabel":"string"},"name":{"type":"string","example":"GPT-6 Sol","isRequired":true,"uniqueKey":"model.name","typeLabel":"string"},"provider":{"type":"string","example":"openai","isRequired":true,"uniqueKey":"model.provider","typeLabel":"string"},"open_weights":{"type":"boolean","isRequired":true,"uniqueKey":"model.open_weights","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"model","typeLabel":"object"},"classification":{"type":"object","required":["domain","difficulty","task_type","facets"],"properties":{"domain":{"type":"object","description":"v1 vocabulary, derived from the task-type distribution.","required":["label","probabilities"],"properties":{"label":{"type":"string","isRequired":true,"uniqueKey":"classification.domain.label","typeLabel":"string"},"probabilities":{"type":"object","description":"Probability per label. For a caller-fixed label this is that label at\n`1.0`.","additionalProperties":{"type":"number","format":"double","uniqueKey":"classification.domain.probabilities.additionalProperties","typeLabel":"number\u003cdouble>"},"propertyNames":{"type":"string"},"isRequired":true,"uniqueKey":"classification.domain.probabilities","typeLabel":"object"}},"isRequired":true,"uniqueKey":"classification.domain","typeLabel":"object"},"difficulty":{"type":"object","description":"v1 vocabulary (`easy`, `medium`, `hard`), derived from the level.","required":["label","probabilities"],"properties":{"label":{"type":"string","isRequired":true,"uniqueKey":"classification.difficulty.label","typeLabel":"string"},"probabilities":{"type":"object","description":"Probability per label. For a caller-fixed label this is that label at\n`1.0`.","additionalProperties":{"type":"number","format":"double","uniqueKey":"classification.difficulty.probabilities.additionalProperties","typeLabel":"number\u003cdouble>"},"propertyNames":{"type":"string"},"isRequired":true,"uniqueKey":"classification.difficulty.probabilities","typeLabel":"object"}},"isRequired":true,"uniqueKey":"classification.difficulty","typeLabel":"object"},"task_type":{"type":"object","description":"The task-type distribution: the argmax and the five most probable.","required":["label","family","top","fixed"],"properties":{"label":{"type":"string","example":"code_generation","isRequired":true,"uniqueKey":"classification.task_type.label","typeLabel":"string"},"family":{"type":"string","isRequired":true,"uniqueKey":"classification.task_type.family","typeLabel":"string"},"top":{"type":"array","items":{"type":"object","description":"One task type and its probability.","required":["task_type","family","probability"],"properties":{"task_type":{"type":"string","example":"code_generation","isRequired":true,"uniqueKey":"classification.task_type.top.items.[INDEX].task_type","typeLabel":"string"},"family":{"type":"string","example":"coding","isRequired":true,"uniqueKey":"classification.task_type.top.items.[INDEX].family","typeLabel":"string"},"probability":{"type":"number","format":"double","isRequired":true,"uniqueKey":"classification.task_type.top.items.[INDEX].probability","typeLabel":"number\u003cdouble>"}},"uniqueKey":"classification.task_type.top.items.[INDEX]","typeLabel":"object"},"description":"The five most probable types, most probable first. The ranking mixes\nevery type at 5% or more.","isRequired":true,"uniqueKey":"classification.task_type.top","typeLabel":"object[]"},"fixed":{"type":"boolean","description":"True when the caller fixed the task type (`task_type` or `domain`).","isRequired":true,"uniqueKey":"classification.task_type.fixed","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"classification.task_type","typeLabel":"object"},"facets":{"type":"object","description":"The facets the ranking conditions on.","required":["difficulty_expected","difficulty","output_length","output_tokens_est","needs_tools","needs_vision","safety_sensitive","language","input_tokens_est"],"properties":{"difficulty_expected":{"type":"number","format":"double","description":"Expected level on the 0-3 scale (trivial, standard, hard, expert),\nafter the safety floor.","isRequired":true,"uniqueKey":"classification.facets.difficulty_expected","typeLabel":"number\u003cdouble>"},"difficulty":{"type":"object","description":"`trivial`, `standard`, `hard` or `expert`.","required":["label","probabilities"],"properties":{"label":{"type":"string","isRequired":true,"uniqueKey":"classification.facets.difficulty.label","typeLabel":"string"},"probabilities":{"type":"object","description":"Probability per label. For a caller-fixed label this is that label at\n`1.0`.","additionalProperties":{"type":"number","format":"double","uniqueKey":"classification.facets.difficulty.probabilities.additionalProperties","typeLabel":"number\u003cdouble>"},"propertyNames":{"type":"string"},"isRequired":true,"uniqueKey":"classification.facets.difficulty.probabilities","typeLabel":"object"}},"isRequired":true,"uniqueKey":"classification.facets.difficulty","typeLabel":"object"},"output_length":{"type":"object","description":"`short`, `medium`, `long` or `huge`.","required":["label","probabilities"],"properties":{"label":{"type":"string","isRequired":true,"uniqueKey":"classification.facets.output_length.label","typeLabel":"string"},"probabilities":{"type":"object","description":"Probability per label. For a caller-fixed label this is that label at\n`1.0`.","additionalProperties":{"type":"number","format":"double","uniqueKey":"classification.facets.output_length.probabilities.additionalProperties","typeLabel":"number\u003cdouble>"},"propertyNames":{"type":"string"},"isRequired":true,"uniqueKey":"classification.facets.output_length.probabilities","typeLabel":"object"}},"isRequired":true,"uniqueKey":"classification.facets.output_length","typeLabel":"object"},"output_tokens_est":{"type":"number","format":"double","description":"Expected visible output tokens.","isRequired":true,"uniqueKey":"classification.facets.output_tokens_est","typeLabel":"number\u003cdouble>"},"needs_tools":{"type":"number","format":"double","isRequired":true,"uniqueKey":"classification.facets.needs_tools","typeLabel":"number\u003cdouble>"},"needs_vision":{"type":"number","format":"double","isRequired":true,"uniqueKey":"classification.facets.needs_vision","typeLabel":"number\u003cdouble>"},"safety_sensitive":{"type":"number","format":"double","isRequired":true,"uniqueKey":"classification.facets.safety_sensitive","typeLabel":"number\u003cdouble>"},"language":{"type":"string","description":"Language the task is written in: `en`, `fr`, `zh`, `es` or `other`.","isRequired":true,"uniqueKey":"classification.facets.language","typeLabel":"string"},"input_tokens_est":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"classification.facets.input_tokens_est","typeLabel":"integer\u003cint64>"},"target_language":{"oneOf":[{"type":"string","description":"Translation target, when the task asks for one.","uniqueKey":"classification.facets.target_language.oneOf.0","typeLabel":"string"},{"type":"null","description":"Translation target, when the task asks for one.","uniqueKey":"classification.facets.target_language.oneOf.1","typeLabel":"null"}],"uniqueKey":"classification.facets.target_language","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"classification.facets","typeLabel":"object"}},"isRequired":true,"uniqueKey":"classification","typeLabel":"object"},"ranking":{"type":"array","items":{"type":"object","description":"One ranked candidate.","required":["id","name","provider","open_weights","score","blended_price_per_mtok","domain_score","expected_quality","uncertainty","estimated_cost_usd","estimated_latency_ms","latency_estimated","strengths","weaknesses","imputed"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"ranking.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"ranking.items.[INDEX].name","typeLabel":"string"},"provider":{"type":"string","isRequired":true,"uniqueKey":"ranking.items.[INDEX].provider","typeLabel":"string"},"open_weights":{"type":"boolean","isRequired":true,"uniqueKey":"ranking.items.[INDEX].open_weights","typeLabel":"boolean"},"score":{"type":"number","format":"double","description":"The policy's sort key, higher is better. For `cost_efficient` it is\nthe negated estimated cost.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].score","typeLabel":"number\u003cdouble>"},"blended_price_per_mtok":{"type":"number","format":"double","isRequired":true,"uniqueKey":"ranking.items.[INDEX].blended_price_per_mtok","typeLabel":"number\u003cdouble>"},"domain_score":{"type":"number","format":"double","description":"v1 name for `expected_quality`.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].domain_score","typeLabel":"number\u003cdouble>"},"expected_quality":{"type":"number","format":"double","description":"Weighted normalized benchmark quality for this task, 0-1, minus the\nimputation penalty.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].expected_quality","typeLabel":"number\u003cdouble>"},"uncertainty":{"type":"number","format":"double","description":"Weight on imputed values: 0 when every benchmark was measured.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].uncertainty","typeLabel":"number\u003cdouble>"},"estimated_cost_usd":{"type":"number","format":"double","description":"USD for this request: input, expected output, reasoning tokens and\nexpected turns.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].estimated_cost_usd","typeLabel":"number\u003cdouble>"},"estimated_latency_ms":{"type":"number","format":"double","description":"Milliseconds to the full answer.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].estimated_latency_ms","typeLabel":"number\u003cdouble>"},"latency_estimated":{"type":"boolean","description":"A catalog median stood in for a missing speed or TTFT.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].latency_estimated","typeLabel":"boolean"},"strengths":{"type":"array","items":{"type":"object","description":"One benchmark's part in a candidate's expected quality.","required":["benchmark","name","norm","weight","contribution"],"properties":{"benchmark":{"type":"string","example":"swe_bench_verified","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].benchmark","typeLabel":"string"},"name":{"type":"string","example":"SWE-bench Verified","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].name","typeLabel":"string"},"norm":{"type":"number","format":"double","description":"Normalized value, 0-1.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].norm","typeLabel":"number\u003cdouble>"},"weight":{"type":"number","format":"double","description":"Weight of the benchmark for this task.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].weight","typeLabel":"number\u003cdouble>"},"contribution":{"type":"number","format":"double","description":"weight × norm.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].contribution","typeLabel":"number\u003cdouble>"},"value":{"oneOf":[{"type":"number","format":"double","description":"The published value, null when imputed.","uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The published value, null when imputed.","uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].value","typeLabel":"number\u003cdouble> | null"},"rank":{"oneOf":[{"type":"integer","format":"int32","description":"Rank among catalog models with a published value, null when imputed.","minimum":0,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].rank.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Rank among catalog models with a published value, null when imputed.","minimum":0,"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].rank","typeLabel":"integer\u003cint32> | null"},"gap_to_best":{"oneOf":[{"type":"number","format":"double","description":"Weaknesses only: weight × (this model − the best candidate).","uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].gap_to_best.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Weaknesses only: weight × (this model − the best candidate).","uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].gap_to_best.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX].gap_to_best","typeLabel":"number\u003cdouble> | null"}},"uniqueKey":"ranking.items.[INDEX].strengths.items.[INDEX]","typeLabel":"object"},"description":"Top three benchmarks by contribution.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].strengths","typeLabel":"object[]"},"weaknesses":{"type":"array","items":{"type":"object","description":"One benchmark's part in a candidate's expected quality.","required":["benchmark","name","norm","weight","contribution"],"properties":{"benchmark":{"type":"string","example":"swe_bench_verified","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].benchmark","typeLabel":"string"},"name":{"type":"string","example":"SWE-bench Verified","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].name","typeLabel":"string"},"norm":{"type":"number","format":"double","description":"Normalized value, 0-1.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].norm","typeLabel":"number\u003cdouble>"},"weight":{"type":"number","format":"double","description":"Weight of the benchmark for this task.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].weight","typeLabel":"number\u003cdouble>"},"contribution":{"type":"number","format":"double","description":"weight × norm.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].contribution","typeLabel":"number\u003cdouble>"},"value":{"oneOf":[{"type":"number","format":"double","description":"The published value, null when imputed.","uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"The published value, null when imputed.","uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].value","typeLabel":"number\u003cdouble> | null"},"rank":{"oneOf":[{"type":"integer","format":"int32","description":"Rank among catalog models with a published value, null when imputed.","minimum":0,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].rank.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Rank among catalog models with a published value, null when imputed.","minimum":0,"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].rank","typeLabel":"integer\u003cint32> | null"},"gap_to_best":{"oneOf":[{"type":"number","format":"double","description":"Weaknesses only: weight × (this model − the best candidate).","uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].gap_to_best.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Weaknesses only: weight × (this model − the best candidate).","uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].gap_to_best.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX].gap_to_best","typeLabel":"number\u003cdouble> | null"}},"uniqueKey":"ranking.items.[INDEX].weaknesses.items.[INDEX]","typeLabel":"object"},"description":"Up to two benchmarks where it trails the best candidate most.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].weaknesses","typeLabel":"object[]"},"imputed":{"type":"array","items":{"type":"object","description":"A benchmark value that was imputed for a candidate.","required":["benchmark","rule"],"properties":{"benchmark":{"type":"string","isRequired":true,"uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX].benchmark","typeLabel":"string"},"rule":{"type":"string","description":"`correlated`, `family` or `index`.","isRequired":true,"uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX].rule","typeLabel":"string"},"from":{"oneOf":[{"type":"string","uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX].from.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX].from.oneOf.1","typeLabel":"null"}],"uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX].from","typeLabel":"string | null"}},"uniqueKey":"ranking.items.[INDEX].imputed.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"ranking.items.[INDEX].imputed","typeLabel":"object[]"}},"uniqueKey":"ranking.items.[INDEX]","typeLabel":"object"},"description":"Top candidates, best first, at most ten.","isRequired":true,"uniqueKey":"ranking","typeLabel":"object[]"},"score_basis":{"type":"string","description":"Which benchmarks decided. v2 always decides on the task's weighted\nbenchmark vector; `domain` and `intelligence` are the v1 values.","enum":["domain","intelligence","benchmarks"],"isRequired":true,"uniqueKey":"score_basis","typeLabel":"enum\u003cstring>"},"filters_applied":{"type":"array","items":{"type":"object","description":"How many models one filter removed.","required":["filter","removed"],"properties":{"filter":{"type":"string","isRequired":true,"uniqueKey":"filters_applied.items.[INDEX].filter","typeLabel":"string"},"removed":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"filters_applied.items.[INDEX].removed","typeLabel":"integer"}},"uniqueKey":"filters_applied.items.[INDEX]","typeLabel":"object"},"description":"Filters that removed at least one model, in the order applied.","isRequired":true,"uniqueKey":"filters_applied","typeLabel":"object[]"},"low_confidence":{"type":"boolean","description":"`domain_skills` with a most probable task type under 40%.","isRequired":true,"uniqueKey":"low_confidence","typeLabel":"boolean"},"input_tokens_est":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"input_tokens_est","typeLabel":"integer\u003cint64>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"reason","typeLabel":"string"},"decision_model":{"type":"string","example":"neon-1.1","isRequired":true,"uniqueKey":"decision_model","typeLabel":"string"},"catalog_as_of":{"type":"string","description":"The catalog snapshot date.","isRequired":true,"uniqueKey":"catalog_as_of","typeLabel":"string"},"benchmarks_as_of":{"type":"string","description":"The benchmark snapshot date.","isRequired":true,"uniqueKey":"benchmarks_as_of","typeLabel":"string"},"replayed":{"type":"boolean","description":"True when an `Idempotency-Key` replayed a stored classification.","isRequired":true,"uniqueKey":"replayed","typeLabel":"boolean"},"difficulty_floor":{"oneOf":[{"type":"number","format":"double","description":"v1 name for `threshold.tau` (`balanced`, `cost_efficient`).","uniqueKey":"difficulty_floor.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"v1 name for `threshold.tau` (`balanced`, `cost_efficient`).","uniqueKey":"difficulty_floor.oneOf.1","typeLabel":"null"}],"uniqueKey":"difficulty_floor","typeLabel":"number\u003cdouble> | null"},"threshold":{"oneOf":[{"type":"null","uniqueKey":"threshold.oneOf.0","typeLabel":"null"},{"type":"object","description":"The quality bar (`balanced`, `cost_efficient`).","required":["q_star","r","tau"],"properties":{"q_star":{"type":"number","format":"double","description":"Best expected quality among the filtered models.","isRequired":true,"uniqueKey":"threshold.oneOf.1.q_star","typeLabel":"number\u003cdouble>"},"r":{"type":"number","format":"double","description":"Required share of `q_star` at this difficulty.","isRequired":true,"uniqueKey":"threshold.oneOf.1.r","typeLabel":"number\u003cdouble>"},"tau":{"type":"number","format":"double","isRequired":true,"uniqueKey":"threshold.oneOf.1.tau","typeLabel":"number\u003cdouble>"}},"uniqueKey":"threshold.oneOf.1","typeLabel":"object"}],"uniqueKey":"threshold","typeLabel":"null | object"},"usage":{"oneOf":[{"type":"null","uniqueKey":"usage.oneOf.0","typeLabel":"null"},{"type":"object","description":"Tokens the run used.","required":["input_tokens","output_tokens"],"properties":{"input_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"usage.oneOf.1.input_tokens","typeLabel":"integer\u003cint64>"},"output_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"usage.oneOf.1.output_tokens","typeLabel":"integer\u003cint64>"}},"uniqueKey":"usage.oneOf.1","typeLabel":"object"}],"uniqueKey":"usage","typeLabel":"null | object"},"cost_micros":{"oneOf":[{"type":"integer","format":"int64","minimum":0,"uniqueKey":"cost_micros.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","minimum":0,"uniqueKey":"cost_micros.oneOf.1","typeLabel":"null"}],"uniqueKey":"cost_micros","typeLabel":"integer\u003cint64> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"rtr_0f8e3c1a9b2d4e5f8a7b6c5d4e3f2a1b","run_id":"\u003cstring>","policy":"\u003cstring>","model":{"id":"gpt-6-sol","name":"GPT-6 Sol","provider":"openai","open_weights":true},"classification":{"domain":{"label":"\u003cstring>","probabilities":{}},"difficulty":{"label":"\u003cstring>","probabilities":{}},"task_type":{"label":"code_generation","family":"\u003cstring>","top":[{"task_type":"code_generation","family":"coding","probability":123}],"fixed":true},"facets":{"difficulty_expected":123,"difficulty":{"label":"\u003cstring>","probabilities":{}},"output_length":{"label":"\u003cstring>","probabilities":{}},"output_tokens_est":123,"needs_tools":123,"needs_vision":123,"safety_sensitive":123,"language":"\u003cstring>","input_tokens_est":1,"target_language":"\u003cstring>"}},"ranking":[{"id":"\u003cstring>","name":"\u003cstring>","provider":"\u003cstring>","open_weights":true,"score":123,"blended_price_per_mtok":123,"domain_score":123,"expected_quality":123,"uncertainty":123,"estimated_cost_usd":123,"estimated_latency_ms":123,"latency_estimated":true,"strengths":[{"benchmark":"swe_bench_verified","name":"SWE-bench Verified","norm":123,"weight":123,"contribution":123,"value":123,"rank":1,"gap_to_best":123}],"weaknesses":[{"benchmark":"swe_bench_verified","name":"SWE-bench Verified","norm":123,"weight":123,"contribution":123,"value":123,"rank":1,"gap_to_best":123}],"imputed":[{"benchmark":"\u003cstring>","rule":"\u003cstring>","from":"\u003cstring>"}]}],"score_basis":"domain","filters_applied":[{"filter":"\u003cstring>","removed":1}],"low_confidence":true,"input_tokens_est":1,"reason":"\u003cstring>","decision_model":"neon-1.1","catalog_as_of":"\u003cstring>","benchmarks_as_of":"\u003cstring>","replayed":true,"difficulty_floor":123,"threshold":{"q_star":123,"r":123,"tau":123},"usage":{"input_tokens":1,"output_tokens":1},"cost_micros":1}}},"exampleType":"generated"}},"exampleType":"generated"},"3c994a6a-3375-4c79-8bd2-2e4f6f1ce64c":{"description":"Malformed body, invalid_policy, weights_require_balanced, unknown_model_id, or no_eligible_model","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"bbf24f89-898d-443b-98a6-c2ef7ac77ffa":{"description":"Missing, malformed, or expired credential","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"1c885396-6024-4fb8-b7a3-919deed59b6f":{"description":"The organization's credits do not cover the classification","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"99eff76b-4f9b-4c6d-b1f6-f6dcf41bee57":{"description":"The credential lacks runs_write","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"c3cafc0b-b28e-4027-9de1-89186ef2bf78":{"description":"The idempotency key was used with a different body, or its classification is not ready","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"05c74c28-7cd0-4870-9b2b-d3891e92105f":{"description":"`body_too_large` (over 4 MiB) or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"9bf818e9-72ec-49ca-b7d6-dd5883bd3926":{"description":"The organization's spend or token quota for this period cannot cover the classification.","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"b8d5d7c1-44d5-4633-8f33-4c358602c958":{"description":"The classifier or a required dependency is unavailable","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"edff1773-af12-421c-b352-575294ae3c7c":{"description":"`deadline_exceeded`: the classification did not finish within its deadline.","content":{"application/json":{"schema":{"type":"object","description":"The error envelope, shared by every route. Branch on `error.code`.","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Stable snake_case code. The only field to branch on.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"violations":{"type":"array","items":{"type":"string","uniqueKey":"error.violations.items.[INDEX]","typeLabel":"string"},"description":"Only on `verdict_schema_violation`: up to 10 JSON Pointers into the rejected document.","uniqueKey":"error.violations","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","violations":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3b09ff96-c55a-472f-b36a-415ff6104412":{"bearer":{"type":"http","scheme":"bearer","description":"An API key (otsk_ + 64 hex) or a console session token.","scopes":[]}},"36597b63-1d06-4946-b15c-023b7871487c":{"bearer":{"type":"http","scheme":"bearer","description":"An API key (otsk_ + 64 hex) or a console session token.","scopes":[]}}},"servers":{"b9e51016-dc72-438c-8be7-eedb6c738623":{"url":"https://api.opentype.dev","description":"Production"},"7768c5d7-e6e0-4d85-aba6-bff93ad8e2a8":{"url":"https://api.opentype.dev","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key (otsk_ + 64 hex) or a console session token.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key (otsk_ + 64 hex) or a console session token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key (otsk_ + 64 hex) or a console session token.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key (otsk_ + 64 hex) or a console session token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"opentype","siteName":"OpenType Docs","title":"Select a model - OpenType Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T03:10:31.365Z","originalFileLocation":"api-reference/router/select.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=\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write. Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with \u0026quot;kind\u0026quot;: \u0026quot;decision\u0026quot;. Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens. Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpenType Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_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/opentype/MGJu4GHwxVSFKXIS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Select a model - OpenType Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write. Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with \u0026quot;kind\u0026quot;: \u0026quot;decision\u0026quot;. Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens. Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpenType\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opentype.dev/api-reference/router/select\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opentype.dev/og/docs.png\">\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=\"Select a model - OpenType Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write. Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with \u0026quot;kind\u0026quot;: \u0026quot;decision\u0026quot;. Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens. Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opentype.dev/og/docs.png\">\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/opentype/MGJu4GHwxVSFKXIS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpenType Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A7A3B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opentype.dev/api-reference/router/select\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/router/select.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opentype.dev/#organization\",\"name\":\"OpenType Docs\",\"url\":\"https://docs.opentype.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opentype/nqaaLldDOctxoCbH/logo/light.svg?fit=max\u0026auto=format\u0026n=nqaaLldDOctxoCbH\u0026q=85\u0026s=73a92db185691378733575d262c4447f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opentype.dev#website\",\"name\":\"OpenType Docs\",\"url\":\"https://docs.opentype.dev\",\"publisher\":{\"@id\":\"https://docs.opentype.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opentype.dev/api-reference/router/select#webpage\",\"url\":\"https://docs.opentype.dev/api-reference/router/select\",\"name\":\"Select a model\",\"description\":\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write. Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with \\\"kind\\\": \\\"decision\\\". Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens. Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.\",\"dateModified\":\"2026-09-25T03:10:31.365Z\",\"isPartOf\":{\"@id\":\"https://docs.opentype.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opentype.dev/api-reference/router/select#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opentype.dev/api-reference/router/select#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"OpenType Docs\",\"item\":\"https://docs.opentype.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Select a model\",\"item\":\"https://docs.opentype.dev/api-reference/router/select\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.opentype.dev/api-reference/router/select#apireference\",\"headline\":\"Select a model\",\"name\":\"Select a model\",\"description\":\"Classifies a task with Neon 1.1 and selects a model from the benchmark catalog. Requires runs_write. Billed as one decision run: the same admission, quota, credit and settlement as POST /v1/runs with \\\"kind\\\": \\\"decision\\\". Send the task as prompt or as messages, not both. The body may be up to 4 MiB; decisions read up to 262,144 input tokens. Idempotency-Key is optional. Replaying a key returns the stored classification with replayed: true and never charges twice.\",\"url\":\"https://docs.opentype.dev/api-reference/router/select\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opentype.dev/api-reference/router/select#webpage\"},\"image\":\"https://opentype.dev/og/docs.png\",\"dateModified\":\"2026-09-25T03:10:31.365Z\",\"publisher\":{\"@id\":\"https://docs.opentype.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opentype.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpenType Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpenType Docs","nav":{"global":{"anchors":[{"anchor":"Changelog","icon":"clock-rotate-left","href":"/reference/changelog"}]},"tabs":[{"tab":"Get started","icon":"rocket","pages":[{"title":"Get started","href":""}]},{"tab":"Console","icon":"desktop","pages":[{"title":"Console","href":"/console"}]},{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"Security","icon":"shield-halved","pages":[{"title":"Security","href":"/security"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/reference"}]},{"tab":"API reference","icon":"code","groups":[{"group":"Overview","icon":"compass","pages":[{"title":"API reference","sidebarTitle":"Introduction","icon":"code","href":"/api-reference/introduction"}]},{"group":"Runs","icon":"play","pages":[{"title":"Create a run","deprecated":null,"version":null,"sidebarTitle":"Create","openapi":"/api-reference/openapi.json post /v1/runs","href":"/api-reference/runs/create"},{"title":"List runs","deprecated":null,"version":null,"sidebarTitle":"List","openapi":"/api-reference/openapi.json get /v1/runs","href":"/api-reference/runs/list"},{"title":"Retrieve a run","deprecated":null,"version":null,"sidebarTitle":"Retrieve","openapi":"/api-reference/openapi.json get /v1/runs/{run_id}","href":"/api-reference/runs/retrieve"},{"title":"Stream a run","description":"Returns the run's stored state as server-sent events, then closes. Requires `runs_read`. Never calls the model, so it cannot charge.\n\nThe body is one snapshot: a `state` event (`{run_id, state}`), then, only when the run is `completed` or `failed`, a `terminal` event with `run_id`, `state`, `input_digest` and `output_digest` (possibly `null`). A completed run's `terminal` event adds `kind` and the whole `verdict` or `decision`. There are no partial-answer events, no `id:` or `retry:` fields, and `Last-Event-ID` is not read. The stream does not wait for a `pending` run: request it again, or poll `GET /v1/runs/{run_id}`. Errors before the stream starts are JSON. See [Streaming](/guides/streaming).","deprecated":null,"version":null,"sidebarTitle":"Stream","openapi":"/api-reference/openapi.json get /v1/runs/{run_id}/stream","href":"/api-reference/runs/stream"}]},{"group":"Model Router","icon":"route","pages":[{"title":"Select a model","deprecated":null,"version":null,"sidebarTitle":"Select","openapi":"/api-reference/openapi.json post /v1/router/select","href":"/api-reference/router/select"},{"title":"List task types","description":"The task types the router classifies into, their families, and the benchmarks each one is scored on. Requires `runs_read`.","deprecated":null,"version":null,"sidebarTitle":"Task types","openapi":"/api-reference/openapi.json get /v1/router/task-types","href":"/api-reference/router/task-types"},{"title":"List router models","deprecated":null,"version":null,"sidebarTitle":"Models","openapi":"/api-reference/openapi.json get /v1/router/models","href":"/api-reference/router/models"}]},{"group":"API keys","icon":"key","pages":[{"title":"Create an API key","deprecated":null,"version":null,"sidebarTitle":"Create","openapi":"/api-reference/openapi.json post /v1/keys","href":"/api-reference/keys/create"},{"title":"List API keys","deprecated":null,"version":null,"sidebarTitle":"List","openapi":"/api-reference/openapi.json get /v1/keys","href":"/api-reference/keys/list"},{"title":"Retrieve an API key","deprecated":null,"version":null,"sidebarTitle":"Retrieve","openapi":"/api-reference/openapi.json get /v1/keys/{key_id}","href":"/api-reference/keys/retrieve"},{"title":"Rotate an API key","deprecated":null,"version":null,"sidebarTitle":"Rotate","openapi":"/api-reference/openapi.json post /v1/keys/{key_id}/rotate","href":"/api-reference/keys/rotate"},{"title":"Revoke an API key","deprecated":null,"version":null,"sidebarTitle":"Revoke","openapi":"/api-reference/openapi.json delete /v1/keys/{key_id}","href":"/api-reference/keys/revoke"}]},{"group":"Usage and quota","icon":"chart-line","pages":[{"title":"Usage rollup","deprecated":null,"version":null,"sidebarTitle":"Rollup","openapi":"/api-reference/openapi.json get /v1/usage","href":"/api-reference/usage/rollup"},{"title":"Daily usage","deprecated":null,"version":null,"sidebarTitle":"Daily","openapi":"/api-reference/openapi.json get /v1/usage/daily","href":"/api-reference/usage/daily"},{"title":"Usage ledger","deprecated":null,"version":null,"sidebarTitle":"Ledger","openapi":"/api-reference/openapi.json get /v1/usage/ledger","href":"/api-reference/usage/ledger"},{"title":"Run usage","deprecated":null,"version":null,"sidebarTitle":"Run","openapi":"/api-reference/openapi.json get /v1/usage/runs/{run_id}","href":"/api-reference/usage/run"},{"title":"Quota","deprecated":null,"version":null,"sidebarTitle":"Quota","openapi":"/api-reference/openapi.json get /v1/quota","href":"/api-reference/usage/quota"}]},{"group":"Billing","icon":"credit-card","pages":[{"title":"Get billing","deprecated":null,"version":null,"sidebarTitle":"Get","openapi":"/api-reference/openapi.json get /v1/billing","href":"/api-reference/billing/get"},{"title":"Create a checkout","deprecated":null,"version":null,"sidebarTitle":"Checkout","openapi":"/api-reference/openapi.json post /v1/billing/checkout","href":"/api-reference/billing/checkout"},{"title":"Open the billing portal","deprecated":null,"version":null,"sidebarTitle":"Portal","openapi":"/api-reference/openapi.json post /v1/billing/portal","href":"/api-reference/billing/portal"},{"title":"Set auto-recharge","deprecated":null,"version":null,"sidebarTitle":"Auto recharge","openapi":"/api-reference/openapi.json put /v1/billing/auto-recharge","href":"/api-reference/billing/auto-recharge"}]},{"group":"Health","icon":"heart-pulse","pages":[{"title":"Liveness","deprecated":null,"version":null,"sidebarTitle":"Liveness","openapi":"/api-reference/openapi.json get /healthz","href":"/api-reference/health/liveness"},{"title":"Readiness","deprecated":null,"version":null,"sidebarTitle":"Readiness","openapi":"/api-reference/openapi.json get /readyz","href":"/api-reference/health/readiness"}]}]}]},"basePath":"","title":"Select a model - OpenType Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C945cI-W.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}