Rate Limits¶
Per-key quotas, enforced by a Redis-backed sliding window. Hit the cap and you'll meet a 429.
Defaults¶
| Endpoint | Quota |
|---|---|
| All endpoints (default) | 120 requests / minute / key |
POST /projects/{id}/automation/cam-planning |
30 / hour |
Contact support for higher limits.
Headers¶
Every successful response carries:
Reset is a Unix epoch seconds timestamp.
Hitting the limit¶
HTTP/1.1 429 Too Many Requests
Retry-After: 30
Content-Type: application/json
{"detail":{"code":"validation_error","message":"Rate limit exceeded: 120 per minute","details":{"retry_after_seconds":30},"request_id":"..."}}
Wait Retry-After seconds, then retry with exponential backoff and jitter.
Concurrency limits¶
The CAM-planning automation has a per-user serialisation lock independent of rate limits. Only one automation.cam_planning task runs at a time per user; further requests queue (queued: true with a queue_position). Concurrent requests for the same project are rejected immediately with 409 Conflict, code=automation_slot_busy.
For parallel automation, use separate user accounts (one API key per user).