tunnel_ docs

Аутентификация

Bearer-ключи

Каждый запрос к /v1/* должен нести заголовок:

Authorization: Bearer sk-tn-ВАШ_КЛЮЧ

Ключ создаётся в кабинете на странице API-ключи и показывается один раз — храним только его SHA-256-хэш, восстановить значение потом нельзя. В интерфейсе после этого виден лишь префикс (первые 10 символов, например sk-tn-Ab3F) для опознания ключа в списке.

Проверка ключа на каждый запрос: заголовок должен начинаться с sk-tn-, иначе — сразу 401 без обращения к базе. Валидный, но отозванный или принадлежащий заблокированному аккаунту ключ — тоже 401.

curl https://api.aigateway.andrewdev.ru/v1/models \
  -H "Authorization: Bearer sk-tn-ВАШ_КЛЮЧ"

Отзыв ключа

Ключ отзывается на странице API-ключи в один клик — статус меняется на REVOKED немедленно. Результат аутентификации кэшируется на стороне шлюза на 30 секунд, поэтому уже отозванный ключ может продолжать принимать запросы ещё до ~30 секунд после отзыва — это ожидаемое поведение, а не баг.

Лимит на количество ключей

На аккаунт — не более 20 активных ключей одновременно. Попытка создать 21-й вернёт ошибку в кабинете; отзовите неиспользуемый ключ, чтобы создать новый.

Rate limit

Ограничение считается per-API-key (не per-аккаунт, если у вас несколько ключей — у каждого свой бюджет), алгоритм — token bucket:

ПараметрЗначение
Скорость пополнения300 запросов/мин
Максимальный запас (burst)60 запросов

При превышении — 429 с заголовком Retry-After: 1:

{
  "error": {
    "message": "Rate limit exceeded, slow down",
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded"
  }
}

Подробности по кодам ошибок — на странице «Коды ошибок», по остальным числовым лимитам (размер тела, таймауты) — на странице «Лимиты».