On the wire
Ships with HTTP status 429, carrying "code": "RU-6004" in the response body alongside the human-readable error message. Existing fields are never replaced by the code: it is additive.
Common causes
- An agent polling an outage tool in a loop instead of asking once.
- Many callers behind one shared egress address, which share a single per-IP budget.
- Protocol overhead: one assistant question costs several requests (initialize, tools/list, then the tool call).
How to fix it
- Honor the Retry-After header before retrying.
- Ask once and reuse the answer: readings only change once per probe cycle (10 minutes).
- For sustained or shared-egress use, switch to the keyed MCP endpoint with an API key, which has its own larger per-key budget.
- For a single service reading, the cacheable JSON endpoint at /api/v1/outages/<slug> is cheaper than an MCP round trip.
Related codes
Still stuck?
Ask support and mention RU-6004: the code pins down the exact refusal path, so you skip the diagnostic back-and-forth.