EVOLUTION APIДокументация

Лимиты и заголовки

Лимиты запросов задаются вашим планом. Ниже — как узнать о превышении и какие заголовки реально возвращает шлюз.

#Лимит запросов

Скорость (RPM) и одновременность зависят от вашего плана — это динамические значения, а не фиксированная константа. Точные цифры смотрите в Панели → Настройки. При превышении шлюз отвечает 429.

#Дневной лимит трат

Помимо баланса действует дневной лимит трат — сколько можно израсходовать за сутки (сбрасывается в 00:00 UTC). Ваше значение указано в Панели → Настройки; если там написано «без лимита», ограничение не применяется. При достижении лимита шлюз отвечает 402 с кодом daily_cap_exceeded — это не ошибка баланса и повтор до сброса не поможет.

На 429 шлюз добавляет заголовок Retry-After (секунды). Дождитесь указанного времени и повторите. Так же Retry-After приходит с 503, когда лимитер временно недоступен (fail-closed).

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

Retry-After
на 429 и 503 — сколько секунд ждать перед повтором
x-request-id
на каждом ответе — id запроса для поддержки/логов
Шлюз не возвращает заголовки вида X-RateLimit-Limit/Remaining/Reset — ориентируйтесь на 429 + Retry-After. Остаток по плану — в Панели.

#Правильный повтор

Повторяйте только временные коды — 429, 502, 504, 529503). Для 429 используйте Retry-After; для остальных — экспоненциальная задержка с джиттером. Коды 400/401/402/403/404/413/422 повторять бесполезно (см. Ошибки).

#Идемпотентность

Если вы отправляете свой Idempotency-Key, дубликат с тем же ключом, пока оригинал ещё выполняется, отклоняется с 409 и НЕ выполняется на апстриме повторно. Не отправляйте повторно — дождитесь оригинала (ответ не воспроизводится). Подробно — 409 — idempotency_conflict.

#Проверка доступности

Без ключа доступны служебные эндпоинты проверки:

health
curl https://api.evomodels.xyz/healthz     # процесс жив
curl https://api.evomodels.xyz/readyz      # готов принимать трафик

#Дальше

Полный список кодов — Обработка ошибок. Баланс и расход — Аккаунт и баланс.

Лимиты и заголовки · Evolution API