Skip to main content

Error Codes

Every error response from the Zenoo API includes a machine-readable error code, a human-readable message, and a unique request ID.

Response format

Always log the request_id from every error response. It is essential for correlating issues with Zenoo support.

Error code reference

Examples

Returned when the request is missing required fields or contains invalid values.
Returned when the request body cannot be parsed as JSON.
Returned when the X-API-KEY header is missing or contains an invalid key.
Returned when the API key is valid but does not have access to the requested project.
Returned when the project hash, endpoint, or resource does not exist.
Returned when a pull token has expired. Pull tokens are valid for 30 days after results become available. Start tokens (verification URLs) expire after 24 hours.
Returned when request volume exceeds your project’s rate limit. The Retry-After header tells you how many seconds to wait.
Response headers:
Returned for unexpected server errors. These are transient and should be retried.
Returned when an upstream verification provider (registry, screening) fails. Zenoo automatically retries provider failures for async flows. For sync flows, retry the request.
Returned when the Zenoo service is temporarily unavailable (maintenance, capacity limits). Retry after 30 seconds.

Retry logic

Only retry errors marked as retryable in the table above. For 4xx errors, fix the request before resubmitting.
Use the following exponential backoff schedule for retryable errors:
For RATE_LIMITED (429), always use the Retry-After header value instead of the default backoff schedule. For detailed retry implementation, see Error Handling.

Next steps