Errors
Consistent error format and status codes.
Errors follow a consistent shape with `code`, `message`, and sometimes `details`.
json{
"error": {
"code": "invalid_phone_number",
"message": "Recipient phone number is not valid",
"details": { "to": "+62812" }
}
}- `400` invalid request
- `401` wrong/missing token
- `409` idempotency conflict
- `429` rate limited
- `5xx` transient, retry with backoff