Skip to main content
Every error uses the same envelope. Branch on error.code — it is stable. error.message is for humans and may change.
Some message values are in French. Never parse or display them as-is to end users — map code to your own wording instead.

HTTP statuses

Validation errors

A body that fails validation (missing or invalid field, wrong type, unmet cross-field rule) returns 422 with code: "validation_error". message names the first failing field; details.fieldErrors lists every failing field by path.

Error codes

Retrying safely

  • Retry only on 429 and 5xx, with exponential backoff (for example 1 s, 2 s, 4 s… capped at 1 minute).
  • For payouts and conversions, always resend the same Idempotency-Key so a retry can never move money twice. See Idempotency.
  • If a request times out, don’t assume it failed: look the resource up (or rely on its webhook) before trying again.
  • When contacting support about an error, include the response’s X-Request-Id header.