Skip to content
UV pdfTool
Contents

Developer API

Errors

Every error the UV pdfTool API answers with, and every reason a job can fail, with what to do about each.

Last updated 2026-10-29 · Written in English

Refused requests

A refused request answers with its HTTP status and a JSON body with a code to switch on and a message to show. Some carry details: max (a limit, in bytes or a count) or retryAfterSeconds. A 429 also carries a Retry-After header.

{
  "error": {
    "code": "FILE_TOO_LARGE",
    "message": "The file is larger than this key takes.",
    "details": {
      "max": 10485760
    }
  }
}
Refused requests
CodeStatusMeaning
INVALID_REQUEST400The body or the options are not valid; the message says what.Check the field names against the reference and the options against GET /tools.
UPLOAD_INCOMPLETE400A file has not finished uploading, or arrived empty.Wait for every PUT to answer 200 before starting the job.
WEBHOOK_URL400The webhook address is not a public HTTPS address.
API_KEY_MISSING401No key in the Authorization header.Send Authorization: Bearer uvp_live_… on every call.
API_KEY_INVALID401The key is unknown, revoked, or its account is closed.
API_CREDITS_SHORT402No API tasks left on the account, with a live key.Buy a pack on the keys page, or use a test key while developing.
API_ADDRESS403The key does not allow requests from this address.
API_SCOPE403A read-only key tried to make, start or cancel a job.
ACCOUNT_SUSPENDED403The account is suspended.
NOT_FOUND404No such job for this account.
ALREADY_STARTED409The job was started already.
FILE_TOO_LARGE413A file is larger than the tool or the key takes; details.max says the limit in bytes.
API_TEST_LIMIT429The 50 test jobs of the day are used.The count starts again at midnight UTC.
API_TOO_MANY_OPEN42910 jobs are unfinished already.Wait for some to finish, or cancel the ones you no longer need.
TOO_MANY_REQUESTS429More than 120 requests in a minute with one key.Wait the seconds in the Retry-After header, then go on.
TOOL_UNAVAILABLE503The tool is not available for the moment.
MAINTENANCE503The servers are paused for maintenance.
API_OFF503The API is closed.

Failed jobs

A job that could not be done ends in state failed with job.error set the same way, and the live task comes back. The webhook event is job.failed.

Failed jobs
CodeMeaning
NOT_A_PDFThe file is not a PDF.
CORRUPT_PDFThe PDF is too damaged to read.Try the repair tool first.
PASSWORD_REQUIREDThe PDF is locked with a password.Unlock it before sending; the API does not take passwords.
UNSUPPORTED_FILEThe file is of a kind the tool cannot read.
CONVERSION_FAILEDThe converter could not produce a result, or the result failed its check.
TIMEOUTThe job took longer than the tool allows and was stopped.
INVALID_URLThe address is not public, or redirected somewhere that is not.
PAGE_UNREACHABLEThe web page did not load, or answered with an error.
NOTHING_TO_RECOGNIZEOCR found no page without text to read.
NOT_AN_EPUBThe file is not an EPUB.
EPUB_PROTECTEDThe book is protected and cannot be printed.
EPUB_TOO_LARGEThe book would print to more pages than the tool takes.
INPUT_MISSINGA file went missing before the job ran.
WORKER_ERRORSomething went wrong on our side; the task comes back.Try again; write to us if it repeats.
WORKER_LOSTThe server running the job stopped answering; the task comes back.