Available
Errors
Exact public API error messages, status codes, and the IP allowlist response shape.
Updated 2026-07-28
The public API uses standard HTTP status codes. The messages below match the current authentication and document routes; template placeholders show the request-specific value inserted by the API.
| Field | Type | Status | Description |
|---|---|---|---|
HTTP error | Missing x-client-id or x-client-secret headers. | 401 | Credential failure. |
HTTP error | Invalid client_id or client_secret. | 401 | Credential failure. |
ip_not_allowed | Request blocked: this API key is restricted to specific IP addresses and {ip} is not one of them. If this request is legitimate, ask your workspace admin to add this IP to the key's allowlist in the Docparser portal (Developer → {apiKeyName} → Allowed IPs). | 403 | Valid credentials used from an address outside the configured allowlist. |
HTTP error | webhookUrl must be a relative path, not an absolute URL — it is joined onto this API key's registered base URL. | 400 | Submission or server failure. |
HTTP error | Unknown document type_id {typeId}. | 400 | Submission or server failure. |
HTTP error | Document type_id {typeId} is not available — it is an internal or archived type. | 400 | Submission or server failure. |
HTTP error | Document job not found. | 404 | No organization-scoped job matched the supplied reference. |
HTTP error | Failed to create document job. | 500 | Submission or server failure. |
IP allowlist denial
The allowlist check runs only after credential verification succeeds. A denied request has this source-verifiable 403 shape; {ip} is the rejected client address and {apiKeyName} is the key’s display name.
{
"error": "ip_not_allowed",
"message": "Request blocked: this API key is restricted to specific IP addresses and {ip} is not one of them. If this request is legitimate, ask your workspace admin to add this IP to the key's allowlist in the Docparser portal (Developer → {apiKeyName} → Allowed IPs)."
} Invalid credentials continue to use the same 401 response whether or not the matching key has an allowlist, so the restriction is not disclosed before authentication.
Asynchronous extraction errors
A successfully accepted job can later enter status: "error". Its webhook uses the fixed public payload documented under Webhooks, while the authenticated retrieve endpoint exposes error, errorStage, errorCode, and errorDetail from the persisted job.