Error Response Format
All error responses follow a consistent format:HTTP Status Codes
| Code | Name | Description |
|---|---|---|
200 | OK | Request succeeded (check success field) |
400 | Bad Request | Invalid parameters or request body |
401 | Unauthorized | Missing or invalid API key |
403 | Forbidden | Access denied or quota exceeded |
404 | Not Found | Resource doesn’t exist |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server-side error |
502 | Bad Gateway | Upstream service unavailable |
503 | Service Unavailable | Temporary maintenance |
Common Errors
400 Bad Request
Invalid request parameters:- Check required parameters are provided
- Validate parameter formats and ranges
- Ensure JSON body is properly formatted
401 Unauthorized
Authentication failed:- Verify API key is correct
- Check header is
x-api-key(lowercase) - Ensure key hasn’t been revoked
- Generate a new key if needed
403 Forbidden
Access denied:- Endpoint requires higher subscription tier
- Daily quota exceeded
- Account suspended
- IP blocked by Cloudflare
404 Not Found
Resource doesn’t exist:- Verify resource ID is correct
- Check resource hasn’t been deleted
- Ensure you have access to the resource
429 Too Many Requests
Rate limit exceeded:- Wait for
retry_afterseconds - Implement exponential backoff
- Reduce request frequency
Implementing Error Handling
Error Recovery Strategies
Retry with Exponential Backoff
Retry with Exponential Backoff
For transient errors (429, 5xx), retry with increasing delays:
Graceful Degradation
Graceful Degradation
Handle errors without crashing:
Circuit Breaker Pattern
Circuit Breaker Pattern
Stop making requests when errors are frequent:
Logging and Monitoring
Logging and Monitoring
Log errors for debugging and monitoring:
Validation Errors
For requests with invalid data, you’ll receive field-specific errors:errors object: