Error Codes

Complete list of CueAPI error codes with descriptions and fixes.

Error code reference

CodeHTTPDescriptionFix
invalid_api_key401API key is missing, malformed, or revokedCheck your API key, regenerate if needed
cue_not_found404Cue ID doesn't exist or belongs to another userVerify the cue ID with cueapi list
cue_limit_exceeded403Active cue count exceeds plan limitDelete unused cues or upgrade your plan
invalid_schedule400Cron expression is invalid or at timestamp is in the pastCheck cron syntax, use a future timestamp
invalid_callback_url400URL fails SSRF validation (blocked IP, no HTTPS, etc.)Use a public HTTPS URL
invalid_payload_size400Payload exceeds maximum sizeReduce payload size (max 1 MB)
invalid_plan400Plan name is not pro or scaleUse pro or scale
invalid_interval400Billing interval is not monthly or annualUse monthly or annual
no_stripe_customer400No Stripe customer record (never upgraded)Upgrade first via checkout
invalid_device_code400Device code is too short or malformedUse 8+ alphanumeric characters
device_code_expired400Device code has expired (10 min lifetime)Create a new device code
device_code_exists409Device code already registeredUse a different code
device_code_not_found404Device code doesn't existCheck the code for typos
invalid_status400Status value is not active or pausedUse active or paused
validation_error400General input validation failureCheck the error message for details
rate_limit_exceeded429Too many requests in the current windowWait for Retry-After seconds
stripe_error502Stripe API error during checkout or portalTry again; contact support if persistent
outcome_already_reported409Outcome already recorded for this executionOutcomes are write-once
execution_not_found404Execution ID doesn't exist or wrong userVerify the execution ID
already_claimed409Execution already claimed by another workerExecution was claimed; skip it
internal_error500Unexpected server errorContact support

Example error responses

401 — Invalid API key

json
{
  "error": {
    "code": "invalid_api_key",
    "message": "Invalid or missing API key",
    "status": 401
  }
}

403 — Cue limit exceeded

json
{
  "error": {
    "code": "cue_limit_exceeded",
    "message": "You have reached your plan's cue limit (10)",
    "status": 403
  }
}

429 — Rate limited

json
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Retry after 12 seconds.",
    "status": 429
  }
}

Headers include:

Retry-After: 12
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0