Nika Gateway

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

API-ключи sk-tunnel-*, заголовок Authorization и параметры ключей

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

Все запросы к API (кроме /healthz) требуют API-ключ в заголовке Authorization:

Authorization: Bearer sk-tunnel-...

Формат ключа

sk-tunnel-<64 шестнадцатеричных символа> — случайные 32 байта. Ключ показывается один раз при создании; в системе хранится только его хэш, поэтому восстановить утерянный ключ невозможно — создайте новый.

Параметры ключа

При создании ключа в личном кабинете можно задать:

  • название — чтобы различать ключи (например, production, staging);
  • бюджет в ₽ с авто-сбросом: день, неделя или месяц. При исчерпании бюджета запросы этим ключом получают 403;
  • срок жизни — от 15 минут до бессрочного. После истечения срока ключ получает 401;
  • список разрешённых моделей — запросы к остальным моделям получают 403;
  • настройки приватности — можно отключить сохранение тел запросов и ответов в логах (останутся только метаданные: модель, токены, стоимость, latency).

Создание ключа возможно только при положительном балансе.

Информация о ключе

Текущие параметры и остаток бюджета доступны прямо через API:

curl https://api.nikagateway.ru/v1/key \
  -H "Authorization: Bearer sk-tunnel-..."

Ответ содержит название ключа, бюджет (изначальный / потраченный / остаток / дата сброса) и срок действия.

Баланс аккаунта

curl https://api.nikagateway.ru/v1/balance \
  -H "Authorization: Bearer sk-tunnel-..."

Возвращает текущий баланс аккаунта в рублях и информацию о бюджете ключа, с которым выполнен запрос.

Безопасность

  • Не вставляйте ключ в клиентский код, который попадает в браузер или публичный репозиторий, — используйте переменные окружения.
  • На production и staging заводите отдельные ключи с разными бюджетами.
  • Скомпрометированный ключ отзовите в кабинете и создайте новый.
  • Трафик — только по HTTPS.