Skip to content
convt
Esc
↑↓navigate↵open⌘Jpreview
On this page

Errors

Every error code the convt API returns, with its HTTP status and what to do.

JSON errors look like this:

{ "error": { "code": "limit_reached", "message": "Your allowance or spend cap has been reached." } }

Branch on code. message may change. See Errors and retries for retry rules.

Request errors

Status code Returned by Meaning and fix
400 unsupported_format Create A format id is unknown, the two formats are the same, or the input cannot reach the target. Check Formats.
400 file_too_large Create input_bytes is below 1 or above 2,000,000,000.
400 size_mismatch Start The upload’s size differs from input_bytes. The job is cancelled. Reserve a new one.
400 not_ready Download The job has not succeeded yet. Keep polling.
401 unauthorized Any job route No Authorization: Bearer header.
403 unauthorized Any job route The key is invalid or revoked.
403 not_enrolled Create The account has no active API subscription. Subscribe on the dashboard.
403 limit_reached Create Used plus reserved spend has reached your spend cap. Raise the cap or wait for the next billing period.
403 storage_limit_reached Create Your unexpired uploads hit 100 jobs or 50 GB. Wait for older jobs to expire.
404 not_found Get, start, cancel, download The job does not exist, belongs to another account, or has expired.
415 plain text Create The body was not sent as application/json.
422 plain text Create The JSON is malformed, misses a field, or has an unknown field.
429 rate_limited Any job route More than 120 requests in a minute for this key. Back off.
500 internal Any job route An unexpected server error. Retry with backoff.
502 storage_unavailable Any job route Object storage did not answer. Retry with backoff. From start, it also means nothing was uploaded for the job: check your PUT first.

The signed upload and download URLs are served by object storage, not the API. When they fail, they return storage’s own XML errors, usually 403 once the URL has expired or the size does not match.

Job failure codes

A job that fails has status: "failed" and an error_code. These are not HTTP errors: the request that reads the job succeeds.

error_code Meaning
conversion_failed The file could not be converted, or the attempt ran over 10 minutes.
expired_or_exhausted All 3 attempts were used up because workers kept stopping mid-conversion.
worker_shutdown The worker stopped during the conversion. Create a new job.

Failed jobs are never billed. A job past its 24-hour expiry is not reported as failed: every route returns 404 not_found for it.