API rate limits
Request budgets, response headers, and retry behavior.
Status applies rate limits at specified API endpoints. Limits are shared across web instances; requests consume the same budget regardless of which instance handles them.
| Boundary | Identity | Limit |
|---|---|---|
| Deployment event ingestion | Authenticated account | 120/minute |
| Deployment event listing | Authenticated account | 300/minute |
| External alert ingestion | Authenticated account | 120/minute |
| Status-page password unlock | Client IP + page | 5/10 minutes |
| Heartbeat push | Client IP | 600/minute |
| Public SVG badges | Client IP | 300/minute |
| Public RSS feeds | Client IP | 300/minute |
Authenticated limits are applied only after the session or scoped API key has been verified. Public routes use the client's address.
Protected responses include:
RateLimit-LimitRateLimit-RemainingRateLimit-Resetas a Unix timestampRetry-Afteron429 Too Many Requests
Behind a reverse proxy
When Status sits behind a reverse proxy, configure it to overwrite
X-Forwarded-For and enable Trust proxy headers in Settings →
Instance. Status then uses the first valid forwarded address for IP-keyed
limits.
Reverse proxies should still apply coarse connection and body-size limits before traffic reaches Status.