Error Codes

All errors return a JSON object with detail (human-readable message) and code (machine-readable identifier).

HTTP status codes

StatusMeaning
400Bad Request — invalid parameters or missing required fields
401Unauthorized — missing or invalid authentication
403Forbidden — insufficient permissions or scope
404Not Found — resource does not exist
409Conflict — duplicate resource (e.g., domain name)
422Unprocessable Entity — validation error
429Too Many Requests — rate limit or credit limit exceeded
500Internal Server Error — unexpected failure

Error response format

{
  "detail": "You have exceeded your monthly credit limit.",
  "code": "credit_limit_exceeded",
  "status": 429
}

Common error codes

CodeDescription
invalid_credentialsEmail or password is incorrect
token_expiredJWT access token has expired
api_key_revokedAPI key has been revoked
credit_limit_exceededMonthly credit quota exhausted
rate_limitedToo many requests in time window
domain_not_foundRequested domain does not exist
insufficient_permissionsRole lacks required permission