Skip to main content
Centsless returns standard HTTP status codes on every response. When a request fails, the response body is a JSON object with two fields: error, a machine-readable code you can match against in your integration, and message, a human-readable description suitable for logging.

Error response structure

Every error response follows this schema:

HTTP status codes

Common error codes

UNAUTHORIZED — 401

Returned when the x-api-key header is absent or the key has been revoked.

FORBIDDEN — 403

Returned when your key is valid but is not scoped for the endpoint you called. For example, a merchant key calling an admin-only endpoint.

VALIDATION_ERROR — 400

Returned when a required field is missing from the request body or a field value falls outside the allowed enum.

NOT_FOUND — 404

Returned when you reference a transaction ID or other resource that does not exist.
The compliance_status field in transaction responses (PASS, WARN, or FAIL) signals jurisdiction compliance issues. These are separate from HTTP errors — a transaction can return 200 OK with a compliance_status of WARN or FAIL. Check this field in every transaction response alongside the HTTP status.