Errors
Use structured errors and request IDs to debug integrations.
Every API response should include a stable request ID. Errors are designed for machines and humans: a code for automation, a message for display, and optional field details.
Status codes
400 means validation failed, 401 means missing/invalid API key, 403 means access denied, 402 means credits/quota are insufficient, 429 means rate limit exceeded, and 5xx means server/provider failure.
Request IDs
Log the requestId value with your own job ID so support can trace a request without exposing file contents or API keys.
Safe retrying
Retry network failures and selected 5xx responses with exponential backoff. Use idempotency keys for job creation so retries do not duplicate paid work.
Problem details compatible shape
The response includes fields similar to modern problem-details API error patterns: code, message, status, requestId, and optional details.
{
"ok": false,
"requestId": "req_01hzy...",
"error": {
"code": "insufficient_credits",
"message": "Your API plan does not have enough credits for this operation.",
"status": 402
}
}
Need help?
Include your request ID, endpoint, timestamp, and account email when contacting support. Never send raw API keys, provider secrets, OAuth tokens, or signed download URLs.
Contact API support