TILLA DOCS ยท GETTING STARTED
Errors
Standard HTTP codes with a JSON body: {"error": "...", "code": 403}. Every answer carries X-Request-Id. The same table, as a sheet, is in GET /v1/calls?format=csv.
| Code | Meaning | What to do |
|---|---|---|
| 400 | Bad parameter - a bad date, start after end, an unknown parameter | Fix the request; the body says which |
| 401 | Missing key | Send X-API-Key: tk_live_... |
| 403 | Invalid or revoked key, or a series / lane / call outside your tier | /v1/inventory shows what your key holds - or upgrade |
| 404 | Unknown endpoint, tier, lane or receipt | GET /v1/calls lists every call |
| 405 | Method not allowed - the API is read-only | Use GET (or HEAD) |
| 409 | Already done - a just-bought key is shown once | Rotate the key from your dashboard |
| 413 | Request too large | Fewer series, or a shorter window |
| 429 | Rate limit, daily quota, rows or breadth | Wait the seconds in Retry-After; X-RateLimit-* shows your budget |
| 500 | Our fault | Retry once; send the X-Request-Id to support if it repeats |
| 503 | Maintenance - the data engine is restarting | The live calls (tick, stream, latest) pause; every history call keeps working and carries X-Tilla-Maintenance: 1. Wait Retry-After and ask again |