> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.erlcrussia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Лимиты Запросов

> API ER:LC Россия использует лимиты на количество запросов, чтобы защитить наши сервера от перегрузок и обеспечить стабильную работу для всех. Понимание того, как устроены эти ограничения и как их правильно обрабатывать, необходимо для создания надёжной интеграции.

## Таблица Лимитов

| Эндпоинты       | Лимит                   | Описание                                   |
| --------------- | ----------------------- | ------------------------------------------ |
| `/v1/*`         | **120 запросов/мин**    | Все эндпоинты API V1                       |
| `/v2/*`         | **120 запросов/мин**    | Все эндпоинты API V2                       |
| `/v1/*/stats/*` | **20 запросов/мин**     | API Статистики V1                          |
| `/v2/*/stats/*` | **40/120 запросов/мин** | API Статистики V2 (без токена / с токеном) |

### Пример Ответа При Превышении Лимита

```json theme={null}
{
  "code": 5016,
  "message": "Rate Limit Exceeded",
  "retry_after": 45,
  "details": {
    "limit": 120,
    "count": 125,
    "excess": 5,
    "reset_at": 1740339600000
  }
}
```

## Заголовки Rate Limit

API возвращает заголовки с информацией о лимитах в **каждом ответе**:

| Заголовок               | Пример значения  | Описание                                        |
| ----------------------- | ---------------- | ----------------------------------------------- |
| `X-RateLimit-Limit`     | 120              | Максимальное количество запросов в минуту       |
| `X-RateLimit-Remaining` | 115              | Оставшееся количество запросов до сброса        |
| `X-RateLimit-Reset`     | *Unix timestamp* | Время (мс), когда лимит будет сброшен           |
| `Retry-After`           | 45               | Секунд до сброса лимита (только при 429 ошибке) |

<Tip>
  Всегда используйте заголовки ограничений, возвращаемые в каждом ответе, чтобы динамически настраивать частоту запросов. **Не зашивайте жёсткие значения лимитов в код — они могут меняться и отличаться в зависимости от сервиса.**
</Tip>

## Очередь Команд

Эндпоинты `*/command` используют систему очереди:

* **Максимальный размер очереди:** 100 команд
* **Интервал выполнения:** 1 команда каждые 5 секунд

Когда очередь заполнена, вы получите:

```json theme={null}
{
  "code": 5015,
  "message": "Command Queue Full"
}
```

## Защита От Спама

После превышения лимита счётчик **не останавливается**, а продолжает считать **лишние запросы**.

При достижении **400 лишних запросов** выдаётся **бан на 5 минут**. Если спам продолжается, время бана увеличивается.

<Tip>
  **API Статистики V2:** Используйте токен для увеличения лимита с 40 до 120 запросов/мин. Передайте токен через заголовок `Authorization: Bearer <token>`.
</Tip>

## Злостные Нарушители

Приложения, которые продолжают отправлять запросы после получения ответов `429`, могут быть заблокированы на всё более длительный срок.

<Danger>
  Приложения, которые систематически не соблюдают лимиты запросов, будут **заблокированы через Cloudflare**. Если вы столкнулись со страницей блокировки Cloudflare, вам необходимо связаться с нами, открыв API-тикет на Discord-сервере ER:LC, чтобы снять блокировку.
</Danger>

## Хостинги с Общими IP-Адресами

API ER:LC Россия не поддерживает BotGhost и аналогичные хостинги с общими IP-адресами. Когда куча разных приложений работают под одним IP, они постоянно упираются в лимиты запросов друг друга, и решить эту проблему невозможно. Для стабильного доступа к API хостите свой сервис на выделенном IP.
