Error Codes
All errors return a JSON object with detail (human-readable message) and code (machine-readable identifier).
HTTP status codes
| Status | Meaning |
400 | Bad Request — invalid parameters or missing required fields |
401 | Unauthorized — missing or invalid authentication |
403 | Forbidden — insufficient permissions or scope |
404 | Not Found — resource does not exist |
409 | Conflict — duplicate resource (e.g., domain name) |
422 | Unprocessable Entity — validation error |
429 | Too Many Requests — rate limit or credit limit exceeded |
500 | Internal Server Error — unexpected failure |
Error response format
{
"detail": "You have exceeded your monthly credit limit.",
"code": "credit_limit_exceeded",
"status": 429
}
Common error codes
| Code | Description |
invalid_credentials | Email or password is incorrect |
token_expired | JWT access token has expired |
api_key_revoked | API key has been revoked |
credit_limit_exceeded | Monthly credit quota exhausted |
rate_limited | Too many requests in time window |
domain_not_found | Requested domain does not exist |
insufficient_permissions | Role lacks required permission |