Ключи и авторизация
API-ключи, заголовки Authorization и x-api-key, переменные окружения для SDK.
Все запросы к шлюзу авторизуются API-ключом. Ключи выпускаются в разделе «Ключи» кабинета; ключ хранится в зашифрованном виде, и скопировать его можно в любой момент — кнопкой «Показать ключ». У самых старых ключей, выпущенных до появления этой кнопки, её нет: если такой ключ потерян, выпустите новый.
Заголовки
Ключ передаётся в заголовке Authorization: Bearer — его используют
OpenAI-совместимые SDK и Claude Code:
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):
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:
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 г.