# Авторизация и API-ключи

Как создавать, использовать, ограничивать, заменять и защищать API-ключи.

> https://nezhagate.com/ru/docs/guide/api-keys

## Создание API-ключа

1. Войдите, откройте в консоли страницу API Keys и дайте ключу название, по которому понятно, для чего он.

2. Задайте нужные лимиты (запросы в минуту, бюджеты, списки разрешённых); их можно изменить позже.

3. Новый ключ появится в списке; нажмите «Копировать», чтобы получить ключ целиком (он начинается с `sk-`), и сохраните его в надёжном месте, например в переменной окружения на сервере.

## Передавайте ключ в каждом запросе

OpenAI-совместимые эндпоинты принимают заголовок `Authorization: Bearer`; эндпоинты Anthropic — `x-api-key`, а также `Authorization: Bearer`. Храните ключ в переменной окружения, а не в коде.

```
Authorization: Bearer YOUR_API_KEY
```

```
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
```

```
import os
from openai import OpenAI

# export NEZHAGATE_API_KEY=sk-...   (never commit the key)
client = OpenAI(base_url="https://nezhagate.com/v1", api_key=os.environ["NEZHAGATE_API_KEY"])
```

## Лимиты для ключа

У каждого ключа могут быть свои лимиты, независимые от других:

| Настройка | Что делает |
| --- | --- |
| **Запросов в минуту** | Максимальное число запросов, которые ключ может отправить за минуту. |
| **Дневной бюджет** | Максимальная сумма, которую ключ может потратить за сутки (по UTC), в долларах США. |
| **Общий лимит** | Максимальная сумма, которую ключ может потратить за всё время, в долларах США; удобно для автоматизации, которая не должна выйти из-под контроля. |
| **Список разрешённых моделей** | Ключ может вызывать только перечисленные модели. |
| **Список разрешённых IP** | Принимаются только запросы с перечисленных IP или диапазонов адресов. |

[Что вернётся при превышении лимита →](https://nezhagate.com/ru/docs/guide/rate-limits#per-key)

## Отключение и замена

1. Создайте новый ключ и переведите на него свой код.

2. Когда новый ключ заработает, отключите старый в консоли. Это действует сразу: запросы со старым ключом после этого получают 401.

3. Если подозреваете утечку ключа, сначала отключите его, а потом создайте новый.

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

- Держите ключи на своём сервере. Никогда не размещайте их на веб-странице, в приложении или в публичном репозитории.

- Используйте отдельный ключ для каждого приложения и каждого окружения — тогда при проблеме достаточно отключить только его.

- Ключам для автоматизации и сторонних инструментов задайте бюджет или общий лимит.

- Если у ваших серверов постоянные IP, включите список разрешённых IP.

## Баланс принадлежит аккаунту

Все ключи аккаунта используют один общий баланс. `GET /v1/usage` с любым ключом возвращает баланс и расход аккаунта.
