Base URL
All API requests go to:Authentication
Every request requires an API key in thex-squasher-key header:
| Key prefix | Scope | Use case |
|---|---|---|
sq_pk_ | Ingest + read | SDKs, CLI, read-only dashboards |
sq_sk_ | Full access | Server-side admin, automation |
Rate Limits
| Endpoint | Limit |
|---|---|
POST /v1/ingest/:project_id | Plan-dependent (5K-2M events/month) |
POST /v1/drain/* | Unlimited (log drains are not rate-limited) |
GET /v1/* | 100 requests/minute per API key |
POST /v1/* (mutations) | 30 requests/minute per API key |
429 Too Many Requests response with a Retry-After header.
Response Format
All responses are JSON. Successful responses return the data directly. Errors return:Status Codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
202 | Accepted (ingestion — event queued) |
400 | Bad request (invalid payload) |
401 | Unauthorized (missing or invalid API key) |
403 | Forbidden (API key doesn’t have access to this resource) |
404 | Not found |
429 | Rate limit exceeded |
500 | Internal server error |