Skip to main content
All error responses follow a consistent structure.

Error Response Format

{
  "success": false,
  "message": "API key not found or has been revoked.",
  "moreInfo": "No additional info found."
}
FieldTypeDescription
successbooleanAlways false for error responses
messagestringHuman-readable description of the error
moreInfostringAdditional context when available

HTTP Status Codes

StatusNameWhen it occurs
200OKRequest succeeded
400Bad RequestRequest body or parameters failed validation
401UnauthorizedKey is missing, malformed, expired, or revoked
403ForbiddenKey is valid but lacks the required scope
404Not FoundThe resource does not exist
409ConflictRequest conflicts with existing state
422Unprocessable EntityRequest is valid but cannot be processed
429Too Many RequestsRate limit exceeded — see Retry-After header
500Internal Server ErrorUnexpected server error

401 vs 403

A 401 means the key could not be authenticated at all — it is missing, expired, or revoked. A 403 means the key authenticated successfully but its scopes do not permit the requested operation. To resolve a 403, generate a new key with the required scope from the Developer Portal under Settings → API Keys.

Validation Errors

When a 400 is returned, the message field identifies the offending field:
{
  "success": false,
  "message": "cnrNumber: CNR number must be exactly 16 characters",
  "moreInfo": "No additional info found."
}