The provider’s chart for one category, of the size the caller asks for, clamped to the account tier’s chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier’s ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.
Authorization: Bearer hk_live_... for live keys or Authorization: Bearer hk_test_... for test-mode keys. hk_test_ keys resolve real public catalog metadata but return deterministic committed fixtures, never call inference, and never mutate live credits. This is the only transport for the credential: the x-api-key alias once documented was removed in 0.2.0, because the edge authorizer reads Authorization as its single identity source and a request on any other header is refused before it is authenticated.
Never accepted on a dashboardJwt operation, and there are no exceptions. GET /v1/usage and GET /v1/limits briefly declared both schemes (0.8.0); that was withdrawn in 0.8.1 because no deployed route could honor it — both operations are served by the control-plane API, whose authorizer verifies a Cognito token and refuses an hk_live_ credential on shape, and the customer API does not route either path. An API-key holder reads its balance and reservation from QuoteResponse, which carries balance_credits and reserved_credits on every quote. Every operation in this document takes one scheme or the other and refuses the wrong one as unauthenticated.
How many shows the caller wants. Clamped to the account tier's chart cap, never rejected for exceeding it; the response's size says what was asked and what was allowed.
One number after the caller's tier had its say. requested is what was asked for, allowed what the tier permitted, limit the ceiling that produced it — reported whether or not the ceiling bit, because "your 40-show chart became 10" is the sentence a caller can act on and "10 shows" alone is not.
{"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/catalog/a-category-chart-of-a-chosen-size-capped-by-tier","slug":"/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier","pageMetadata":{"title":"A category chart of a chosen size, capped by tier","description":"The provider's chart for one category, of the size the caller asks for, clamped to the account tier's chart cap. The clamp is applied *before* the provider is called and is always reported in `size`, whether or not it bit: `requested` is what the caller asked for, `allowed` is what the tier permitted, `limit` is the tier's ceiling. Entries are marked `music_led` but not removed — a chart is only a list until `POST /v1/quotes` turns it into a selection, and that is where the music boundary applies by default.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/charts","href":"/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n em: \"em\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"The provider’s chart for one category, of the size the caller asks for, clamped to the account tier’s chart cap. The clamp is applied \", _jsx(_components.em, {\n children: \"before\"\n }), \" the provider is called and is always reported in \", _jsx(_components.code, {\n children: \"size\"\n }), \", whether or not it bit: \", _jsx(_components.code, {\n children: \"requested\"\n }), \" is what the caller asked for, \", _jsx(_components.code, {\n children: \"allowed\"\n }), \" is what the tier permitted, \", _jsx(_components.code, {\n children: \"limit\"\n }), \" is the tier’s ceiling. Entries are marked \", _jsx(_components.code, {\n children: \"music_led\"\n }), \" but not removed — a chart is only a list until \", _jsx(_components.code, {\n children: \"POST /v1/quotes\"\n }), \" turns it into a selection, and that is where the music boundary applies by default.\"]\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":"A category chart of a chosen size, capped by tier","description":"The provider's chart for one category, of the size the caller asks for, clamped to the account tier's chart cap. The clamp is applied *before* the provider is called and is always reported in `size`, whether or not it bit: `requested` is what the caller asked for, `allowed` is what the tier permitted, `limit` is the tier's ceiling. Entries are marked `music_led` but not removed — a chart is only a list until `POST /v1/quotes` turns it into a selection, and that is where the music boundary applies by default.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/charts","href":"/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getChart","tags":["Catalog"],"summary":"A category chart of a chosen size, capped by tier","security":["ebbd17dc-8a70-4a7d-847c-fd413947bca2"],"description":"The provider's chart for one category, of the size the caller asks for, clamped to the account tier's chart cap. The clamp is applied *before* the provider is called and is always reported in `size`, whether or not it bit: `requested` is what the caller asked for, `allowed` is what the tier permitted, `limit` is the tier's ceiling. Entries are marked `music_led` but not removed — a chart is only a list until `POST /v1/quotes` turns it into a selection, and that is where the music boundary applies by default.","parameters":["c79a56ae-958c-4dab-8b3e-30a31d82246a","50a0f9f1-bf5d-42fb-894c-9ca5bae2ae49","a9a0022b-eb06-406c-96ec-d71dcddd63d9"],"responses":{"200":"ad8182ae-68b8-4806-972a-804e1d5c92b0","400":"98ef6f40-7087-4504-b1f6-98a2e8457eae","401":"2653dd7b-5d6a-4fed-a80c-db51a7ace350","429":"fa46a7ce-ca45-4f6f-93b1-6fc04160b94c","500":"98076576-3143-4cd6-85b6-9347c09e4a41","503":"dd237162-0d3e-4f40-846a-1a94f1687942"},"method":"get","type":"path","servers":["ab95c592-ddf1-4927-bb4a-1f83f0e8e07e"],"path":"/v1/charts","baseUrlOptions":["https://api.audivo.dev"],"title":"A category chart of a chosen size, capped by tier","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c79a56ae-958c-4dab-8b3e-30a31d82246a":{"name":"category","in":"query","required":true,"description":"A provider category name, e.g. `Business` or `Society \u0026 Culture`; filtered server-side.","schema":{"type":"string","minLength":1,"maxLength":100,"isRequired":true,"description":"A provider category name, e.g. `Business` or `Society \u0026 Culture`; filtered server-side.","uniqueKey":"","typeLabel":"string"}},"50a0f9f1-bf5d-42fb-894c-9ca5bae2ae49":{"name":"size","in":"query","required":false,"description":"How many shows the caller wants. Clamped to the account tier's chart cap, never rejected for exceeding it; the response's `size` says what was asked and what was allowed.","schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"isRequired":false,"description":"How many shows the caller wants. Clamped to the account tier's chart cap, never rejected for exceeding it; the response's `size` says what was asked and what was allowed.","uniqueKey":"","typeLabel":"integer"}},"a9a0022b-eb06-406c-96ec-d71dcddd63d9":{"name":"language","in":"query","required":false,"description":"Restrict the chart to shows in one language, as a BCP-47 tag.","schema":{"type":"string","pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{1,8})*$","maxLength":35,"description":"Restrict the chart to shows in one language, as a BCP-47 tag.\nA BCP-47 language tag (general syntax check, not full IANA subtag validation).","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"ad8182ae-68b8-4806-972a-804e1d5c92b0":{"description":"The chart, in provider order, with the size clamp reported.","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}},"X-RateLimit-Limit":{"description":"The caller's requests-per-minute ceiling for the current tier. Present on every response for a resolved caller, success and error alike; absent from `401 unauthenticated`, which has no account to report a ceiling for, and from the edge's own `429`, which is emitted before any function runs.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["category","language","size","data","excluded"],"properties":{"category":{"type":"string","minLength":1,"maxLength":100,"isRequired":true,"uniqueKey":"category","typeLabel":"string"},"language":{"oneOf":[{"type":"string","description":"A BCP-47 language tag (general syntax check, not full IANA subtag validation).","maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{1,8})*$","isRequired":true,"uniqueKey":"language.oneOf.0","typeLabel":"string"},{"enum":[null],"isRequired":true,"uniqueKey":"language.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"language","typeLabel":"string | any"},"size":{"type":"object","additionalProperties":false,"required":["requested","allowed","limit","clamped"],"description":"One number after the caller's tier had its say. `requested` is what was asked for, `allowed` what the tier permitted, `limit` the ceiling that produced it — reported whether or not the ceiling bit, because \"your 40-show chart became 10\" is the sentence a caller can act on and \"10 shows\" alone is not.","properties":{"requested":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"size.requested","typeLabel":"integer"},"allowed":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"size.allowed","typeLabel":"integer"},"limit":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"size.limit","typeLabel":"integer"},"clamped":{"type":"boolean","isRequired":true,"uniqueKey":"size.clamped","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"size","typeLabel":"object"},"data":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["show_id","title","feed_url","itunes_id","author","categories","artwork_url","music_led","music_led_basis"],"description":"One show as a discovery surface returns it (search or chart), before any selection rule applies. `show_id` is derived from the provider's iTunes id when it carries one and from the feed URL otherwise, so it is stable across the two surfaces and the quote. `music_led` is the music-led marking: a coarse, show-level judgement from the provider's category labels — `music_led_basis` says which — that cannot see a music bed inside a talk show and over-excludes spoken commentary *about* music; the caller can opt back in when quoting.","properties":{"show_id":{"type":"string","pattern":"^sh_[a-z2-7]{16}$","description":"Canonical show identifier.","isRequired":true,"uniqueKey":"data.items.[INDEX].show_id","typeLabel":"string"},"title":{"type":"string","minLength":1,"maxLength":300,"isRequired":true,"uniqueKey":"data.items.[INDEX].title","typeLabel":"string"},"feed_url":{"type":"string","format":"uri","minLength":1,"maxLength":2048,"description":"An RSS/Atom feed URL.","isRequired":true,"uniqueKey":"data.items.[INDEX].feed_url","typeLabel":"string\u003curi>"},"itunes_id":{"oneOf":[{"type":"integer","description":"The iTunes collection ID, or `null` if the provider knows none.","minimum":1,"isRequired":true,"uniqueKey":"data.items.[INDEX].itunes_id.oneOf.0","typeLabel":"integer"},{"description":"The iTunes collection ID, or `null` if the provider knows none.","enum":[null],"isRequired":true,"uniqueKey":"data.items.[INDEX].itunes_id.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].itunes_id","typeLabel":"integer | any"},"author":{"oneOf":[{"type":"string","description":"The show's author as the provider carries it, or `null`.","maxLength":300,"isRequired":true,"uniqueKey":"data.items.[INDEX].author.oneOf.0","typeLabel":"string"},{"description":"The show's author as the provider carries it, or `null`.","enum":[null],"isRequired":true,"uniqueKey":"data.items.[INDEX].author.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].author","typeLabel":"string | any"},"categories":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":100,"uniqueKey":"data.items.[INDEX].categories.items.[INDEX]","typeLabel":"string"},"description":"The provider's category names for the show, in provider order.","isRequired":true,"uniqueKey":"data.items.[INDEX].categories","typeLabel":"string[]"},"artwork_url":{"oneOf":[{"type":"string","description":"A URL, or `null`.","format":"uri","maxLength":2048,"isRequired":true,"uniqueKey":"data.items.[INDEX].artwork_url.oneOf.0","typeLabel":"string\u003curi>"},{"description":"A URL, or `null`.","enum":[null],"isRequired":true,"uniqueKey":"data.items.[INDEX].artwork_url.oneOf.1","typeLabel":"any"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].artwork_url","typeLabel":"string\u003curi> | any"},"music_led":{"type":"boolean","description":"Whether the show is music-led; see the schema description.","isRequired":true,"uniqueKey":"data.items.[INDEX].music_led","typeLabel":"boolean"},"music_led_basis":{"type":"string","minLength":1,"maxLength":300,"description":"What `music_led` is based on, in words a caller can show.","isRequired":true,"uniqueKey":"data.items.[INDEX].music_led_basis","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"description":"The chart, in provider order, at most `size.allowed` long.","isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"excluded":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["title","reason","detail"],"description":"A provider entry a caller cannot act on, named rather than dropped: without a usable feed URL there is no `show_id` to derive and nothing to select. Present so a list never shrinks silently.","properties":{"title":{"type":"string","minLength":1,"maxLength":300,"isRequired":true,"uniqueKey":"excluded.items.[INDEX].title","typeLabel":"string"},"reason":{"type":"string","enum":["no_feed_url","invalid_feed_url"],"isRequired":true,"uniqueKey":"excluded.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"excluded.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"excluded.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"excluded","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"clampedForFree":{"title":"clampedForFree","value":{"category":"Business","language":"en","size":{"requested":40,"allowed":10,"limit":10,"clamped":true},"data":[{"show_id":"sh_k4n7qzvw2mtxyabc","title":"The Vergecast","feed_url":"https://feeds.example.com/vergecast.xml","itunes_id":430333725,"author":"The Verge","categories":["Technology","Business"],"artwork_url":"https://cdn.example.com/art/vergecast.jpg","music_led":false,"music_led_basis":"no music category is on the show"}],"excluded":[]}}},"exampleType":"examples"}},"exampleType":"examples"},"98ef6f40-7087-4504-b1f6-98a2e8457eae":{"description":"Invalid request shape or an unrecognized pointer. Codes: `invalid_request`, `invalid_url`.","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}},"X-RateLimit-Limit":{"description":"The caller's requests-per-minute ceiling for the current tier. Present on every response for a resolved caller, success and error alike; absent from `401 unauthenticated`, which has no account to report a ceiling for, and from the edge's own `429`, which is emitted before any function runs.","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"},"2653dd7b-5d6a-4fed-a80c-db51a7ace350":{"description":"Code `unauthenticated` — the API key is missing, malformed, revoked, or does not exist. Every operation in this document is authenticated, so this is the most common error path a client will hit; it is declared on all of them rather than left implicit. The response never distinguishes \"no such key\" from \"revoked key\". Unlike every other API-key response it carries no `X-RateLimit-Limit`: that is a per-account figure, and an unauthenticated request has no resolved account to report one for.","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"},"fa46a7ce-ca45-4f6f-93b1-6fc04160b94c":{"description":"Codes `rate_limited`, `concurrency_limited`, or `upload_quota_exceeded`, from three different limits and three different places. `rate_limited` is the per-account request rate, refused at the edge before the operation runs: it carries `Retry-After` and no `X-RateLimit-Limit`, because nothing that knows the caller's tier has run yet. `concurrency_limited` is the cap on jobs open at once, refused by the operation itself: it carries `X-RateLimit-Limit` like every other answered response, and no `Retry-After`, because it clears when one of the account's own jobs finishes rather than after a fixed wait. `upload_quota_exceeded` is `POST /v1/uploads`' own admission refusal, returned before a PUT URL is issued when the account already holds its allowance (10 GiB across 100 unexpired uploads): like `concurrency_limited` it carries `X-RateLimit-Limit` and no `Retry-After`, because it clears when an upload's `retained_until` passes rather than after a fixed wait; its `message` names the limits hit and the earliest time enough capacity returns.","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}},"X-RateLimit-Limit":{"description":"The caller's requests-per-minute ceiling for the current tier. Present on every response for a resolved caller, success and error alike; absent from `401 unauthenticated`, which has no account to report a ceiling for, and from the edge's own `429`, which is emitted before any function runs.","schema":{"type":"integer","minimum":0}},"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":{"uploadQuotaExceeded":{"title":"uploadQuotaExceeded","value":{"error":{"type":"rate_limited","code":"upload_quota_exceeded","message":"This account already holds 100 unexpired uploads totalling 10 GiB, the account's allowance; enough capacity returns at 2026-09-24T10:00:00Z, when the oldest upload's reservation releases.","doc_url":"https://docs.audivo.dev/errors#upload_quota_exceeded","request_id":"req_3c8f1a9d2b4e","retryable":true}}}},"exampleType":"examples"}},"exampleType":"examples"},"98076576-3143-4cd6-85b6-9347c09e4a41":{"description":"Code `internal_error` — a failure on our side that no other code describes. The message is fixed text and says nothing about the cause; `request_id` is what identifies it in our logs. Retryable.","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"},"dd237162-0d3e-4f40-846a-1a94f1687942":{"description":"Code `discovery_unavailable` — the show directory (Podcast Index) could not be reached, refused the request, or answered something this API cannot read as a show list. Retryable; a directory outage is never answered with an empty list, because an empty list is a valid answer to \"shows in this category\" and a caller would believe it.","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}},"X-RateLimit-Limit":{"description":"The caller's requests-per-minute ceiling for the current tier. Present on every response for a resolved caller, success and error alike; absent from `401 unauthenticated`, which has no account to report a ceiling for, and from the edge's own `429`, which is emitted before any function runs.","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"}},"security":{"ebbd17dc-8a70-4a7d-847c-fd413947bca2":{"apiKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"hk_live_... or hk_test_...","description":"`Authorization: Bearer hk_live_...` for live keys or `Authorization: Bearer hk_test_...` for test-mode keys. `hk_test_` keys resolve real public catalog metadata but return deterministic committed fixtures, never call inference, and never mutate live credits. This is the *only* transport for the credential: the `x-api-key` alias once documented was removed in 0.2.0, because the edge authorizer reads `Authorization` as its single identity source and a request on any other header is refused before it is authenticated.\n\nNever accepted on a `dashboardJwt` operation, and there are no exceptions. `GET /v1/usage` and `GET /v1/limits` briefly declared both schemes (0.8.0); that was withdrawn in 0.8.1 because no deployed route could honor it — both operations are served by the control-plane API, whose authorizer verifies a Cognito token and refuses an `hk_live_` credential on shape, and the customer API does not route either path. An API-key holder reads its balance and reservation from `QuoteResponse`, which carries `balance_credits` and `reserved_credits` on every quote. Every operation in this document takes one scheme or the other and refuses the wrong one as `unauthenticated`.","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":"hk_live_... or hk_test_...","description":"`Authorization: Bearer hk_live_...` for live keys or `Authorization: Bearer hk_test_...` for test-mode keys. `hk_test_` keys resolve real public catalog metadata but return deterministic committed fixtures, never call inference, and never mutate live credits. This is the *only* transport for the credential: the `x-api-key` alias once documented was removed in 0.2.0, because the edge authorizer reads `Authorization` as its single identity source and a request on any other header is refused before it is authenticated.\n\nNever accepted on a `dashboardJwt` operation, and there are no exceptions. `GET /v1/usage` and `GET /v1/limits` briefly declared both schemes (0.8.0); that was withdrawn in 0.8.1 because no deployed route could honor it — both operations are served by the control-plane API, whose authorizer verifies a Cognito token and refuses an `hk_live_` credential on shape, and the customer API does not route either path. An API-key holder reads its balance and reservation from `QuoteResponse`, which carries `balance_credits` and `reserved_credits` on every quote. Every operation in this document takes one scheme or the other and refuses the wrong one as `unauthenticated`.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"`Authorization: Bearer hk_live_...` for live keys or `Authorization: Bearer hk_test_...` for test-mode keys. `hk_test_` keys resolve real public catalog metadata but return deterministic committed fixtures, never call inference, and never mutate live credits. This is the *only* transport for the credential: the `x-api-key` alias once documented was removed in 0.2.0, because the edge authorizer reads `Authorization` as its single identity source and a request on any other header is refused before it is authenticated.\n\nNever accepted on a `dashboardJwt` operation, and there are no exceptions. `GET /v1/usage` and `GET /v1/limits` briefly declared both schemes (0.8.0); that was withdrawn in 0.8.1 because no deployed route could honor it — both operations are served by the control-plane API, whose authorizer verifies a Cognito token and refuses an `hk_live_` credential on shape, and the customer API does not route either path. An API-key holder reads its balance and reservation from `QuoteResponse`, which carries `balance_credits` and `reserved_credits` on every quote. Every operation in this document takes one scheme or the other and refuses the wrong one as `unauthenticated`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKeyBearer","name":"Authorization"}],"title":"apiKeyBearer"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"hark-5cc9dfca","siteName":"Audivo","title":"A category chart of a chosen size, capped by tier - Audivo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T10:13:27.975Z","originalFileLocation":"api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier.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=\"The provider\u0026#x27;s chart for one category, of the size the caller asks for, clamped to the account tier\u0026#x27;s chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier\u0026#x27;s ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.\">\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=\"A category chart of a chosen size, capped by tier - Audivo\">\u003cmeta data-mint-head property=\"og:description\" content=\"The provider\u0026#x27;s chart for one category, of the size the caller asks for, clamped to the account tier\u0026#x27;s chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier\u0026#x27;s ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Audivo\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier\">\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=Catalog\u0026amp;title=A+category+chart+of+a+chosen+size%2C+capped+by+tier\u0026amp;description=The+provider%27s+chart+for+one+category%2C+of+the+size+the+caller+asks+for%2C+clamped+to+the+account+tier%27s+chart+cap.+The+clamp+is+applied+*before*+the+provider+is+c\u0026amp;theme=1f6a5cf39cb6ad43e1c26c30\u0026amp;signature=171ebfe60fd1449bab00fb7149bd5ce15854a10575e9a949239aa9f15539c439\">\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=\"A category chart of a chosen size, capped by tier - Audivo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The provider\u0026#x27;s chart for one category, of the size the caller asks for, clamped to the account tier\u0026#x27;s chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier\u0026#x27;s ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hark-5cc9dfca.mintlify.app/_mintlify/api/og/v2?division=Catalog\u0026amp;title=A+category+chart+of+a+chosen+size%2C+capped+by+tier\u0026amp;description=The+provider%27s+chart+for+one+category%2C+of+the+size+the+caller+asks+for%2C+clamped+to+the+account+tier%27s+chart+cap.+The+clamp+is+applied+*before*+the+provider+is+c\u0026amp;theme=1f6a5cf39cb6ad43e1c26c30\u0026amp;signature=171ebfe60fd1449bab00fb7149bd5ce15854a10575e9a949239aa9f15539c439\">\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/catalog/a-category-chart-of-a-chosen-size-capped-by-tier\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier.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/catalog/a-category-chart-of-a-chosen-size-capped-by-tier#webpage\",\"url\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier\",\"name\":\"A category chart of a chosen size, capped by tier\",\"description\":\"The provider's chart for one category, of the size the caller asks for, clamped to the account tier's chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier's ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.\",\"dateModified\":\"2026-10-02T10:13:27.975Z\",\"isPartOf\":{\"@id\":\"https://docs.audivo.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Catalog\",\"item\":\"https://docs.audivo.dev/api-reference/catalog/find-shows-by-name\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A category chart of a chosen size, capped by tier\",\"item\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier#apireference\",\"headline\":\"A category chart of a chosen size, capped by tier\",\"name\":\"A category chart of a chosen size, capped by tier\",\"description\":\"The provider's chart for one category, of the size the caller asks for, clamped to the account tier's chart cap. The clamp is applied before the provider is called and is always reported in size, whether or not it bit: requested is what the caller asked for, allowed is what the tier permitted, limit is the tier's ceiling. Entries are marked music_led but not removed — a chart is only a list until POST /v1/quotes turns it into a selection, and that is where the music boundary applies by default.\",\"url\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier\",\"mainEntityOfPage\":{\"@id\":\"https://docs.audivo.dev/api-reference/catalog/a-category-chart-of-a-chosen-size-capped-by-tier#webpage\"},\"dateModified\":\"2026-10-02T10:13:27.975Z\",\"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","description":"Free-text show search over Podcast Index: its exact-title search (`search/bytitle`) and its fuzzy term search (`search/byterm`) are issued together and merged, title hits first, each show once. The provider decides which shows match — no local fuzzy matcher — and the order is Audivo's, so the same name finds the same show every time: titles that match the query exactly come first, then titles that start with it, then titles that contain it as whole words, then the rest; within each of those, the show with the larger catalogue first, then a show with an Apple listing before one without, then the provider's own order. Titles are compared case-insensitively, ignoring punctuation and a leading \"The\", and a title is graded both whole and by the part before its subtitle (`Name: Subtitle`), taking the better. Every entry carries `music_led` and the basis for it: a music-led show the caller searched for by name is *marked*, never removed, because they named it; the boundary is applied when a chart-derived selection is quoted (`POST /v1/quotes`). A provider entry that carries no feed URL cannot be selected or identified and is reported in `excluded` rather than dropped.\n\nThe provider does not page this call, so `next_cursor` is always `null` and no cursor parameter is accepted; `limit` is how many entries come back. The provider is asked for at least twenty so the ranking has something to choose from.","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","description":"Episode metadata, publisher-transcript presence, cache availability, and a credit estimate per episode.","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","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","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":"A category chart of a chosen size, capped by tier - 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"]}