Аутентификация
Запросы к Zukko API подписываются ключом fetch_.... Ключ создаётся на странице API-ключей и показывается один раз.
1Как передать ключ
Подходит любой из двух заголовков:
Authorization: Bearer fetch_YOUR_KEY
x-api-key: fetch_YOUR_KEYAuthorization: Bearer используют OpenAI SDK и большинство IDE. x-api-key отправляют Anthropic SDK, Roo Code и другие Anthropic-клиенты — менять их настройки не нужно. Передавать ключ в query string (?api_key=...) нельзя: такой запрос получит 401.
2anthropic-version
Zukko этот заголовок не проверяет и не требует. Если клиент его отправляет (Anthropic SDK делает это сам), он передаётся провайдеру как есть — оставляйте.
3Что требует ключа
| Endpoint | Ключ |
|---|---|
GET /v1/models, GET /v1/models/{id}, GET /v1/models/info | не нужен, ключ игнорируется |
GET /api/status | не нужен |
GET /v1/balance, GET /v1/usage | нужен |
POST /v1/chat/completions, /v1/messages, /v1/messages/count_tokens, /v1/responses, /v1/images/generations, /v1/web-search | нужен, плюс подтверждённый email и баланс от $0.01 |
Один и тот же ключ работает со всеми endpoint'ами и всеми моделями — если в настройках ключа не ограничен список моделей.
4Ошибки авторизации
Нет ключа, опечатка, отозванный ключ — ответ 401:
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key. Use Authorization: Bearer fetch_*. Поддержка — https://t.me/zukkopro?direct, напишите, пожалуйста."
}
}Email не подтверждён — 403 с кодом email_unverified. Остальные коды — в разделе Ошибки API.
5Пример
curl https://api.zukko.pro/v1/balance \
-H "Authorization: Bearer fetch_YOUR_KEY"6Правила безопасности
- используйте только HTTPS:
https://api.zukko.pro; - не храните ключ в коде и репозитории — берите его из переменных окружения;
- заведите отдельный ключ под каждое приложение и ограничьте его лимитами: утёкший ключ можно отозвать, не трогая остальные.