> ## 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-адресі.
