from pathlib import Path
from tazo import Tazo
with Tazo() as client:
result = client.decisions.create(
audio=Path("request.wav"),
state="Choose an action.",
questions={"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {"get_weather": "Get weather.", "NO_TOOL": "No tool needed."},
}},
)
print(result.answers["action"])
curl --request POST \
--url https://api.tazolabs.com/v1/decisions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form 'request={
"state": {
"context": "Choose the tool matching the spoken request."
},
"questions": {
"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {
"NO_TOOL": "Respond directly without calling a tool.",
"get_weather": "Get weather for a city."
}
}
},
"model": "tazo-large"
};type=application/json' \
--form audio=@example-file
const form = new FormData();
form.append('request', '{
"state": {
"context": "Choose the tool matching the spoken request."
},
"questions": {
"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {
"NO_TOOL": "Respond directly without calling a tool.",
"get_weather": "Get weather for a city."
}
}
},
"model": "tazo-large"
}');
form.append('audio', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.tazolabs.com/v1/decisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
"error": {
"code": "model_unavailable",
"message": "Tazo Small is currently unavailable through the API. Contact support@tazolabs.com for assistance.",
"retryable": false
}
}
Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.
POST
/
v1
/
decisions
Python SDK
from pathlib import Path
from tazo import Tazo
with Tazo() as client:
result = client.decisions.create(
audio=Path("request.wav"),
state="Choose an action.",
questions={"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {"get_weather": "Get weather.", "NO_TOOL": "No tool needed."},
}},
)
print(result.answers["action"])
curl --request POST \
--url https://api.tazolabs.com/v1/decisions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form 'request={
"state": {
"context": "Choose the tool matching the spoken request."
},
"questions": {
"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {
"NO_TOOL": "Respond directly without calling a tool.",
"get_weather": "Get weather for a city."
}
}
},
"model": "tazo-large"
};type=application/json' \
--form audio=@example-file
const form = new FormData();
form.append('request', '{
"state": {
"context": "Choose the tool matching the spoken request."
},
"questions": {
"action": {
"type": "choice",
"instructions": "Which action should be taken?",
"criteria": {
"NO_TOOL": "Respond directly without calling a tool.",
"get_weather": "Get weather for a city."
}
}
},
"model": "tazo-large"
}');
form.append('audio', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.tazolabs.com/v1/decisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
"error": {
"code": "model_unavailable",
"message": "Tazo Small is currently unavailable through the API. Contact support@tazolabs.com for assistance.",
"retryable": false
}
}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tazo Labs","colors":{"primary":"#00897B","light":"#19C2AD","dark":"#00897B"},"logo":{"light":"https://mintcdn.com/tazo-labs/gUUC6zuyEh8ELI2x/logo/light.svg?fit=max\u0026auto=format\u0026n=gUUC6zuyEh8ELI2x\u0026q=85\u0026s=6e5e57c28058df99b96cf74c05ce6ef2","dark":"https://mintcdn.com/tazo-labs/gUUC6zuyEh8ELI2x/logo/dark.svg?fit=max\u0026auto=format\u0026n=gUUC6zuyEh8ELI2x\u0026q=85\u0026s=b177a7e6dad3071bae08e3e51c830690","href":"https://tazolabs.com"},"favicon":"https://mintcdn.com/tazo-labs/hcHTuKSMIyMM77kC/favicon.svg?fit=max\u0026auto=format\u0026n=hcHTuKSMIyMM77kC\u0026q=85\u0026s=14f370a22494945133b649eeca22c1d6","background":{"color":{"light":"#F6F9F9","dark":"#061214"}},"navbar":{"primary":{"type":"button","label":"Console","href":"https://app.tazolabs.com"}},"fonts":{"heading":{"family":"Hanken Grotesk","weight":600},"body":{"family":"Inter"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tazo-labs","hasAudioNarration":false,"actualSubdomain":"tazo-labs","customDomains":["docs.tazolabs.com"],"gitSource":{"type":"github","owner":"tazolabs","repo":"tazo-serving","deployBranch":"master","contentDirectory":"api-docs","isPrivate":false,"mountPath":"","label":"","_id":"6ad9e456ba7063c959a000f9"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae7987e62ef36be88645bb6","collectionId":"7311929c-009a-4d18-8283-ac4650282810","liveDeploymentHistoryId":"6ae7987e62ef36be88645bb6","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae8387eb4392014d523174a","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Guides","count":22},{"language":"default","tag":"Python SDK","count":14},{"language":"default","tag":"Build with Tazo","count":8},{"language":"default","tag":"Cookbooks","count":8},{"language":"default","tag":"API reference","count":6},{"language":"default","tag":"Python reference","count":6},{"language":"default","tag":"Getting started","count":4},{"language":"default","tag":"Get started","count":2},{"language":"default","tag":"Overview","count":1},{"language":"default","tag":"Streaming","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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":"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":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"IBM Plex Mono\";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.woff2) format(\"woff2\")}@font-face{font-family:\"IBM Plex Mono\";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-Medium.woff2) format(\"woff2\")}@font-face{font-family:\"IBM Plex Mono\";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold.woff2) format(\"woff2\")}.font-mono,code,kbd,pre,pre *,samp{font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important}h1,h2{letter-spacing:-.035em}h3,h4{letter-spacing:-.02em}#topbar-cta-button,#topbar-cta-button a,#topbar-cta-button span{border-radius:0!important}"}],"page":{"pagePath":"api-reference/decisions/take-decision","slug":"/api-reference/decisions/take-decision","pageMetadata":{"title":"Take decision","description":"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/decisions","href":"/api-reference/decisions/take-decision","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\"\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":"Take decision","description":"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/decisions","href":"/api-reference/decisions/take-decision","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/tazo-labs/08d1fe9e5008f04d/amplitude.js"],"openApiReferenceData":{"operation":{"tags":["Decisions"],"operationId":"createDecision","summary":"Take decision","description":"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.","security":["faf92719-33f3-4ec2-9ebf-43b0fb410bdf","7ed61cb5-e62e-4ed3-b768-396f27d460c6"],"parameters":["670cd0ff-ceb4-47ab-8705-2c0623156065"],"x-codeSamples":[{"lang":"python","label":"Python SDK","source":"from pathlib import Path\nfrom tazo import Tazo\n\nwith Tazo() as client:\n result = client.decisions.create(\n audio=Path(\"request.wav\"),\n state=\"Choose an action.\",\n questions={\"action\": {\n \"type\": \"choice\",\n \"instructions\": \"Which action should be taken?\",\n \"criteria\": {\"get_weather\": \"Get weather.\", \"NO_TOOL\": \"No tool needed.\"},\n }},\n )\n print(result.answers[\"action\"])\n"}],"requestBody":"1adc2d94-a59e-4533-a9b3-6ede08972761","responses":{"200":"9e03f96f-c1d0-4e65-9967-06fb5943241e","400":"3e81c1d7-620d-4a33-a338-5288d3658558","401":"1edc1a1d-399f-432c-9fac-275c7116fb35","402":"1012826c-84f5-41f5-b10f-1f522217ef7b","403":"17efd68e-81cc-475e-b9fa-7c107bca724b","404":"9b1df86d-8e94-40bf-ba64-da404a64b46e","409":"b8db348d-9e12-476e-bd2f-d1a89a361e12","413":"e1473846-127f-4fb2-b61a-a4cec908effd","422":"f6cba268-e9fa-4bd1-83f1-6553372a5f4d","429":"869263e4-20c1-4b7e-b3a4-20ac17305126","502":"f22f6a53-55b0-4940-9248-10b709736539","503":"a4b363fb-79e0-4db9-9e68-f329fe066b8b","504":"e54dcc23-56ba-4dd8-af50-961e3ad5ed61"},"method":"post","type":"path","servers":["e99ee75e-3f7a-4a97-b349-98be4b46f532"],"path":"/v1/decisions","baseUrlOptions":["https://api.tazolabs.com"],"title":"Take decision","codeSamples":[{"label":"Python SDK","lang":"python","source":"from pathlib import Path\nfrom tazo import Tazo\n\nwith Tazo() as client:\n result = client.decisions.create(\n audio=Path(\"request.wav\"),\n state=\"Choose an action.\",\n questions={\"action\": {\n \"type\": \"choice\",\n \"instructions\": \"Which action should be taken?\",\n \"criteria\": {\"get_weather\": \"Get weather.\", \"NO_TOOL\": \"No tool needed.\"},\n }},\n )\n print(result.answers[\"action\"])\n"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"670cd0ff-ceb4-47ab-8705-2c0623156065":{"in":"header","name":"Idempotency-Key","required":false,"description":"Retain one key per operation and reuse it with identical JSON, audio, and content type for retries. Keys are scoped to the authenticated account.","schema":{"type":"string","minLength":1,"maxLength":256,"isRequired":false,"description":"Retain one key per operation and reuse it with identical JSON, audio, and content type for retries. Keys are scoped to the authenticated account.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["request","audio"],"properties":{"request":{"type":"object","description":"State, question instructions, and criteria share the account's character budget (1,000 by default). See the Limits guide for counting rules.","additionalProperties":false,"required":["state","questions"],"properties":{"state":{"oneOf":[{"type":"string","description":"Context shared by all questions.","example":{"context":"Choose the tool matching the spoken request."},"isRequired":true,"uniqueKey":"request.state.oneOf.0","typeLabel":"string"},{"type":"object","description":"Context shared by all questions.","example":{"context":"Choose the tool matching the spoken request."},"additionalProperties":true,"isRequired":true,"uniqueKey":"request.state.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.state.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"Context shared by all questions.","example":{"context":"Choose the tool matching the spoken request."},"isRequired":true,"uniqueKey":"request.state.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"request.state","typeLabel":"string | object | string[]"},"questions":{"type":"object","minProperties":1,"description":"Map of caller-chosen question ID to question.","additionalProperties":{"oneOf":[{"type":"object","required":["type","instructions","criteria"],"properties":{"type":{"type":"string","enum":["choice"],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.instructions.oneOf.0","typeLabel":"string"},{"type":"object","description":"A string, a JSON object, or a list of strings.","additionalProperties":true,"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.questions.additionalProperties.oneOf.0.instructions.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.instructions.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.instructions","typeLabel":"string | object | string[]"},"criteria":{"type":"object","minProperties":2,"maxProperties":255,"description":"Map of choice ID to description. Choice IDs must not be blank.","additionalProperties":{"oneOf":[{"type":"string","description":"A string, a JSON object, or a list of strings.","uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"A string, a JSON object, or a list of strings.","additionalProperties":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"A string, a JSON object, or a list of strings.","uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria.additionalProperties","typeLabel":"string | object | string[] | null"},"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.0.criteria","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"request.questions.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","instructions"],"properties":{"type":{"type":"string","enum":["noul"],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.instructions.oneOf.0","typeLabel":"string"},{"type":"object","description":"A string, a JSON object, or a list of strings.","additionalProperties":true,"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.questions.additionalProperties.oneOf.1.instructions.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.instructions.oneOf.2","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.instructions","typeLabel":"string | object | string[]"},"criteria":{"oneOf":[{"type":"null","description":"Optional descriptions for true and false; include both when supplied.","uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.0","typeLabel":"null"},{"type":"object","description":"Optional descriptions for true and false; include both when supplied.","required":["true","false"],"properties":{"true":{"oneOf":[{"type":"string","description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true.oneOf.0","typeLabel":"string"},{"type":"object","description":"A string, a JSON object, or a list of strings.","additionalProperties":true,"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true.oneOf.2","typeLabel":"string[]"},{"type":"null","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.true","typeLabel":"string | object | string[] | null"},"false":{"oneOf":[{"type":"string","description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false.oneOf.0","typeLabel":"string"},{"type":"object","description":"A string, a JSON object, or a list of strings.","additionalProperties":true,"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"string","uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false.oneOf.2.items.[INDEX]","typeLabel":"string"},"description":"A string, a JSON object, or a list of strings.","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false.oneOf.2","typeLabel":"string[]"},{"type":"null","isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1.false","typeLabel":"string | object | string[] | null"}},"additionalProperties":false,"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria.oneOf.1","typeLabel":"object"}],"uniqueKey":"request.questions.additionalProperties.oneOf.1.criteria","typeLabel":"null | object"}},"additionalProperties":false,"uniqueKey":"request.questions.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"request.questions.additionalProperties","typeLabel":"object"},"example":{"action":{"type":"choice","instructions":"Which action should be taken?","criteria":{"NO_TOOL":"Respond directly without calling a tool.","get_weather":"Get weather for a city."}}},"isRequired":true,"uniqueKey":"request.questions","typeLabel":"object"},"model":{"type":"string","default":"tazo-large","description":"Use `tazo-large`. Its legacy model ID and `general` alias are accepted. Tazo Small and its aliases return 403 model_unavailable. Contact support@tazolabs.com for assistance.","example":"tazo-large","uniqueKey":"request.model","typeLabel":"string"}},"isRequired":true,"uniqueKey":"request","typeLabel":"object"},"audio":{"type":"string","format":"binary","description":"One audio file, up to 16 MB.","isRequired":true,"uniqueKey":"audio","typeLabel":"file"}},"uniqueKey":"","typeLabel":"object"},"encoding":{"request":{"contentType":"application/json"}},"examples":{"Example":{"title":"Example","value":{"request":{"state":{"context":"Choose the tool matching the spoken request."},"questions":{"action":{"type":"choice","instructions":"Which action should be taken?","criteria":{"NO_TOOL":"Respond directly without calling a tool.","get_weather":"Get weather for a city."}}},"model":"tazo-large"},"audio":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9e03f96f-c1d0-4e65-9967-06fb5943241e":{"description":"The decision completed.","headers":{"X-Tazo-Request-Id":{"description":"Identifier of the persisted request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","model","answers","usage","elapsed_ms"],"properties":{"id":{"type":"string","pattern":"^dec_[A-Za-z0-9_-]+$","example":"dec_example","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"model":{"type":"string","description":"The public model name.","example":"tazo-large","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"answers":{"type":"object","description":"Answers keyed by the question IDs you supplied.","additionalProperties":{"oneOf":[{"type":"object","required":["type","choice","probabilities","confidence"],"properties":{"type":{"type":"string","enum":["choice"],"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"choice":{"type":"string","description":"The selected choice ID.","example":"get_weather","isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.choice","typeLabel":"string"},"probabilities":{"type":"object","description":"Probability for each choice ID. Values sum to 1.","additionalProperties":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"answers.additionalProperties.oneOf.0.probabilities.additionalProperties","typeLabel":"number"},"example":{"NO_TOOL":0.08,"get_weather":0.92},"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.probabilities","typeLabel":"object"},"confidence":{"type":"number","minimum":0,"maximum":1,"description":"The probability of the selected choice.","example":0.92,"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.confidence","typeLabel":"number"}},"uniqueKey":"answers.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","noul"],"properties":{"type":{"type":"string","enum":["noul"],"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"noul":{"type":"number","minimum":0,"maximum":1,"description":"Probability that the statement is true.","isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.1.noul","typeLabel":"number"}},"uniqueKey":"answers.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"answers.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"answers","typeLabel":"object"},"usage":{"type":"object","required":["audio_seconds"],"properties":{"audio_seconds":{"type":"number","minimum":0,"example":2.4,"isRequired":true,"uniqueKey":"usage.audio_seconds","typeLabel":"number"},"input_tokens":{"oneOf":[{"type":"integer","minimum":0,"uniqueKey":"usage.input_tokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"uniqueKey":"usage.input_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage.input_tokens","typeLabel":"integer | null"},"output_tokens":{"oneOf":[{"type":"integer","minimum":0,"uniqueKey":"usage.output_tokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"uniqueKey":"usage.output_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage.output_tokens","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"usage","typeLabel":"object"},"elapsed_ms":{"type":"number","minimum":0,"example":52,"isRequired":true,"uniqueKey":"elapsed_ms","typeLabel":"number"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"dec_example","model":"tazo-large","answers":{"action":{"type":"choice","choice":"get_weather","probabilities":{"NO_TOOL":0.08,"get_weather":0.92},"confidence":0.92}},"usage":{"audio_seconds":2.4},"elapsed_ms":52},"examples":{"Example":{"title":"Example","value":{"id":"dec_example","model":"tazo-large","answers":{"action":{"type":"choice","choice":"get_weather","probabilities":{"NO_TOOL":0.08,"get_weather":0.92},"confidence":0.92}},"usage":{"audio_seconds":2.4},"elapsed_ms":52}}},"exampleType":"examples"}},"exampleType":"examples"},"3e81c1d7-620d-4a33-a338-5288d3658558":{"description":"Invalid Idempotency-Key; provide 1 to 256 nonblank characters.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"1edc1a1d-399f-432c-9fac-275c7116fb35":{"description":"The credential is missing (`missing_access_token`) or invalid (`invalid_access_token`, `invalid_api_key`).","headers":{"WWW-Authenticate":{"schema":{"type":"string","enum":["Bearer"]}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"1012826c-84f5-41f5-b10f-1f522217ef7b":{"description":"No paid audio time remains (insufficient_credits).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"17efd68e-81cc-475e-b9fa-7c107bca724b":{"description":"The account is paused or closed (`account_paused`, `account_closed`), or Tazo Small is unavailable through the API (`model_unavailable`). Contact support@tazolabs.com for assistance.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"model_unavailable","message":"Tazo Small is currently unavailable through the API. Contact support@tazolabs.com for assistance.","retryable":false}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_unavailable","message":"Tazo Small is currently unavailable through the API. Contact support@tazolabs.com for assistance.","retryable":false}}}},"exampleType":"examples"}},"exampleType":"examples"},"9b1df86d-8e94-40bf-ba64-da404a64b46e":{"description":"Unknown model (`model_not_found`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b8db348d-9e12-476e-bd2f-d1a89a361e12":{"description":"The Idempotency-Key was already used with different input (`idempotency_conflict`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e1473846-127f-4fb2-b61a-a4cec908effd":{"description":"The audio is over 16 MB (`audio_too_large`), or the request is too large to persist (`request_too_large`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"f6cba268-e9fa-4bd1-83f1-6553372a5f4d":{"description":"The `request` JSON does not match the v1 contract (`invalid_request`), its combined text exceeds the account's limit (1,000 characters by default; `request_text_too_long`), or the model rejected it (`model_rejected_request`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"869263e4-20c1-4b7e-b3a4-20ac17305126":{"description":"The account has 5 queued or running requests for this model (`concurrent_requests_exceeded`) or has admitted 500 requests in the rolling minute (`requests_per_minute_exceeded`). Rejected requests consume no allowance. Retry after the indicated delay.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"f22f6a53-55b0-4940-9248-10b709736539":{"description":"The model failed or returned an invalid response (`model_runtime_error`, `runtime_contract_violation`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a4b363fb-79e0-4db9-9e68-f329fe066b8b":{"description":"The inference service or durable execution service is unavailable (`tazo_unavailable`, `durable_execution_unavailable`). For `durable_execution_unavailable`, the request may already have been accepted. Reuse the original Idempotency-Key to recover safely. Without a key, retrying can create another request and retryable is false.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e54dcc23-56ba-4dd8-af50-961e3ad5ed61":{"description":"The inference service timed out (`tazo_timeout`), or the decision is still processing (`decision_pending`). For a pending decision, `X-Tazo-Request-Id` and `request_id` identify it, and processing continues. With the same Idempotency-Key and input, retrying retrieves the same operation and retryable is true. Without a key, retrying creates another request and retryable is false.","headers":{"X-Tazo-Request-Id":{"description":"Identifier of the persisted request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable"],"properties":{"code":{"type":"string","description":"Stable machine-readable code. Branch on this, not `message`.","example":"model_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Unknown model. Choose 'tazo-large'.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","description":"Whether repeating the same request can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"request_id":{"type":"string","description":"Present on `decision_pending` responses.","uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"model_not_found","message":"Unknown model. Choose 'tazo-large'.","retryable":true},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"faf92719-33f3-4ec2-9ebf-43b0fb410bdf":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An API key (`tazo_sk_...`). Also accepts a sign-in access token.","scopes":[],"schemeName":"bearerAuth"}},"7ed61cb5-e62e-4ed3-b768-396f27d460c6":{"accessToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A signed-in user's OIDC access token.","scopes":[],"schemeName":"accessToken"}}},"servers":{"e99ee75e-3f7a-4a97-b349-98be4b46f532":{"url":"https://api.tazolabs.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key (`tazo_sk_...`). Also accepts a sign-in access token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key (`tazo_sk_...`). Also accepts a sign-in access token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A signed-in user's OIDC access token.","scopes":[],"schemeName":"accessToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A signed-in user's OIDC access token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"accessToken","name":"Authorization"}],"title":"accessToken"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"tazo-labs","siteName":"Tazo Labs","title":"Take decision - Tazo Labs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T16:11:03.451Z","originalFileLocation":"api-reference/decisions/take-decision.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=\"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tazo Labs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_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/tazo-labs/BT5KqH-srx7s4S6E/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Take decision - Tazo Labs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tazo Labs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tazolabs.com/api-reference/decisions/take-decision\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tazo-labs.mintlify.app/_mintlify/api/og/v2?division=Decisions\u0026amp;title=Take+decision\u0026amp;description=Sends+audio+and+a+set+of+questions%2C+and+waits+for+the+typed+answers.+The+request+is+persisted+before+processing.+If+the+caller+disconnects+or+the+wait+times+out\u0026amp;theme=fe6cecf8d508de2105c9b56f\u0026amp;signature=739c00292b8461a929bcae05e74460a22cb64fd3440f56f459a55b6b54073a1c\">\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=\"Take decision - Tazo Labs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tazo-labs.mintlify.app/_mintlify/api/og/v2?division=Decisions\u0026amp;title=Take+decision\u0026amp;description=Sends+audio+and+a+set+of+questions%2C+and+waits+for+the+typed+answers.+The+request+is+persisted+before+processing.+If+the+caller+disconnects+or+the+wait+times+out\u0026amp;theme=fe6cecf8d508de2105c9b56f\u0026amp;signature=739c00292b8461a929bcae05e74460a22cb64fd3440f56f459a55b6b54073a1c\">\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/tazo-labs/BT5KqH-srx7s4S6E/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tazo Labs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00897B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tazolabs.com/api-reference/decisions/take-decision\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/decisions/take-decision.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tazolabs.com/#organization\",\"name\":\"Tazo Labs\",\"url\":\"https://docs.tazolabs.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tazo-labs/gUUC6zuyEh8ELI2x/logo/light.svg?fit=max\u0026auto=format\u0026n=gUUC6zuyEh8ELI2x\u0026q=85\u0026s=6e5e57c28058df99b96cf74c05ce6ef2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tazolabs.com#website\",\"name\":\"Tazo Labs\",\"url\":\"https://docs.tazolabs.com\",\"publisher\":{\"@id\":\"https://docs.tazolabs.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision#webpage\",\"url\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision\",\"name\":\"Take decision\",\"description\":\"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\",\"dateModified\":\"2026-11-01T16:11:03.451Z\",\"isPartOf\":{\"@id\":\"https://docs.tazolabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tazo Labs\",\"item\":\"https://docs.tazolabs.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Take decision\",\"item\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision#apireference\",\"headline\":\"Take decision\",\"name\":\"Take decision\",\"description\":\"Sends audio and a set of questions, and waits for the typed answers. The request is persisted before processing. If the caller disconnects or the wait times out, processing continues. When metering is enabled, Tazo Large audio is counted from samples and deducted in milliseconds, with sub-millisecond fractions carried forward across usage. New work requires positive paid credit; admitted work may finish below zero.\",\"url\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tazolabs.com/api-reference/decisions/take-decision#webpage\"},\"dateModified\":\"2026-11-01T16:11:03.451Z\",\"publisher\":{\"@id\":\"https://docs.tazolabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tazolabs.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tazo Labs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tazo Labs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","description":"Endpoints, authentication, and conventions for the Tazo API v1.","href":"/api-reference/introduction"}]},{"group":"Decisions","pages":[{"title":"Take decision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/decisions","href":"/api-reference/decisions/take-decision"}]},{"group":"Streaming","pages":[{"title":"Stream decisions","description":"Send audio over a WebSocket connection and receive typed decisions.","asyncapi":"api-reference/asyncapi.yaml decisions","playground":"none","href":"/api-reference/streaming/decisions"}]},{"group":"Models","pages":[{"title":"List models","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/models","href":"/api-reference/models/list-models"}]},{"group":"Billing","pages":[{"title":"Read the shared audio balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/usage","href":"/api-reference/usage/read-the-shared-audio-balance"}]},{"group":"Health","pages":[{"title":"Check readiness","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /healthz","href":"/api-reference/health/check-readiness"}]}]},{"tab":"Python SDK","pages":[{"title":"Python SDK","href":"/sdk/python/overview"}]},{"tab":"Build with Tazo","pages":[{"title":"Build with Tazo","href":"/build-with-tazo/overview"}]}]},"basePath":"","title":"Take decision - Tazo Labs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}