Problem responses
When Attesso supplies an error body, it usesapplication/problem+json. The values below illustrate the response shape; use the exact codes returned by the API.
code, retryable, and field pointers. Do not branch on human-readable title, detail, or message text.
Status codes
Edge-generated
429 responses may omit the problem body, request ID, and Retry-After header.
Idempotency keys
Every write requiresIdempotency-Key.
., _, :, or -.
- Scope one key to one logical operation.
- Persist the key with your operation state before sending the request.
- Retry identical canonical input with the same key.
- Use a new key for a different operation.
- Reusing a key with different input returns
409.
Idempotency-Replayed: true.
Retry pattern
1
Classify the failure
Respect
retryable when a problem body is present. Treat uncertain execution outcomes as non-permission.2
Keep the original operation identity
Reuse the same idempotency key and byte-equivalent logical input.
3
Back off with jitter
Honor
Retry-After when present. Otherwise use bounded exponential backoff.4
Reconcile by reading
If a lifecycle transition remains uncertain, retrieve the mandate or authorization before taking another action.
Log
Attesso-Request-Id for correlation. It is safe to share with Attesso support and does not contain credentials.