Errors
All errors follow a consistent format.
Error Response Format
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Amount must be a valid number with up to 2 decimal places"
}
}
Error Codes
| HTTP | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid request parameters |
| 401 | AUTH_ERROR | Missing, invalid, or frozen API key |
| 404 | NOT_FOUND | Resource not found (or belongs to another team) |
| 409 | CONFLICT | Duplicate resource |
| 429 | RATE_LIMITED | Too many requests — wait and retry |
| 500 | INTERNAL_ERROR | Server error — contact administrator |
| 502 | MERCHANT_ERROR | Payment provider is temporarily unavailable |
Never rely on error messages for logic — they may change. Use the
code field instead.