Limit: 90,000 tokens/day (10K buffer below hard quota) Reset: automatic via Redis TTL (24h) On exhaustion: HTTP 503 with retry message Fail-open: if Redis unavailable, Groq calls proceed
Limit: 30 requests/minute per authenticated user Window: sliding (minute bucket, auto-expires after 2 min) On exceeded: HTTP 429 with Retry-After: 60 header Applied to: POST /api/search, POST /api/sessions/{id}/messages Fail-open: if Redis unavailable, requests proceed