Skip to Content

Ref: Error Codes

The API uses standard HTTP status codes and returns a JSON body with a message describing the error.

StatusMessage ExampleDescription
400Missing required parameter: qA required parameter is missing or the input is invalid.
401Invalid tokenThe Bearer token is missing, expired, or incorrect.
402OpenAPI requires Pro or Enterprise plan / Insufficient creditsOpen API access requires a Pro or Enterprise plan, or the account has insufficient transcribe credits.
404Episode not foundThe requested resource does not exist. The error field will be not_found.
404Episode has not been transcribed yetThe episode exists but has no processed content. The error field will be not_transcribed.
404Translation is not available yetThe episode is transcribed but the requested translation is not available yet. The error field will be not_translated.
404Clip is not readyThe Clip exists but has not completed generation. The error field will be not_ready.
429Rate limit exceededToo many requests. Hourly limits are Pro 3,000 and Enterprise 10,000 requests per user.
429Rate limit exceeded / Weekly rate limit exceededA summary or transcripts content quota is used up. The error field will be rate_limited. See Summary, Transcripts and Exports.
500Internal server errorAn unexpected server error occurred. Please retry later.

Additional Error Codes by Endpoint

Some endpoints return specific error codes:

Summary, Transcripts and Exports

Fetching summaries and transcripts is also limited per user, on top of the hourly request limit. These limits exist to prevent abuse and are set well above normal usage, so most integrations never reach them. Each plan has a short-term and a longer-term allowance, and there are two separate quotas:

  • Summary: Get Episode Summary.
  • Transcripts: Get Episode Transcripts, Export Episode as Markdown and Export Episode as SRT share one quota.

Only successful responses count. A request uses the quota only when it returns the summary, transcript or export; requests that fail with an invalid seq, not_found, copyright_denied, not_transcribed or not_translated do not use it.

When a quota is used up, the API returns HTTP 429 and tells you when it resets:

{ "success": false, "error": "rate_limited", "message": "Weekly rate limit exceeded", "scope": "week", "retryAt": 1791849600000 }

scope names the allowance that was exceeded. Wait until retryAt (Unix timestamp in milliseconds) or for the number of seconds in the Retry-After header before retrying; earlier retries keep returning 429.

not_transcribed and not_translated responses carry a Retry-After header with the minimum number of seconds to wait. To wait for an episode to finish processing, poll Get Episode Status and fetch the content once its status is done.

Import Episode

StatusErrorDescription
400—Missing or invalid url, unsupported URL format, or podcast/channel URL provided.
403private_episodeThe Xiaoyuzhou episode is private and cannot be imported.
404not_foundThe YouTube video was not found.
409conflictA conflict was detected during import. Please contact support.
502fetch_errorFailed to fetch data from the source. Please try again later.

Upload Audio

StatusErrorDescription
402feature_not_availableUpload audio is not available for current plan.

Process Episode

StatusErrorDescription
402out_of_quotaInsufficient transcribe credits.

Ask a Question

StatusErrorDescription
429out_of_limitDaily ask limit exceeded for your plan.

Clips

StatusErrorDescription
400—Invalid Clip ID, Episode sequence number, or playback point.
404not_foundClip or Episode does not exist, or the Clip is not owned by the authenticated user.
404not_transcribedA Clip cannot be created because the Episode has not been transcribed.
404not_readyA single Clip is not ready to export.
404no_ready_clipsAn Episode has no ready Clips for a batch export.

Send to Notion

StatusErrorDescription
400not_connectedNotion is not connected. Connect via Podwise settings.
400not_configuredNotion database is not configured. Configure via Podwise settings.
400property_not_existsA required property is missing from the Notion database.
401unauthorizedNotion API token is invalid or expired. Reconnect via Podwise settings.
404database_not_foundNotion database not found. Reconfigure via Podwise settings.
429rate_limitedNotion API rate limited. Retry later.
502notion_errorUnexpected Notion API error.
504timeoutNotion API request timed out.

Send to Readwise Reader

StatusErrorDescription
400not_connectedReadwise is not connected. Configure API token via Podwise settings.
401unauthorizedReadwise API token is invalid or expired. Reconfigure via Podwise settings.
502readwise_errorUnexpected Readwise API error.
Last updated on