Skip to content

Лимиты и квоты

Runne Pass применяет два вида ограничений:

  1. Rate limits по ключу — скользящее окно лимитов запросов на пути chat.
  2. Квоты воркспейса — месячный бюджет токенов (применяется) плюс заявленные лимиты.

Rate limiting по ключу

POST /v1/chat/completions лимитируется по каждому API-ключу. По умолчанию:

ЛимитЗначение по умолчанию
requests_per_minute60
tokens_per_day1 000 000 (заявлен, в beta не применяется)

Их можно переопределить для ключа при создании через опциональный объект rate_limit — см. API-ключи.

Механика

  • Скользящее окно реализовано как атомарный Lua-скрипт Redis (sorted set). Запросы старше окна отбрасываются, текущий счётчик сравнивается с лимитом.
  • In-memory fallback используется, когда Redis недоступен, поэтому лимитирование деградирует плавно, а не «открывается».
  • Запрос сверх лимита возвращает 429 (Rate limit exceeded).

Заголовки ответа

На пути chat каждый ответ несёт:

ЗаголовокЗначение
X-RateLimit-LimitРазрешённое число запросов на окно
X-RateLimit-RemainingОсталось запросов в текущем окне
X-RateLimit-ResetTimestamp (мс), когда окно сбросится

Читайте X-RateLimit-Remaining и X-RateLimit-Reset перед повтором 429.

Rate limiting на auth

Вход и регистрация лимитируются по IP, чтобы замедлить перебор учётных данных:

ЭндпоинтЛимит
POST /v1/auth/login10 / минуту
POST /v1/auth/register5 / минуту

Превышение возвращает 429 (Too many attempts).

Квоты воркспейса

Квоты привязаны к воркспейсу и версионируются (каждое обновление архивирует предыдущую строку и вставляет новую с новым effective_from).

Чтение квоты и потребления

bash
curl -b cookies.txt https://api.runne.run/v1/workspaces/WORKSPACE_ID/quota
curl -b cookies.txt https://api.runne.run/v1/workspaces/WORKSPACE_ID/quota/usage

Ответ quota{ "quota": { … } } (или null, если квота не задана); usage возвращает tokens_used и requests_count за текущий период.

Поля квоты

ПолеПрименяется в beta?
tokens_per_monthда
requests_per_minuteнет (заявлено)
max_workspacesнет (заявлено)
max_members_per_workspaceнет (заявлено)
max_api_keys_per_workspaceнет (заявлено)

Применение tokens_per_month

Месячный бюджет токенов применяется атомарно при расчёте: счётчик quota_usage увеличивается только если приращение не выводит потребление за квоту (гард NOT EXISTS внутри обновления делает проверку устойчивой к гонкам). Если квота была бы превышена — приращение пропускается.

::: note Квота против баланса Квота ограничивает потребление; баланс ограничивает средства. Запрос может быть ограничен квотой даже при наличии средств, и наоборот. :::

Связанное