Integrate

Errors

Error format, codes and retries.

Failed requests return a 4xx or 5xx status and a JSON error object.

link The error body

400 Bad Request
{
  "success": false,
  "data": null,
  "error": {
    "code": "VALIDATION_ERROR",
    "field": "reference",
    "message": "reference is required (1 to 200 characters)."
  },
  "meta": {
    "request_id": "7488379f-f816-46fc-985f-4274a7c4430f",
    "timestamp": "2026-10-15T12:10:11.419698+00:00"
  }
}
error.code string

A stable code. Branch on this, not on the message.

error.message string

Human-readable description. It can change; don't parse it.

error.field string

For validation errors, the request field at fault.

meta.request_id string

Quote this if you contact us about a request.

link Codes

StatusCodeMeans
400VALIDATION_ERRORA field is missing or isn't valid. See field.
401AUTHENTICATION_ERRORNo API key, a key that isn't valid or has been revoked, or a suspended account.
403AUTHORIZATION_ERRORThe key is valid but can't do this: it lacks the scope for the call, or it's a publishable key on a website a button doesn't allow.
404NOT_FOUNDNo such session, or it belongs to another account.
410SESSION_ENDEDThe session has already ended, so it can't be changed.
429RATE_LIMIT_ERRORToo many requests. See Rate limits.
5xxINTERNAL_ERRORSomething went wrong on our side. Try again with a short delay.
lightbulb

Retrying safely

Retry 429 and 5xx responses, waiting a little longer each time. Don't retry 4xx errors without changing the request: they'll fail the same way.

Was this page helpful?

Authorization

Your secret key stays in this tab: it is sent with this request only and never stored.

Body application/json

Response

Send the request to see the response.