Ключи и авторизация

Ключи и авторизация

API-ключи, заголовки Authorization и x-api-key, переменные окружения для SDK.

Все запросы к шлюзу авторизуются API-ключом. Ключи выпускаются в разделе «Ключи» кабинета; ключ хранится в зашифрованном виде, и скопировать его можно в любой момент — кнопкой «Показать ключ». У самых старых ключей, выпущенных до появления этой кнопки, её нет: если такой ключ потерян, выпустите новый.

Заголовки

Ключ передаётся в заголовке Authorization: Bearer — его используют OpenAI-совместимые SDK и Claude Code:

bash
curl https://ai-seller.vibe-codes.ru/v1/models \
  -H "Authorization: Bearer $AISELLER_API_KEY"

Шлюз принимает ключ и в заголовке x-api-key — так его передаёт Anthropic SDK. Оба заголовка работают на всех эндпоинтах.

$AISELLER_API_KEY во всех примерах — плейсхолдер. Подставьте на его место свой ключ из кабинета: документация никогда не подставляет реальные секреты.

GET /v1/models работает и без ключа. Но если заголовок с ключом передан, ключ обязан быть действующим: с неверным ключом ответ — 401 invalid_api_key.

Переменные окружения для SDK

Anthropic SDK и Claude Code берут адрес и ключ из своих переменных (SDK сам добавит /v1/messages к base URL):

bash
export ANTHROPIC_BASE_URL=https://ai-seller.vibe-codes.ru
export ANTHROPIC_AUTH_TOKEN=$AISELLER_API_KEY

OpenAI SDK (Python и Node) — из пары OPENAI_BASE_URL / OPENAI_API_KEY:

bash
export OPENAI_BASE_URL=https://ai-seller.vibe-codes.ru/v1
export OPENAI_API_KEY=$AISELLER_API_KEY

Инструменты на LiteLLM (например, aider) читают OPENAI_API_BASE вместо OPENAI_BASE_URL. Готовые конфиги — в разделе Интеграции.

Безопасность ключа

  • Не коммитьте ключ в репозитории и не вшивайте его в клиентский код — передавайте через переменные окружения или секреты CI.
  • На ключ можно поставить лимит трат: при его достижении новые запросы получают 403 spend_limit_exceeded, остальные ключи продолжают работать.
  • Скомпрометированный ключ отзывается в кабинете мгновенно; отозванный ключ не восстанавливается — выпустите новый.

Обновлено 29 сентября 2026 г.