Error Codes Reference
Every ChatAds error response includes acode field. Here’s the complete list:
| Code | HTTP Status | Description | Resolution |
|---|---|---|---|
UNAUTHORIZED | 401 | No API key provided | Add x-api-key header |
MISSING_API_KEY | 401 | API key header missing | Add x-api-key header |
INVALID_API_KEY | 403 | Invalid API key | Check key in Settings → API Keys |
API_KEY_DISABLED | 403 | API key disabled | Re-enable in dashboard or create new key |
INVALID_INPUT | 400 | Empty or malformed request | Check request body format |
MESSAGE_TOO_LONG | 400 | Message exceeds 5000 characters | Trim message content |
BLOCKED_KEYWORD | 400 | Blocked keyword detected | Review blocked keywords in Settings |
COUNTRY_NOT_ALLOWED | 400 | Country not allowed | Update geo restrictions |
IP_COUNTRY_NOT_ALLOWED | 400 | IP geo-location blocked | Check IP-based geo restrictions |
LANGUAGE_NOT_ALLOWED | 400 | Language not allowed | Update language restrictions |
DAILY_LIMIT_EXCEEDED | 429 | Daily limit reached | Wait for reset at midnight UTC |
MONTHLY_LIMIT_EXCEEDED | 429 | Monthly limit reached | Upgrade plan |
INTERNAL_ERROR | 500 | Server error | Retry or contact support |
REDIS_UNAVAILABLE | 503 | Rate limiter temporarily down | Retry in a few seconds |
Common Questions
I'm getting UNAUTHORIZED (401) errors
I'm getting UNAUTHORIZED (401) errors
I'm getting INVALID_API_KEY (403) errors
I'm getting INVALID_API_KEY (403) errors
This means your API key is invalid or disabled. Verify:
- The key starts with
cak_ - It hasn’t been revoked in the dashboard
- Your team account is active
My request returns no offers. Why?
My request returns no offers. Why?
Several reasons can cause no match (check
data.returned === 0 or empty data.offers array):- No product detected - The message doesn’t contain a clear product reference
- Intent too low - The query’s intent score didn’t meet the threshold
- No affiliate available - The product exists but has no affiliate link
- Message too short - After removing PII and blocked keywords, no words remain
- Non-US/non-English - Traffic from outside the US or in a non-English language
BLOCKED_KEYWORD (400) instead of an empty response.Technical note: After sanitization (removing PII, URLs, blocked keywords), messages may become too short for product extraction even if they started longer. Single-word product names are supported.Check the data.status field to understand the outcome. When status is "no_offers_found", examine the response to determine why no offers were returned.What does 'message too short' mean exactly?
What does 'message too short' mean exactly?
ChatAds requires at least 1 word after sanitization to extract product keywords. Sanitization removes:
- PII (emails, phone numbers, SSNs, credit card numbers)
- URLs and links
- Blocked keywords from your rules
Why would a product query return no affiliate link?
Why would a product query return no affiliate link?
Even valid product queries may return no offers because:
- Niche products - Not available through our affiliate partners
- Generic terms - “Good laptop” is harder to match than “MacBook Pro M3”
- Services vs products - Software subscriptions, services, or digital goods may not have affiliate links
- Regional products - Items only available outside the US
- Temporarily unavailable - Product out of stock or delisted