Error codes
Every error has a stable code, an HTTP status and a human message. See the errors guide.
| Code | Status | Meaning |
|---|---|---|
invalid_request | 422 | A parameter is missing or invalid. error.details lists each problem with its path and a message. |
version_invalid | 400 | The Esora-Version header is not a released API version. |
idempotency_key_required | 400 | This endpoint needs an Idempotency-Key header, 8 to 200 characters. |
invalid_cursor | 400 | starting_after is not an ID from this list. |
unauthenticated | 401 | No API key was sent, or the key is not valid or was revoked. |
not_found | 404 | No such object in this workspace, or the path is not part of the API. |
not_draft | 409 | The document has been sent, so it can no longer be edited this way. |
cannot_void | 409 | Only documents that are out for signature can be voided. Completed records cannot. |
not_sent | 409 | The action needs a document that is out for signature (reminders, signing sessions). |
not_waiting | 409 | This person is not waiting to sign right now, so they can’t be reminded. |
not_completed | 409 | The signed copy is still being prepared. Wait for document.completed. |
already_acted | 409 | The recipient already signed or declined. |
already_exists | 409 | A contact with this email, or a folder with this name, already exists. |
purged | 409 | The record’s files were deleted under the retention policy. |
idempotency_key_reused | 409 | This Idempotency-Key was already used with a different request body. |
request_in_progress | 409 | A request with this Idempotency-Key is still running. Retry in a moment. |
purged | 410 | Downloads: the file was deleted under the retention policy. The evidence pack is kept. |
file_too_large | 413 | A file is over 50 MB. |
file_required | 422 | Upload a file, pass file_url, or use template_id. |
file_url_invalid | 422 | file_url must be a public HTTPS address. |
file_url_unreachable | 422 | We couldn’t download the file at file_url within 30 seconds. |
file_infected | 422 | The file contains malware and was refused. |
too_many_documents | 422 | A document can hold up to 20 files. |
duplicate_recipient | 422 | Each email address can be added to a document only once. |
invalid_field | 422 | A field is on a page that doesn’t exist, past the edge of the page, or assigned to someone who isn’t a signer. |
unknown_role | 422 | template_role is not a role in this template. |
not_ready | 422 | The document can’t be sent yet. error.details lists what is missing, such as a signer without a signature field. |
send_at_past | 422 | send_at is in the past. |
url_invalid | 422 | The webhook URL must be a public HTTPS address. |
rate_limited | 429 | Too many requests. Wait for the number of seconds in the Retry-After header. |
reminder_too_soon | 429 | A reminder or invitation went to this person less than an hour ago. |
internal | 500 | Something went wrong on our side. error.details.requestId helps us find it. Retrying with the same Idempotency-Key is safe. |
scan_unavailable | 503 | Virus scanning is briefly unavailable, so uploads are paused. Retry in a few minutes. |