Errors
The API returns errors as JSON with adetail field (or error, depending on the endpoint):
413/500 responses.
Codes
Common edge cases
- Empty file (0 bytes): responds
400because there is no content to convert. - Unrecognized format (unsupported extension and generic
content-type): responds415. Forceinput_formatexplicitly if you know the real format and the filename does not make it clear. - Corrupt PDF or invavalid header: usually
400during early vavalidation, or500if extraction fails. Trymode=qualitybefore discarding the document. - Invavalid or unreachable URL on
/convert/from-url:400if the URL format is invavalid,403if the host is not allowed,502/504if the remote storage does not respond or drops the connection mid-download. - Conversion timeout: for very large documents or many images, the API may take longer than your HTTP client expects by default. Set a generous timeout (300s or more) on clients like
httpx/fetch; if the system is saturated you will receive202instead of blocking the connection. See Jobs. - ZIP without any supported document inside, or with more files than
MAX_ZIP_FILES:413or415depending on the case; the message indicates which limit was violated.
Retries
429and5xx: retry with exponential backoff (for example 1s, 2s, 4s, with jitter).4xx(except429): do not retry without correcting the request. The error will not disappear by repeating the same call.202: not an error. It is the signal that you should start pollingGET /jobs/{id}.
The codes
400/403/413/415/422 are client errors: the request will not succeed by repeating it as is. Correct the parameter, URL, or format before retrying.