Error Response Format
All errors follow this structure:Error Codes
| Code | HTTP Status | Description |
|---|---|---|
INVALID_INPUT | 400 | Request body is missing or malformed |
MESSAGE_TOO_LONG | 400 | Message exceeds 5000 characters |
BLOCKED_KEYWORD | 400 | Message contains blocked content |
COUNTRY_NOT_ALLOWED | 400 | Country not allowed |
IP_COUNTRY_NOT_ALLOWED | 400 | IP geo-location blocked |
LANGUAGE_NOT_ALLOWED | 400 | Language not allowed |
UNAUTHORIZED | 401 | Missing API key |
MISSING_API_KEY | 401 | API key header missing |
INVALID_API_KEY | 403 | Invalid API key |
API_KEY_DISABLED | 403 | API key disabled |
DAILY_LIMIT_EXCEEDED | 429 | Daily request limit exceeded |
MONTHLY_LIMIT_EXCEEDED | 429 | Monthly request limit exceeded |
INTERNAL_ERROR | 500 | Server error |
REDIS_UNAVAILABLE | 503 | Rate limiter temporarily unavailable |
Common Errors
Missing API Key (401)
x-api-key header.
Invalid API Key (403)
Rate Limit Exceeded (429)
Handling Errors in Code
Request IDs
Every response includes arequest_id in the meta object. Include this ID when contacting support for faster issue resolution.