Ограничения частоты
Лимит считается на сервисный аккаунт в окне 60 секунд:
| Что | Предел по умолчанию |
|---|---|
| все вызовы аккаунта | 600 в минуту |
тяжёлые операции (GET conversations/{id}/transcript, POST exports/config) — входят и в общий предел | 60 в минуту |
Сверх предела — 429 с кодом RATE_LIMITED, retryable = true, заголовком Retry-After (секунды до нового окна) и тем же числом в details.retry_after. Лимит отказывает до выполнения запроса, поэтому повтор безопасен у любого вызова. Другие аккаунты лимит одного аккаунта не затрагивает.
HTTP/1.1 429 Too Many Requests
Retry-After: 17
Content-Type: application/json
{"error": {"code": "RATE_LIMITED", "message": "Too many requests", "retryable": true, "outcome": "not_applied", "details": {"retry_after": 17}, "request_id": "…"}}
Как не упираться в лимит
- Подписывайтесь на вебхуки вместо частого опроса списков.
- Листайте курсором с
limit=100(пагинация). - Справочники (очереди, категории, результаты, метки) меняются редко: кэшируйте их.
- Разные системы — разные сервисные аккаунты: у каждого свой лимит.
SDK
На 429 SDK ждёт Retry-After (не дольше потолка, по умолчанию 30 с) и повторяет запрос с тем же Idempotency-Key. Исчерпав попытки (по умолчанию 4), SDK отдаёт ошибку API со статусом 429.
Пределы установки
Пределы задаёт администратор установки: переменные INTEGRATION_RATE_LIMIT, INTEGRATION_RATE_LIMIT_HEAVY, INTEGRATION_RATE_LIMIT_WINDOW_SECONDS (в Helm — config.integrationRateLimit). В песочнице действуют пределы по умолчанию.