Errors & status codes
HTTP status codes signal the class of error; the error field carries a human-readable description.
| Status | Meaning |
|---|---|
| 200 | OK, request succeeded |
| 400 | Bad request, validation error, missing field, or malformed JSON |
| 401 | Unauthenticated, missing, expired, or invalid token |
| 402 | Payment required, insufficient SMS unit balance |
| 403 | Forbidden, token lacks the required scope or permission |
| 404 | Not found, resource does not exist or was deleted |
| 409 | Conflict, duplicate record or state mismatch |
| 429 | Too many attempts, rate limited (OTP resend, login) |
| 500 | Internal server error, contact support if it persists |
Handling errors
Retry 429 and 500 responses with backoff. Treat 400, 401, 402, and 403 as terminal, fix the request, token, balance, or scope before retrying.