Admin rate limited
Identifiers
Section titled “Identifiers”| Field | Value |
|---|---|
| Type URI | https://echo.labstack.com/pro/problems/admin-rate-limited |
| Code | admin_rate_limited |
| HTTP status | 429 |
| HTTP status | English title |
|---|---|
| 429 | Too Many Requests |
When it occurs
Section titled “When it occurs”The principal sent more console requests than its rate limit allows. Each principal gets separate default buckets for reads, writes and probes. Reads allow 10 requests per second with burst 30. Writes allow 12 per minute with burst 12. Probes allow six per minute with burst six. Config.RateLimit replaces these buckets. The console also uses this code when Config.Middleware returns HTTP 429.
Client handling
Section titled “Client handling”Wait for the number of seconds in Retry-After, then retry. Reduce automated polling of the console.
Example response
Section titled “Example response”If your application installs a custom handler, the body may differ.
HTTP/1.1 429 Too Many RequestsContent-Type: application/problem+jsonCache-Control: no-store
{ "code": "admin_rate_limited", "detail": "", "status": 429, "title": "Too Many Requests", "type": "https://echo.labstack.com/pro/problems/admin-rate-limited"}Server correction
Section titled “Server correction”Reduce automated polling and check Config.RateLimit. Action clients must preserve the action ID when retrying.
Response fields
Section titled “Response fields”Admin console
Section titled “Admin console”code(string, always): The stable code above.detail(string, always): The console always sendsdetail. It is often empty and never contains the underlying error.status(integer, always): The HTTP status of the response.title(string, always): The HTTP status text, such asConflict, unless the panel supplies its own title.type(string, always): The exact type URI above.
Headers:
Cache-Control(always):no-store. The console sends it on every problem response, along with its usual security headers.Retry-After(conditional): Whole seconds, at least 1. Sent when the console’s rate limit, built in orConfig.RateLimit, refused the request.
Notes:
- Fields are written in alphabetical order.
- The console rewrites every 404 response to
admin_not_foundwith an emptydetail.
Related behavior
Section titled “Related behavior”See the admin console for access checks, action IDs and audit failures.