status field (always false on error), a human-readable message, and a path indicating the endpoint that produced the error. When a request fails schema validation, the response also includes an errors array — each entry identifies the specific field, explains what went wrong, and provides a machine-readable type you can map to user-facing copy.
Error Response Format
Simple errorerrors array
Authentication Errors (401 / 403)
These errors mean the request was rejected before it reached any business logic. Check your credentials, signing implementation, and timestamp freshness before retrying. All requests (exceptGET /health) must include the X-Key-Id, X-Timestamp, and X-Signature headers.
Validation Errors (400)
Validation errors indicate something wrong in your request body or parameters. Use thefield and message values from the errors array to surface precise feedback to your users or flag the issue in your integration.
When you receive a
400 with an errors array, iterate over each entry and display errors[n].message next to the relevant form field. Do not display the top-level message string directly to end users — it is intended for developers.Not Found Errors (404)
A404 means the reference or resource you provided does not match any record in Lyseis Pay. Double-check that the reference was created under the same API key and environment (live vs. sandbox) you are currently using.
Conflict Errors (409)
Conflict errors indicate a state or uniqueness problem. The request was understood, but it cannot be fulfilled given the current state of the resource. Do not retry a409 without first resolving the underlying cause.
Expiry and Service Errors (410 / 500 / 503)
Retry Strategy
Knowing when to retry — and when not to — prevents duplicate transactions and wasted requests. Do not retry errors in the400, 401, 403, 404, and 409 families without first changing the request. These errors indicate a problem with the request itself (bad credentials, wrong field values, a duplicate reference, or an invalid state transition). Sending the same request again will produce the same error.
Do retry 502, 503, and transient 500 errors. These indicate a temporary infrastructure or upstream service problem that is likely to resolve on its own.
When retrying, follow an exponential backoff strategy: