Errors

Error responses use a consistent format:

{
  "error": {
    "code": "not_found",
    "message": "Palette \"xyz\" not found.",
    "status": 404
  },
  "meta": {
    "request_id": "req_abc123def456",
    "api_version": "v1"
  }
}

Error codes

CodeHTTPDescription
invalid_api_key401Key missing, malformed, or not recognized.
key_revoked401Key was revoked. Generate a new one.
pro_required403API access requires an active Pro subscription.
rate_limit_exceeded429Daily credit limit reached. Resets at midnight UTC.
invalid_parameter400A query parameter is invalid (details in message).
not_found404The requested resource does not exist.
internal_error500Something went wrong on our side.

Handling errors

Check the HTTP status code first, then read error.code for programmatic handling and error.message for human-readable context.