# Rate Limits

> Configure rate limits for API routes to prevent abuse.

## Identity

| Field | Value |
| --- | --- |
| Route | `/admin/rate-limits` |
| Area | admin |
| Audience | Panel administrators (requires admin permissions) |
| Component | `RateLimitsPage` |
| Source | `src/app/(app)/admin/rate-limits/page.tsx` |
| Dynamic | no |

| Title i18n key | `admin.rate_limits.title` |
| Description i18n key | `admin.rate_limits.description` |
| Permission | `admin.settings.view` |
| Nav group | `system` |
| Sidebar label | Rate Limits |

## Summary (for AI)

**Rate Limits** Configure rate limits for API routes to prevent abuse. Requires permission `admin.settings.view`. Key UI: Refresh; Save All; Rate limiting is enabled globally. Individual routes can still be disabled.; Rate limiting is disabled globally. No rate limits will be applied.; Global Status; Toggle standard rate limiting across the entire application..

## How to guide users

1. Open Admin sidebar.
2. Go to **Rate Limits**.
3. Direct URL: `/admin/rate-limits`.
4. User needs permission `admin.settings.view` (or `admin.root`).

## Sections on this page

- Global Rate Limiting
- Route Configuration

## Notable UI actions / labels

- Refresh
- Save All
- Rate limiting is enabled globally. Individual routes can still be disabled.
- Rate limiting is disabled globally. No rate limits will be applied.
- Global Status
- Toggle standard rate limiting across the entire application.
- Manage rate limits for individual API routes.
- Route
- Status
- /s
- /m
- /h

## Widget slugs

- [`admin-rate-limits`](../widgets/admin-rate-limits.md)

## Related APIs / hooks

- `/api/admin/rate-limits`
- `/api/admin/rate-limits/bulk`
- `/api/admin/rate-limits/global`

Hooks: `usePluginWidgets`
