Rate limits

Broadcast alerts share a rate limit across every channel. Everything else is unmetered in v1.

The shared alert cap

Broadcast alerts (POST /alerts) are rate-limited. The cap is shared across every channel that can send an alert for your agent — the REST API, the MCP server, and the email Virtual Operations Agent all draw from the same limit. This prevents an agent from blasting workers with alerts from multiple sources at once.

When you're over the limit, POST /alerts returns:

{ "error": "rate_limited", "message": "Alert rate limit reached. Try again later." }

with HTTP status 429. Wait and retry later.

📘

Targeted messages aren't capped

Only broadcast alerts share this limit. Targeted POST /messages calls are not subject to it.

Everything else

Beyond the alert cap, the REST API does not impose per-token rate limits in v1. Be a good citizen — batch reads where you can, and don't poll GET /files/{batch_id} in a tight loop (a few seconds between polls is plenty).


Did this page help you?