Errors & status codes

HTTP status codes signal the class of error; the error field carries a human-readable description.

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.