Errors & Rate Limits
All error responses use standard HTTP status codes with a JSON body.
Error Handling
| Status | Meaning | Example body |
|---|---|---|
400 | Bad Request | { "error": "Invalid payload" } |
401 | Unauthorized | { "error": "Invalid API key" } |
403 | Forbidden | { "error": "Origin not allowed" } |
429 | Too Many Requests | { "error": "Monthly event limit reached", "usage": { … } } |
500 | Internal Server Error | { "error": "Internal server error" } |
Rate Limits
Ingestion is limited by your plan's monthly event allowance (page views and events). Requests beyond it return 429 Too Many Requests with your current usage, until the allowance resets at the start of the next month. Requests are also checked against the site's API key and allowed domains. The server events API also allows 600 requests a minute per secret key, each with up to 100 events.
{
"error": "Monthly event limit reached",
"usage": { "count": 1000000, "limit": 1000000, "percentUsed": 100 }
}