Errors
One error format, with a stable code to branch on.
Errors use the standard application/problem+json format:
{
"type": "https://dev.wa-api.cloud/errors/invalid_input",
"title": "The request is not valid",
"status": 400,
"detail": "phone must be in international format, e.g. +15555550123",
"code": "invalid_input",
"errors": [{ "pointer": "/phone", "detail": "has the wrong format" }],
"request_id": "req_01J8Z…"
}- Branch on `code`, never on
titleordetail: those are for people and may be reworded. errors[]points at each bad field with a JSON pointer.- Quote
request_idwhen you contact support.
See every code on the error codes page.
What to retry
| Code | Retry? |
|---|---|
rate_limited | Yes, after Retry-After seconds. |
upstream_unavailable, timeout | Yes, with backoff and the same Idempotency-Key. |
| Everything else | No — fix the request first. |