Skip to main content
Every error response has one shape:
code is stable — branch on it, not on the message. The SDK surfaces it as AlyteApiError (status, code, message, details).

How to treat failures

The two rules that matter

  1. Idempotency: send a stable Idempotency-Key on every confirm. It is the reason a timeout is an inconvenience instead of a double charge.
  2. Don’t normalize errors: a hard decline and a retryable network blip are different codes on purpose. Collapsing them into one generic failure is how retry storms happen.