Errors: codes, statuses and what to do

Every error is JSON with an error code and a message written to be read. Most arrive inside detail; a few from the edge of the service arrive at the top level. Read error, not the status code alone: several codes share a status.

{"detail": {"error": "file_too_large", "message": "this file is 7.2 MB and the limit is 5 MB"}}
Code Status What it means What to do
invalid_api_key401The key is unknown, wrong, expired or revoked. The response never says which.Check the key in your key list; mint a new one if it was revoked or has expired.
not_available_to_api_keys403This route is for a person signed in, not for a key.Use a route from the reference.
missing_capability403This action needs a permission the caller does not have.Keys may do everything on the reference; this is a signed-in role without that permission.
account_suspended403The account has been stopped from doing new work.Write to the operator of this service.
too_many_requests429The key has used its allowance for now.Wait the Retry-After seconds, then retry. See Limits.
busy503Every engine slot is in use for a moment.Wait the Retry-After seconds and send the same request again; it did nothing.
invalid_request422A field is missing or has the wrong shape.problems names each field and what was wrong.
internal_error500Something failed on our side. Nothing was changed.Retry; if it repeats, report the time and the route.
tenant_isolation_violation500The service stopped an answer that would have crossed from one account into another. This is always our fault.Report the time and the route. Nothing was shown.
not_found404No such document, job or certificate on this account.Check the id. Another account's ids are always "not found".
file_too_large413The upload is over this plan's size limit.The message names both sizes. See Limits.
too_many_pages422The document has more pages than this plan allows.Split it, or see Limits.
page_too_large422A page is too large to render at the working resolution.Upload a document with ordinary page sizes.
not_a_pdf422The file is not a PDF.Send a PDF.
unreadable_pdf422The PDF could not be opened.Re-save it from the program that made it, then upload again.
no_pages422The PDF has no pages.Send a document with at least one page.
password_protected422The document will not open without its password.Upload again with the multipart field password.
password_incorrect422The password did not open the document.Check the password.
password_required422The document needs its password to be read.Upload again with the multipart field password.
not_protected422A password was sent with a document that has none.Upload it again without password.
attestation_required409A correction needs a statement of authority first.Create one with POST /v1/attestations and pass its attestation_id.
page_out_of_range422The page index is beyond the document's last page.Page indexes start at 0.
stale_or_invalid_confirmation409The document changed after the correction was proposed.Propose again and apply the new proposal.
edit_refused422The engine will not make this correction without it showing. advice says why and what would change it.Read advice; choose a different region or wording.
edit_failed500The correction could not be completed for a reason of ours. Nothing was changed.Retry; if it repeats, report it.
daily_limit_reached429The free daily correction limit is used. Business keys do not meet this.hint says what would lift it.
nothing_to_undo409There is no correction to step back from.Nothing to do.
nothing_to_redo409No correction has been undone.Nothing to do.
no_revision404The document has no corrected version yet.Apply a correction first.
no_manifest404The corrected version carries no provenance record.Apply a correction first.
nothing_to_export409The document has no corrections to release.Apply and verify a correction first.
not_verified409The latest version has not been verified.Read GET …/verification, or apply the correction again.
verification_hash_mismatch409The document changed after it was verified.Verify again before exporting.
verification_failed409Verification did not pass, so the document cannot be released.Undo the correction the message names.
diff_outside_expected_region409A correction changed pixels outside the region it declared.Undo it. This is the failure the check exists to catch.
payment_required402Nothing on the account pays for this download.Business accounts do not meet this while the plan runs.
email_required402This deployment has not started taking payments, and asks for an address first.Only on a deployment before launch.
business_plan_required402The route is part of the Business plan and the account is not on it.See the plans.
crop_too_large422The crop asked for is over 4 megapixels.Ask for a smaller region.
image_too_large400A page of the uploaded file carries an image over 100 megapixels, too large to decode safely.Rescan or export the document at a lower resolution.
inspection_budget_spent429The document is not paid for, and today's native pixels inside its corrections are used up. The rest of the page is still served, marked.Wait until the next UTC day, or pay for the document: once it is paid for there is no limit.
nothing_to_certify409The document has no corrections to certify.Apply and verify a correction first.
correction_not_verified409One of the corrections did not verify, so no certificate can be issued.Undo it.
record_does_not_verify409The account's record does not recompute intact, so no certificate can quote it.Write to the operator of this service.
certificate_file_deleted410The document the certificate was issued for has been deleted, and the certificate file with it.The certificate still verifies at GET /v1/certificates/{id}.