For AI agents: this page is also available as Markdown at https://docs.refabric.com/task-apis/errors/request-errors.md, and the index of every page is https://docs.refabric.com/llms.txt.

Task APIs › Errors

Request errors

The error types a request can fail with, the HTTP status each one answers with and what to do about it. The live list of codes is GET /v1/errors.

typeHTTPMeaningWhat to do
invalid_request400 / 413 / 415 / 422422: a field is wrong, missing or not taken by the task (field set). 400 malformed_request: the body is not valid JSON, or a header is not in its documented form. 413 body_too_large / file_too_large: the body or the uploaded file is over its limit. 415 unsupported_media_type: the body or the file is of a media type the operation does not takefix the request
authentication401missing or bad API keycheck the key (Authentication)
permission403the key's scope or the plan does not allow itadd the scope, or upgrade
not_found404task, job or file does not exist or is not yourscheck the id; an id that is not yours answers the same as one that does not exist
conflict409result not ready yet, or the job failed (job_failed); the job was cancelled (cancelled — on the job read, the webhook, a Prefer: wait answer and the result read); Idempotency-Key reused with a different body, or its first request still in progresswait, read the job, or use a new key
insufficient_credits402not enough credits; includes required and balancetop up
rate_limited429too many requests for this API key; Retry-After setwait Retry-After seconds
content_refused422the content was refusedchange the inputs
processing_failed422 when answered directly (a Prefer: wait submit whose job failed); otherwise inside the job (GET /v1/jobs/{id} answers 200)the run failedretry only if retryable
internal500 / 503our fault, or the job could not start in time (start_timeout, 503)retry with backoff if retryable is true — a failed job's internal error may say false
warning— (in a result)not an error: a note on a job that SUCCEEDED, in summary.warnings[] (below)read field; nothing failed

New types may be added. Treat an unknown type like internal if the status is 5xx, otherwise like invalid_request (live list: GET /v1/vocab/error_type).