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
| Code | HTTP | Description |
|---|---|---|
invalid_api_key | 401 | Key missing, malformed, or not recognized. |
key_revoked | 401 | Key was revoked. Generate a new one. |
pro_required | 403 | API access requires an active Pro subscription. |
rate_limit_exceeded | 429 | Daily credit limit reached. Resets at midnight UTC. |
invalid_parameter | 400 | A query parameter is invalid (details in message). |
not_found | 404 | The requested resource does not exist. |
internal_error | 500 | Something 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.