Echo Labs Docs
Search the docs
Find a guide, an endpoint or a section

Errors and retries

Handle failures and retry without duplicate orders.

Errors

Branch on code; message is for display and param identifies an invalid field. Include the response’s request-id header when contacting support.

json
{
  "error": {
    "code": "invalid_request",
    "message": "Send exactly one of media_url or upload_id.",
    "param": "media_url"
  }
}
StatusCodeAction
400invalid_requestFix param.
401missing_api_key, invalid_api_keySupply a valid key.
402insufficient_funds, budget_exceededAdd credit or adjust the budget.
403api_access_disabled, read_only_key, uploads_disabledCheck workspace and key permissions.
404not_foundCheck the ID and workspace.
409captions_not_readyWait for completion.
409job_cancelled, upload_already_usedCheck the job or use a new upload.
413, 415—Check body size and JSON content type.
422media_unreachable, unsupported_media, media_too_long, format_unavailableChange the media or output format.
429, 503rate_limited, temporarily_unavailableWait for Retry-After seconds.

Retry reads after network errors, timeouts, and 5xx responses with backoff. Before retrying an order, see Create job to avoid duplicate charges. Fix other 4xx requests before retrying.