{ "data": [ { "request_id": "req_7f3a9c2b1d4e4f5a8b6c0d1e2f3a4b5c", "at": "2026-09-11T10:04:12Z", "method": "GET", "endpoint": "/v1/episodes/{episode_id}/transcript", "status": 200, "duration_ms": 137, "credits_charged": 1, "charge_pending": false, "error_code": null }, { "request_id": "req_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d", "at": "2026-09-11T10:02:55Z", "method": "POST", "endpoint": "/v1/quotes/{quote_id}/confirm", "status": 200, "duration_ms": 1840, "credits_charged": 22, "charge_pending": true, "error_code": null }, { "request_id": "req_9f8e7d6c5b4a39281706f5e4d3c2b1a0", "at": "2026-09-11T09:58:01Z", "method": "POST", "endpoint": "/v1/transcripts", "status": 402, "duration_ms": 88, "credits_charged": 0, "charge_pending": false, "error_code": "payment_required" } ], "next_cursor": "eyJzayI6IkxPRyMyMDI2", "omitted": { "reason": "refused_at_the_edge", "message": "Requests refused before they reached the API are not listed here: a key that was not recognized or has been revoked, and requests turned away by the per-minute rate limit. Those are refused at the edge, which authenticates without writing anything, so there is no record of them to show. Everything your key was allowed to run appears above." }}
The account's recent API requests and what each one cost
One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor.
credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request.
omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered.
Entries are retained for 30 days and then expire.
GET
/
v1
/
logs
The account's recent API requests and what each one cost
{ "data": [ { "request_id": "req_7f3a9c2b1d4e4f5a8b6c0d1e2f3a4b5c", "at": "2026-09-11T10:04:12Z", "method": "GET", "endpoint": "/v1/episodes/{episode_id}/transcript", "status": 200, "duration_ms": 137, "credits_charged": 1, "charge_pending": false, "error_code": null }, { "request_id": "req_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d", "at": "2026-09-11T10:02:55Z", "method": "POST", "endpoint": "/v1/quotes/{quote_id}/confirm", "status": 200, "duration_ms": 1840, "credits_charged": 22, "charge_pending": true, "error_code": null }, { "request_id": "req_9f8e7d6c5b4a39281706f5e4d3c2b1a0", "at": "2026-09-11T09:58:01Z", "method": "POST", "endpoint": "/v1/transcripts", "status": 402, "duration_ms": 88, "credits_charged": 0, "charge_pending": false, "error_code": "payment_required" } ], "next_cursor": "eyJzayI6IkxPRyMyMDI2", "omitted": { "reason": "refused_at_the_edge", "message": "Requests refused before they reached the API are not listed here: a key that was not recognized or has been revoked, and requests turned away by the per-minute rate limit. Those are refused at the edge, which authenticates without writing anything, so there is no record of them to show. Everything your key was allowed to run appears above." }}
A Cognito access token, issued through the dashboard's own sign-up and sign-in pages (a backend-for-frontend; there is no Cognito Hosted UI) and sent as Authorization: Bearer <jwt>. Dashboard operations require this scheme and cannot be called with an API key, with no exception. GET /v1/usage and GET /v1/limits offered both schemes from 0.8.0; 0.8.1 withdrew that, because the control-plane API serves them alone and its authorizer has no API-key branch. An account_id supplied by the client is ignored; all reads/writes are scoped server-side to the authenticated account.
What this log does not contain, stated in every response including an empty one.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Audivo","description":"Podcast transcripts by API: send an episode, get the transcript.","colors":{"primary":"#1f6f5f","light":"#3aa08b","dark":"#164f44"},"logo":{"light":"https://mintcdn.com/hark-5cc9dfca/xZqIgLIsKXAcTJ_E/logo/light.png?fit=max\u0026auto=format\u0026n=xZqIgLIsKXAcTJ_E\u0026q=85\u0026s=290108566f8ad3bd0fda322b7324bbf2","dark":"https://mintcdn.com/hark-5cc9dfca/xZqIgLIsKXAcTJ_E/logo/dark.png?fit=max\u0026auto=format\u0026n=xZqIgLIsKXAcTJ_E\u0026q=85\u0026s=51442e7e1f33fc4a51cfee89a104e369"},"favicon":"https://mintcdn.com/hark-5cc9dfca/EA1QjhSCYNWn_mCh/favicon.png?fit=max\u0026auto=format\u0026n=EA1QjhSCYNWn_mCh\u0026q=85\u0026s=9feae7b6390de852ae74901d0dec1d11","api":{"playground":{"display":"simple"}},"appearance":{"default":"system"},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hark-5cc9dfca","hasAudioNarration":false,"actualSubdomain":"hark-5cc9dfca","customDomains":["docs.audivo.dev"],"gitSource":{"type":"github","owner":"vvaradinov","repo":"podcast-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6abf83c3cb1db2609accf412","collectionId":"2edcaa68-1d35-4483-8de2-b1bce9e2e795","liveDeploymentHistoryId":"6abf83c3cb1db2609accf412","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6abf83c3cb1db2609accf412","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":36},{"language":"default","tag":"Guides","count":23},{"language":"default","tag":"Billing","count":9},{"language":"default","tag":"Start","count":4},{"language":"default","tag":"Reference","count":4},{"language":"default","tag":"Account","count":4},{"language":"default","tag":"Catalog","count":4},{"language":"default","tag":"Connected Apps","count":4},{"language":"default","tag":"Transcripts","count":4},{"language":"default","tag":"API Keys","count":3}]},"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":"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img.nav-logo{height:2.25rem!important}"}],"page":{"pagePath":"api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost","slug":"/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost","pageMetadata":{"title":"The account's recent API requests and what each one cost","description":"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with `limit` and `cursor`.\n\n**`credits_charged` is what was actually spent, never what was held.** A request that submits work answers `202` having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at `0` and grows as the work lands. It never falls: a reservation that is released is never charged. `charge_pending` is `true` for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger `GET /v1/usage` reports from, so the two pages cannot disagree about one request.\n\n**`omitted` says what this log cannot show.** Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered.\n\nEntries are retained for 30 days and then expire.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/logs","href":"/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with \", _jsx(_components.code, {\n children: \"limit\"\n }), \" and \", _jsx(_components.code, {\n children: \"cursor\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"credits_charged\"\n }), \" is what was actually spent, never what was held.\"]\n }), \" A request that submits work answers \", _jsx(_components.code, {\n children: \"202\"\n }), \" having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at \", _jsx(_components.code, {\n children: \"0\"\n }), \" and grows as the work lands. It never falls: a reservation that is released is never charged. \", _jsx(_components.code, {\n children: \"charge_pending\"\n }), \" is \", _jsx(_components.code, {\n children: \"true\"\n }), \" for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger \", _jsx(_components.code, {\n children: \"GET /v1/usage\"\n }), \" reports from, so the two pages cannot disagree about one request.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"omitted\"\n }), \" says what this log cannot show.\"]\n }), \" Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Entries are retained for 30 days and then expire.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"The account's recent API requests and what each one cost","description":"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with `limit` and `cursor`.\n\n**`credits_charged` is what was actually spent, never what was held.** A request that submits work answers `202` having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at `0` and grows as the work lands. It never falls: a reservation that is released is never charged. `charge_pending` is `true` for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger `GET /v1/usage` reports from, so the two pages cannot disagree about one request.\n\n**`omitted` says what this log cannot show.** Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered.\n\nEntries are retained for 30 days and then expire.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/logs","href":"/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"listRequestLogs","tags":["Account"],"summary":"The account's recent API requests and what each one cost","security":["d706f3fa-aefb-4ae7-b3bd-0f4e4d94cb24"],"description":"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with `limit` and `cursor`.\n\n**`credits_charged` is what was actually spent, never what was held.** A request that submits work answers `202` having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at `0` and grows as the work lands. It never falls: a reservation that is released is never charged. `charge_pending` is `true` for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger `GET /v1/usage` reports from, so the two pages cannot disagree about one request.\n\n**`omitted` says what this log cannot show.** Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered.\n\nEntries are retained for 30 days and then expire.","parameters":["0f08b971-e22a-4c35-a0da-39086a45187a","096a15fb-16b8-431c-b3b1-4453a9d217a4"],"responses":{"200":"68710dc6-b1d9-4310-a41e-3fc6e71f9ac7","400":"92c27959-06f0-4540-8a3d-1e21c3917643","401":"500041ce-56c2-48dc-bc45-8a967bf5aa3f","429":"8c52e7e6-39d0-4beb-8ea0-de7c97aa8adc","500":"ced95477-d926-4d70-90ac-640bd5c16cb5"},"method":"get","type":"path","servers":["ab95c592-ddf1-4927-bb4a-1f83f0e8e07e"],"path":"/v1/logs","baseUrlOptions":["https://api.audivo.dev"],"title":"The account's recent API requests and what each one cost","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0f08b971-e22a-4c35-a0da-39086a45187a":{"name":"limit","in":"query","required":false,"description":"Maximum number of items to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20,"isRequired":false,"description":"Maximum number of items to return.","uniqueKey":"","typeLabel":"integer"}},"096a15fb-16b8-431c-b3b1-4453a9d217a4":{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor from a previous page's `next_cursor`.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,512}$","description":"Opaque pagination cursor from a previous page's `next_cursor`.\nAn opaque pagination cursor. Callers must treat it as opaque.","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"68710dc6-b1d9-4310-a41e-3fc6e71f9ac7":{"description":"One page of the account's recent requests, newest first.","headers":{"X-Request-Id":{"description":"Echoed on every response, success or error. A refusal generated at the edge (401, 429, and the unmetered-key 500) carries API Gateway's own hyphenated request id after the `req_` prefix; a response from a function carries the same id without hyphens.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["data","next_cursor","omitted"],"properties":{"data":{"type":"array","maxItems":100,"description":"Requests newest first.","items":{"type":"object","additionalProperties":false,"required":["request_id","at","method","endpoint","status","duration_ms","credits_charged","charge_pending","error_code"],"properties":{"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"data.items.[INDEX].request_id","typeLabel":"string"},"at":{"type":"string","format":"date-time","description":"When the API finished handling the request.","isRequired":true,"uniqueKey":"data.items.[INDEX].at","typeLabel":"string\u003cdate-time>"},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"],"isRequired":true,"uniqueKey":"data.items.[INDEX].method","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"string","maxLength":200,"description":"The route template the request matched, e.g. `/v1/episodes/{episode_id}/transcript` — not the path as called. A log entry names a route, never its contents: no identifier a caller passed, no query string, and no request body is recorded.","example":"/v1/episodes/{episode_id}/transcript","isRequired":true,"uniqueKey":"data.items.[INDEX].endpoint","typeLabel":"string"},"status":{"type":"integer","minimum":100,"maximum":599,"isRequired":true,"uniqueKey":"data.items.[INDEX].status","typeLabel":"integer"},"duration_ms":{"type":"integer","minimum":0,"description":"How long the API took to answer, in milliseconds.","isRequired":true,"uniqueKey":"data.items.[INDEX].duration_ms","typeLabel":"integer"},"credits_charged":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Credits actually charged for this request so far. `0` for the requests that cost nothing, and for a submission whose work has not settled yet — see `charge_pending`.","isRequired":true,"uniqueKey":"data.items.[INDEX].credits_charged","typeLabel":"integer"},"charge_pending":{"type":"boolean","description":"`true` when this request started work that is charged as it lands, so `credits_charged` may still grow. `false` when the figure is final. A boolean rather than a credit amount, which is why it is not named `credits_*`.","isRequired":true,"uniqueKey":"data.items.[INDEX].charge_pending","typeLabel":"boolean"},"error_code":{"oneOf":[{"type":"string","description":"The error code the request was refused with, or `null` if it succeeded.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"isRequired":true,"uniqueKey":"data.items.[INDEX].error_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The error code the request was refused with, or `null` if it succeeded.","enum":[null],"isRequired":true,"uniqueKey":"data.items.[INDEX].error_code.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].error_code","typeLabel":"enum\u003cstring> | any"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"next_cursor":{"oneOf":[{"type":"string","description":"An opaque pagination cursor, or `null` when there is no next page.","pattern":"^[A-Za-z0-9_-]{1,512}$","isRequired":true,"uniqueKey":"next_cursor.oneOf.0","typeLabel":"string"},{"description":"An opaque pagination cursor, or `null` when there is no next page.","enum":[null],"isRequired":true,"uniqueKey":"next_cursor.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"next_cursor","typeLabel":"string | any"},"omitted":{"type":"object","additionalProperties":false,"required":["reason","message"],"description":"What this log does not contain, stated in every response including an empty one.","properties":{"reason":{"type":"string","enum":["refused_at_the_edge"],"isRequired":true,"uniqueKey":"omitted.reason","typeLabel":"enum\u003cstring>"},"message":{"type":"string","maxLength":600,"isRequired":true,"uniqueKey":"omitted.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"omitted","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"logs":{"title":"logs","value":{"data":[{"request_id":"req_7f3a9c2b1d4e4f5a8b6c0d1e2f3a4b5c","at":"2026-09-11T10:04:12Z","method":"GET","endpoint":"/v1/episodes/{episode_id}/transcript","status":200,"duration_ms":137,"credits_charged":1,"charge_pending":false,"error_code":null},{"request_id":"req_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d","at":"2026-09-11T10:02:55Z","method":"POST","endpoint":"/v1/quotes/{quote_id}/confirm","status":200,"duration_ms":1840,"credits_charged":22,"charge_pending":true,"error_code":null},{"request_id":"req_9f8e7d6c5b4a39281706f5e4d3c2b1a0","at":"2026-09-11T09:58:01Z","method":"POST","endpoint":"/v1/transcripts","status":402,"duration_ms":88,"credits_charged":0,"charge_pending":false,"error_code":"payment_required"}],"next_cursor":"eyJzayI6IkxPRyMyMDI2","omitted":{"reason":"refused_at_the_edge","message":"Requests refused before they reached the API are not listed here: a key that was not recognized or has been revoked, and requests turned away by the per-minute rate limit. Those are refused at the edge, which authenticates without writing anything, so there is no record of them to show. Everything your key was allowed to run appears above."}}}},"exampleType":"examples"}},"exampleType":"examples"},"92c27959-06f0-4540-8a3d-1e21c3917643":{"description":"Code: `invalid_request`.","headers":{"X-Request-Id":{"description":"Echoed on every response, success or error. A refusal generated at the edge (401, 429, and the unmetered-key 500) carries API Gateway's own hyphenated request id after the `req_` prefix; a response from a function carries the same id without hyphens.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"oneOf":[{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","source_not_supported","unsafe_source"],"isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"invalid_request","isRequired":true,"uniqueKey":"error.oneOf.0.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.0.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.0.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.0.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","credits_not_refundable","upload_mismatch","max_credits_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.1.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.1.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.1.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.1.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.1.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.2.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.2.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.2.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.2.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.2","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["idempotency_conflict","job_not_completed","api_key_limit_reached","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_not_received"],"isRequired":true,"uniqueKey":"error.oneOf.3.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"conflict","isRequired":true,"uniqueKey":"error.oneOf.3.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.3.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.3.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.3.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.3.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["feed_dead","episode_not_found","show_not_found","job_not_found","api_key_not_found","credit_lot_not_found","quote_not_found","group_not_found","upload_not_found","oauth_request_not_found","connected_app_not_found"],"isRequired":true,"uniqueKey":"error.oneOf.4.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"not_found","isRequired":true,"uniqueKey":"error.oneOf.4.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.4.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.4.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.4.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.4.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.4","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.5.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.5.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.5.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.5.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.5","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.6.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.6.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.6.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.6.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.6","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["rate_limited","concurrency_limited","upload_quota_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.7.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"rate_limited","isRequired":true,"uniqueKey":"error.oneOf.7.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.7.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.7.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.7.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.7.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.7","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["engine_unavailable","processing_failed","discovery_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.oneOf.8.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unavailable","isRequired":true,"uniqueKey":"error.oneOf.8.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.8.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.8.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.8.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.8.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.8","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"nothing_to_quote","isRequired":true,"uniqueKey":"error.oneOf.9.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.9.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.9.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.9.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.9.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.9.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.9","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","type":"invalid_request","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"500041ce-56c2-48dc-bc45-8a967bf5aa3f":{"description":"Code `unauthenticated` — the Cognito JWT is missing, malformed, expired, or was rejected. An API key presented to one of the operations that declare this response lands here too: they take a session and nothing else, and that is an authentication failure, not an authorization one. That includes `GET /v1/usage` and `GET /v1/limits`, which are served by the control-plane API alone.","headers":{"X-Request-Id":{"description":"Echoed on every response, success or error. A refusal generated at the edge (401, 429, and the unmetered-key 500) carries API Gateway's own hyphenated request id after the `req_` prefix; a response from a function carries the same id without hyphens.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"oneOf":[{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","source_not_supported","unsafe_source"],"isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"invalid_request","isRequired":true,"uniqueKey":"error.oneOf.0.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.0.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.0.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.0.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","credits_not_refundable","upload_mismatch","max_credits_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.1.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.1.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.1.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.1.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.1.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.2.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.2.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.2.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.2.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.2","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["idempotency_conflict","job_not_completed","api_key_limit_reached","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_not_received"],"isRequired":true,"uniqueKey":"error.oneOf.3.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"conflict","isRequired":true,"uniqueKey":"error.oneOf.3.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.3.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.3.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.3.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.3.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["feed_dead","episode_not_found","show_not_found","job_not_found","api_key_not_found","credit_lot_not_found","quote_not_found","group_not_found","upload_not_found","oauth_request_not_found","connected_app_not_found"],"isRequired":true,"uniqueKey":"error.oneOf.4.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"not_found","isRequired":true,"uniqueKey":"error.oneOf.4.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.4.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.4.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.4.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.4.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.4","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.5.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.5.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.5.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.5.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.5","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.6.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.6.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.6.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.6.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.6","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["rate_limited","concurrency_limited","upload_quota_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.7.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"rate_limited","isRequired":true,"uniqueKey":"error.oneOf.7.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.7.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.7.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.7.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.7.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.7","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["engine_unavailable","processing_failed","discovery_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.oneOf.8.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unavailable","isRequired":true,"uniqueKey":"error.oneOf.8.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.8.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.8.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.8.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.8.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.8","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"nothing_to_quote","isRequired":true,"uniqueKey":"error.oneOf.9.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.9.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.9.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.9.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.9.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.9.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.9","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","type":"invalid_request","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"8c52e7e6-39d0-4beb-8ea0-de7c97aa8adc":{"description":"Code `rate_limited`, e.g. plan-change rate limiting.","headers":{"X-Request-Id":{"description":"Echoed on every response, success or error. A refusal generated at the edge (401, 429, and the unmetered-key 500) carries API Gateway's own hyphenated request id after the `req_` prefix; a response from a function carries the same id without hyphens.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100}},"Retry-After":{"description":"Seconds to wait before retrying. Sent with the edge's `rate_limited` throttle refusal. Not sent with `concurrency_limited`, which clears when one of the account's own jobs reaches a terminal state — a moment the API cannot put a number on.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"oneOf":[{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","source_not_supported","unsafe_source"],"isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"invalid_request","isRequired":true,"uniqueKey":"error.oneOf.0.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.0.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.0.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.0.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","credits_not_refundable","upload_mismatch","max_credits_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.1.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.1.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.1.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.1.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.1.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.2.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.2.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.2.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.2.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.2","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["idempotency_conflict","job_not_completed","api_key_limit_reached","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_not_received"],"isRequired":true,"uniqueKey":"error.oneOf.3.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"conflict","isRequired":true,"uniqueKey":"error.oneOf.3.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.3.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.3.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.3.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.3.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["feed_dead","episode_not_found","show_not_found","job_not_found","api_key_not_found","credit_lot_not_found","quote_not_found","group_not_found","upload_not_found","oauth_request_not_found","connected_app_not_found"],"isRequired":true,"uniqueKey":"error.oneOf.4.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"not_found","isRequired":true,"uniqueKey":"error.oneOf.4.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.4.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.4.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.4.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.4.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.4","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.5.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.5.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.5.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.5.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.5","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.6.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.6.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.6.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.6.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.6","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["rate_limited","concurrency_limited","upload_quota_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.7.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"rate_limited","isRequired":true,"uniqueKey":"error.oneOf.7.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.7.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.7.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.7.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.7.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.7","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["engine_unavailable","processing_failed","discovery_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.oneOf.8.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unavailable","isRequired":true,"uniqueKey":"error.oneOf.8.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.8.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.8.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.8.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.8.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.8","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"nothing_to_quote","isRequired":true,"uniqueKey":"error.oneOf.9.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.9.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.9.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.9.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.9.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.9.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.9","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","type":"invalid_request","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"ced95477-d926-4d70-90ac-640bd5c16cb5":{"description":"Code `internal_error` — a call on our side failed and nothing was changed. On `POST /v1/session` this is what an unreachable identity service or an unreadable configuration answers with, deliberately rather than `401`: the session is not the problem, and telling a signed-in customer their token is bad during an outage of ours sends them into a sign-in loop. Retryable; `request_id` is what identifies it in our logs.","headers":{"X-Request-Id":{"description":"Echoed on every response, success or error. A refusal generated at the edge (401, 429, and the unmetered-key 500) carries API Gateway's own hyphenated request id after the `req_` prefix; a response from a function carries the same id without hyphens.","schema":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"oneOf":[{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","source_not_supported","unsafe_source"],"isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"invalid_request","isRequired":true,"uniqueKey":"error.oneOf.0.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.0.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.0.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.0.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","credits_not_refundable","upload_mismatch","max_credits_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.1.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.1.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.1.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.1.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.1.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unauthenticated","isRequired":true,"uniqueKey":"error.oneOf.2.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.2.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.2.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.2.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.2.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.2","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["idempotency_conflict","job_not_completed","api_key_limit_reached","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_not_received"],"isRequired":true,"uniqueKey":"error.oneOf.3.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"conflict","isRequired":true,"uniqueKey":"error.oneOf.3.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.3.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.3.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.3.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.3.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["feed_dead","episode_not_found","show_not_found","job_not_found","api_key_not_found","credit_lot_not_found","quote_not_found","group_not_found","upload_not_found","oauth_request_not_found","connected_app_not_found"],"isRequired":true,"uniqueKey":"error.oneOf.4.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"not_found","isRequired":true,"uniqueKey":"error.oneOf.4.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.4.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.4.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.4.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.4.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.4","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"content_blocked","isRequired":true,"uniqueKey":"error.oneOf.5.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.5.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.5.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.5.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.5.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.5","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"payment_required","isRequired":true,"uniqueKey":"error.oneOf.6.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.6.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.6.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.6.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.6.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.6","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["rate_limited","concurrency_limited","upload_quota_exceeded"],"isRequired":true,"uniqueKey":"error.oneOf.7.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"rate_limited","isRequired":true,"uniqueKey":"error.oneOf.7.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.7.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.7.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.7.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.7.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.7","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["engine_unavailable","processing_failed","discovery_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.oneOf.8.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unavailable","isRequired":true,"uniqueKey":"error.oneOf.8.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.8.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.8.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.8.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.8.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.8","typeLabel":"object"},{"type":"object","required":["type","code","message","doc_url","request_id","retryable"],"properties":{"code":{"type":"string","description":"Every code the API returns, and the HTTP status it comes with. `invalid_request`, `invalid_url` → 400. `unauthenticated` → 401. `payment_required` → 402. `job_not_found`, `quote_not_found`, `group_not_found`, `api_key_not_found`, `credit_lot_not_found`, `upload_not_found`, `oauth_request_not_found`, `connected_app_not_found` → 404. `idempotency_conflict`, `request_in_progress`, `job_not_completed`, `quote_expired`, `quote_mismatch`, `quote_unverified`, `expected_total_mismatch`, `account_suspended`, `account_closed`, `account_not_found`, `api_key_limit_reached`, `tier_unchanged`, `upload_not_received` → 409; `upload_not_received` is retryable once the file's PUT has landed. `source_not_supported`, `feed_dead`, `episode_not_found`, `show_not_found`, `unsafe_source`, `unsupported_codec`, `unsupported_language`, `duration_exceeded`, `size_exceeded`, `nothing_to_quote`, `credits_not_refundable`, `upload_mismatch`, `max_credits_exceeded` → 422. `content_blocked` → 451. `rate_limited`, `concurrency_limited`, `upload_quota_exceeded` → 429; `upload_quota_exceeded` is retryable, at the earliest capacity return time its message names. `internal_error`, `processing_failed` → 500. `discovery_unavailable`, `engine_unavailable` → 503. `processing_failed` also appears inside a failed job's `error` field rather than as a live status. Each code has a heading on the documentation site's errors page, which is what `doc_url` links to.","enum":["invalid_request","invalid_url","unauthenticated","idempotency_conflict","job_not_completed","source_not_supported","feed_dead","episode_not_found","show_not_found","unsafe_source","unsupported_codec","unsupported_language","duration_exceeded","size_exceeded","content_blocked","payment_required","rate_limited","concurrency_limited","job_not_found","api_key_not_found","api_key_limit_reached","credit_lot_not_found","credits_not_refundable","engine_unavailable","processing_failed","discovery_unavailable","nothing_to_quote","internal_error","quote_not_found","group_not_found","quote_expired","quote_mismatch","quote_unverified","expected_total_mismatch","request_in_progress","account_suspended","account_closed","account_not_found","tier_unchanged","upload_quota_exceeded","upload_not_found","upload_not_received","upload_mismatch","max_credits_exceeded","oauth_request_not_found","connected_app_not_found"],"const":"nothing_to_quote","isRequired":true,"uniqueKey":"error.oneOf.9.code","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"The family an error belongs to, for handling; `code` is the precise reason. `invalid_request`: something in the request is wrong — fix the integration. `unprocessable_input`: the request is well-formed but the episode or resource is outside published support. `unauthenticated`: missing, malformed, revoked or expired credential. `payment_required`: the account's credits cannot cover the ceiling. `conflict`: the resource's or the account's state refuses this request as sent — a lapsed quote, a reused idempotency key, a held account. `not_found`: the job, quote, group or key the request named does not exist for this account. `rate_limited`: over a plan limit; wait and retry. `unavailable`: a failure on our side or at a provider; retry, and quote `request_id` if it persists.","enum":["invalid_request","unprocessable_input","unauthenticated","conflict","not_found","content_blocked","payment_required","rate_limited","unavailable"],"const":"unprocessable_input","isRequired":true,"uniqueKey":"error.oneOf.9.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"error.oneOf.9.message","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","maxLength":300,"isRequired":true,"uniqueKey":"error.oneOf.9.doc_url","typeLabel":"string\u003curi>"},"request_id":{"type":"string","pattern":"^req_[A-Za-z0-9-]+$","maxLength":100,"isRequired":true,"uniqueKey":"error.oneOf.9.request_id","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.oneOf.9.retryable","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.9","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","type":"invalid_request","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d706f3fa-aefb-4ae7-b3bd-0f4e4d94cb24":{"dashboardJwt":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A Cognito access token, issued through the dashboard's own sign-up and sign-in pages (a backend-for-frontend; there is no Cognito Hosted UI) and sent as `Authorization: Bearer \u003cjwt>`. Dashboard operations require this scheme and cannot be called with an API key, with no exception. `GET /v1/usage` and `GET /v1/limits` offered both schemes from 0.8.0; 0.8.1 withdrew that, because the control-plane API serves them alone and its authorizer has no API-key branch. An `account_id` supplied by the client is ignored; all reads/writes are scoped server-side to the authenticated account.","scopes":[]}}},"servers":{"ab95c592-ddf1-4927-bb4a-1f83f0e8e07e":{"url":"https://api.audivo.dev","description":"Production API. Append the operation path, including /v1."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A Cognito access token, issued through the dashboard's own sign-up and sign-in pages (a backend-for-frontend; there is no Cognito Hosted UI) and sent as `Authorization: Bearer \u003cjwt>`. Dashboard operations require this scheme and cannot be called with an API key, with no exception. `GET /v1/usage` and `GET /v1/limits` offered both schemes from 0.8.0; 0.8.1 withdrew that, because the control-plane API serves them alone and its authorizer has no API-key branch. An `account_id` supplied by the client is ignored; all reads/writes are scoped server-side to the authenticated account.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A Cognito access token, issued through the dashboard's own sign-up and sign-in pages (a backend-for-frontend; there is no Cognito Hosted UI) and sent as `Authorization: Bearer \u003cjwt>`. Dashboard operations require this scheme and cannot be called with an API key, with no exception. `GET /v1/usage` and `GET /v1/limits` offered both schemes from 0.8.0; 0.8.1 withdrew that, because the control-plane API serves them alone and its authorizer has no API-key branch. An `account_id` supplied by the client is ignored; all reads/writes are scoped server-side to the authenticated account.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"dashboardJwt","name":"Authorization"}],"title":"dashboardJwt"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"hark-5cc9dfca","siteName":"Audivo","title":"The account's recent API requests and what each one cost - Audivo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T10:13:28.229Z","originalFileLocation":"api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost.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=\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor. credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request. omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered. Entries are retained for 30 days and then expire.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Audivo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"The account\u0026#x27;s recent API requests and what each one cost - Audivo\">\u003cmeta data-mint-head property=\"og:description\" content=\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor. credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request. omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered. Entries are retained for 30 days and then expire.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Audivo\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hark-5cc9dfca.mintlify.app/_mintlify/api/og/v2?division=Account\u0026amp;title=The+account%27s+recent+API+requests+and+what+each+one+cost\u0026amp;description=One+entry+per+request+the+account+made%3A+when+it+arrived%2C+the+endpoint+it+called%2C+how+it+ended%2C+and+the+credits+it+was+charged.+Newest+first%2C+paged+with+%60limit%60+\u0026amp;theme=1f6a5cf39cb6ad43e1c26c30\u0026amp;signature=4c6fa21f9508368ceac1245a4fb5776393b5707d9af888da0c353afcc39202de\">\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=\"The account\u0026#x27;s recent API requests and what each one cost - Audivo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor. credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request. omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered. Entries are retained for 30 days and then expire.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hark-5cc9dfca.mintlify.app/_mintlify/api/og/v2?division=Account\u0026amp;title=The+account%27s+recent+API+requests+and+what+each+one+cost\u0026amp;description=One+entry+per+request+the+account+made%3A+when+it+arrived%2C+the+endpoint+it+called%2C+how+it+ended%2C+and+the+credits+it+was+charged.+Newest+first%2C+paged+with+%60limit%60+\u0026amp;theme=1f6a5cf39cb6ad43e1c26c30\u0026amp;signature=4c6fa21f9508368ceac1245a4fb5776393b5707d9af888da0c353afcc39202de\">\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/hark-5cc9dfca/8y4x_mdUqdXG6Y0w/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Audivo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1f6f5f\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.audivo.dev/#organization\",\"name\":\"Audivo\",\"url\":\"https://docs.audivo.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hark-5cc9dfca/xZqIgLIsKXAcTJ_E/logo/light.png?fit=max\u0026auto=format\u0026n=xZqIgLIsKXAcTJ_E\u0026q=85\u0026s=290108566f8ad3bd0fda322b7324bbf2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.audivo.dev#website\",\"name\":\"Audivo\",\"url\":\"https://docs.audivo.dev\",\"publisher\":{\"@id\":\"https://docs.audivo.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost#webpage\",\"url\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost\",\"name\":\"The account's recent API requests and what each one cost\",\"description\":\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor. credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request. omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered. Entries are retained for 30 days and then expire.\",\"dateModified\":\"2026-10-02T10:13:28.229Z\",\"isPartOf\":{\"@id\":\"https://docs.audivo.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Account\",\"item\":\"https://docs.audivo.dev/api-reference/account/account-credit-balance-and-period-usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The account's recent API requests and what each one cost\",\"item\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost#apireference\",\"headline\":\"The account's recent API requests and what each one cost\",\"name\":\"The account's recent API requests and what each one cost\",\"description\":\"One entry per request the account made: when it arrived, the endpoint it called, how it ended, and the credits it was charged. Newest first, paged with limit and cursor. credits_charged is what was actually spent, never what was held. A request that submits work answers 202 having reserved a ceiling and spent nothing, and its charge is written later, when the job settles — so the figure here starts at 0 and grows as the work lands. It never falls: a reservation that is released is never charged. charge_pending is true for exactly those requests, so a zero that is about to change is distinguishable from a request that was free. Every figure is the same ledger GET /v1/usage reports from, so the two pages cannot disagree about one request. omitted says what this log cannot show. Requests refused at the edge — an unrecognized or revoked API key, and the per-minute rate limit — never reach the API, and the component that refuses them authenticates with a single read and writes nothing, so no record of them exists. Their absence is stated rather than left to be discovered. Entries are retained for 30 days and then expire.\",\"url\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost\",\"mainEntityOfPage\":{\"@id\":\"https://docs.audivo.dev/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost#webpage\"},\"dateModified\":\"2026-10-02T10:13:28.229Z\",\"publisher\":{\"@id\":\"https://docs.audivo.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.audivo.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Audivo\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Audivo","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Transcripts","pages":[{"title":"Create or attach to a transcription job, or get an instant result","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/transcripts","href":"/api-reference/transcripts/create-or-attach-to-a-transcription-job-or-get-an-instant-result"},{"title":"Poll job status, progress, and (once completed) the transcript","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/transcripts/{job_id}","href":"/api-reference/transcripts/poll-job-status-progress-and-once-completed-the-transcript"},{"title":"Direct cached fetch of an episode's transcript","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/episodes/{episode_id}/transcript","href":"/api-reference/transcripts/direct-cached-fetch-of-an-episodes-transcript"},{"title":"Re-read a transcript this account has already paid for","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/reads/{read_id}","href":"/api-reference/transcripts/re-read-a-transcript-this-account-has-already-paid-for"}]},{"group":"Catalog","pages":[{"title":"Find shows by name","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/search/shows","href":"/api-reference/catalog/find-shows-by-name"},{"title":"A category chart of a chosen size, capped by tier","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/charts","href":"/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier"},{"title":"Episode metadata for a show","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/shows/{show_id}/episodes","href":"/api-reference/catalog/episode-metadata-for-a-show"},{"title":"Resolve a podcast pointer to canonical IDs without creating a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/resolve","href":"/api-reference/catalog/resolve-a-podcast-pointer-to-canonical-ids-without-creating-a-job"}]},{"group":"Quotes","pages":[{"title":"Price a selection without spending","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/quotes","href":"/api-reference/quotes/price-a-selection-without-spending"},{"title":"Spend what a quote priced, as one job group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/quotes/{quote_id}/confirm","href":"/api-reference/quotes/spend-what-a-quote-priced-as-one-job-group"}]},{"group":"Uploads","pages":[{"title":"Announce a file to upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/uploads","href":"/api-reference/uploads/announce-a-file-to-upload"}]},{"group":"Groups","pages":[{"title":"List the caller's job groups, newest first","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/groups","href":"/api-reference/groups/list-the-callers-job-groups-newest-first"},{"title":"Read one job group's rollup","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/groups/{group_id}","href":"/api-reference/groups/read-one-job-groups-rollup"},{"title":"Cancel a group's members that have not started","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/groups/{group_id}/cancel","href":"/api-reference/groups/cancel-a-groups-members-that-have-not-started"}]},{"group":"Account","pages":[{"title":"Account credit balance and period usage","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/usage","href":"/api-reference/account/account-credit-balance-and-period-usage"},{"title":"Exact rate/concurrency/duration/size limits for the caller's tier","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/limits","href":"/api-reference/account/exact-rateconcurrencydurationsize-limits-for-the-callers-tier"},{"title":"Pinned engine route and support tier per language","description":"Support tier (`benchmarked | supported | best_effort`) and timing capability per language; no diarization field at launch. A caller relying on automatic detection to reach a language outside the default engine's coverage must instead pass `language` explicitly on `POST /v1/transcripts`.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/languages","href":"/api-reference/account/pinned-engine-route-and-support-tier-per-language"},{"title":"The account's recent API requests and what each one cost","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/logs","href":"/api-reference/account/the-accounts-recent-api-requests-and-what-each-one-cost"}]},{"group":"Session","pages":[{"title":"Establish the signed-in user's Audivo session","description":"Resolves the access token's Cognito subject to a Audivo account, creating the account and its one free credit grant if no row exists yet, and answers with the identity a session then carries.\n\n**Idempotent by construction, not by convention.** The account id is derived from the Cognito subject, so calling this once, twice, or concurrently converges on the same account; a second call issues no second free grant, and neither does signing up again with an address that has already had one. Callers are expected to call it on *every* session establishment rather than only on first sign-in — it is the repair path for a signup whose account row was never written, and a caller that only called it once would never take it.\n\nIt takes no request body. Everything it acts on comes from the verified token, so there is nothing a caller can send that changes which account it resolves — including the address the one-free-grant check is keyed on, which is read from the identity provider and never from the request.\n\nA non-`active` account is returned with its status rather than being replaced or refused: a suspended customer needs the billing page that lifts the hold, and answering `401` would take it away.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/session","href":"/api-reference/session/establish-the-signed-in-users-audivo-session"}]},{"group":"API Keys","pages":[{"title":"List API keys for the account","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/api-keys","href":"/api-reference/api-keys/list-api-keys-for-the-account"},{"title":"Create a labeled API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/api-keys","href":"/api-reference/api-keys/create-a-labeled-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/api-keys/{key_id}","href":"/api-reference/api-keys/revoke-an-api-key"}]},{"group":"Connected Apps","pages":[{"title":"Read a pending connection request","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/oauth/requests/{request_id}","href":"/api-reference/connected-apps/read-a-pending-connection-request"},{"title":"Approve or decline a connection request","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/oauth/requests/{request_id}/decision","href":"/api-reference/connected-apps/approve-or-decline-a-connection-request"},{"title":"List the account's connected apps","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/connected-apps","href":"/api-reference/connected-apps/list-the-accounts-connected-apps"},{"title":"Revoke a connected app","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/connected-apps/{grant_id}","href":"/api-reference/connected-apps/revoke-a-connected-app"}]},{"group":"Billing","pages":[{"title":"Create a Stripe Checkout session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/billing/checkout","href":"/api-reference/billing/create-a-stripe-checkout-session"},{"title":"Create a Stripe Customer Portal session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/billing/portal","href":"/api-reference/billing/create-a-stripe-customer-portal-session"},{"title":"Normalized invoice/payment history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/billing/invoices","href":"/api-reference/billing/normalized-invoicepayment-history"},{"title":"The account's stored billing address","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/billing/address","href":"/api-reference/billing/the-accounts-stored-billing-address"},{"title":"Store the account's billing address","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/billing/address","href":"/api-reference/billing/store-the-accounts-billing-address"},{"title":"Whether this account tops itself up, and on what terms","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/billing/auto-recharge","href":"/api-reference/billing/whether-this-account-tops-itself-up-and-on-what-terms"},{"title":"Turn auto-recharge on or off","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/billing/auto-recharge","href":"/api-reference/billing/turn-auto-recharge-on-or-off"},{"title":"Refund an eligible unused paid-credit lot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/billing/refund","href":"/api-reference/billing/refund-an-eligible-unused-paid-credit-lot"}]},{"group":"Data","pages":[{"title":"Export the account's portable data","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/data/export","href":"/api-reference/data/export-the-accounts-portable-data"},{"title":"Delete the account and account-linked data","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/data","href":"/api-reference/data/delete-the-account-and-account-linked-data"}]}]}]},"basePath":"","title":"The account's recent API requests and what each one cost - Audivo","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}