> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elumenta.ru/llms.txt
> Use this file to discover all available pages before exploring further.

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

> API-ключи, веб-токены и методы авторизации

## API-ключи

<Info>
  API-ключи начинаются с `nb_` и имеют длину 48 символов. Создайте их в личном кабинете в разделе **Профиль → API-ключи**.
</Info>

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

1. Войдите на [elumenta.ru/web](https://elumenta.ru/web)
2. Перейдите в **Профиль → API-ключи**
3. Нажмите **Создать ключ**
4. Дайте ключу понятное название (например, `my-app-production`)
5. Скопируйте и сохраните ключ — он больше не будет показан

### Использование ключа

Передавайте ключ в заголовке `Authorization` каждого запроса:

```bash theme={null}
curl https://elumenta.ru/api/v2/generate \
  -H "Authorization: Bearer nb_ВАШ_API_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-5", "prompt": "Hello"}'
```

<Warning>
  Доступ к API требует подписки **VIP** или **Elite**. Для обновления тарифа перейдите на [elumenta.ru/web/billing](https://elumenta.ru/web/billing).
</Warning>

## Форматы токенов

| Тип      | Формат        | Использование                 |
| -------- | ------------- | ----------------------------- |
| API-ключ | `nb_live_...` | Серверные интеграции          |
| JWT      | `eyJ...`      | Веб-платформа (автоматически) |

## Управление ключами

Несколько ключей можно создавать для разных приложений или окружений:

```bash theme={null}
# Список всех ключей
GET /api/v2/keys

# Создание нового ключа
POST /api/v2/keys
{"name": "my-production-app"}

# Отзыв ключа
DELETE /api/v2/keys/{key_id}

# Переименование ключа
PATCH /api/v2/keys/{key_id}
{"name": "new-name"}
```

## Коды ошибок авторизации

| Код   | Причина                      | Решение                             |
| ----- | ---------------------------- | ----------------------------------- |
| `401` | Ключ отсутствует или неверен | Проверьте заголовок `Authorization` |
| `401` | Ключ отозван                 | Создайте новый ключ                 |
| `403` | Недостаточно прав            | Убедитесь, что тариф VIP или Elite  |
| `402` | Недостаточно токенов         | Пополните баланс                    |

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

* Никогда не помещайте API-ключи в клиентский (браузерный) код
* Используйте переменные окружения: `ELUMENTA_API_KEY=nb_...`
* Создавайте отдельные ключи для разных окружений (dev/staging/prod)
* Регулярно ротируйте ключи

```python theme={null}
import os
import requests

api_key = os.environ["ELUMENTA_API_KEY"]

response = requests.post(
    "https://elumenta.ru/api/v2/generate",
    headers={"Authorization": f"Bearer {api_key}"},
    json={"model": "gpt-5", "prompt": "Hello"}
)
```
