Skip to main content

Errors

Every failed request in Clopos Open API v2 returns a JSON body with a consistent shape. This page documents that envelope, the HTTP status codes you can expect, and the most common errors you will encounter in practice.

Error envelope

All error responses share the same top-level shape:
Always branch on success === false, not on the HTTP status code. One edge case — an integrator in test mode calling a production brand — is returned as 200 OK with success: false.

Status codes

Common errors

Missing x-token

You forgot to include the x-token header. Every v2 endpoint except /v2/auth requires it.

Invalid or malformed token

The JWT is malformed or its signature does not verify. Do not retry — re-authenticate.

Expired token

The JWT has expired. Call /v2/auth again to obtain a fresh token, then retry the original request.
The expires_at in this error body is an ISO 8601 string, while the expires_at returned by /v2/auth is a Unix timestamp in seconds. Parse each accordingly.

Invalid integrator_id at /v2/auth

The integrator_id is not registered with Clopos or has been disabled. Request a new one via this form.

Test integrator hitting a production brand

The integrator is flagged as test-only but you are trying to authenticate against a production brand. Either switch to a production integrator_id or target a non-production brand. See Core concepts → Test vs production integrators.
This one is the reason you should branch on success, not status code — it is returned as 200 OK at /v2/auth even though the authentication failed.

Missing required field at /v2/auth

One or more of the four required fields was omitted from the auth request body.

Resource not found

The requested resource does not exist in the targeted brand/venue combination. Double-check the ID and that the x-venue you are using (explicit header or JWT default) matches the venue where the resource lives.

Retry guidance

Reporting a bug

If you encounter an error you cannot explain, contact dev@clopos.com with:
  • The full request (method, URL, headers except x-token, and body).
  • The full response (status code, headers, body).
  • Your integrator_id and brand.
  • The approximate UTC timestamp.
These details let the Clopos team cross-reference the request in Sentry and upstream logs quickly.