message is at most 200 characters and never echoes your input. retryable: true means the
same request may succeed later. next is a short instruction for your next step (at most 200 characters).
For actions, check whether anything happened before retrying; keep the same Idempotency-Key.
effect: "none" means nothing was sent, charged or created: every source refused before
acting, or the request was refused before anything ran (validation, approval, credit, limits).
It is safe to change the request and try again. When effect is absent, a send, payment or
purchase may have happened: check before retrying, and retry with the same Idempotency-Key.
A failed job’s error carries the same field.
In the SDK
The SDK throwsPramaanError with code, message, next, retryable, requestId, status,
effect ("none" or absent) and, for connection_required, slot.
429 and 5xx responses (and network failures) for read-only capabilities,
up to two times with backoff, sending the same Idempotency-Key each time (a retry that finds
the first attempt still in progress reports the first attempt’s error). It never retries
capabilities with an external effect, such as sending an email; you decide when to retry those.
Default next instructions
When
retryable is false, these codes get a default that never asks for a retry: