# API-ключі

> Створюй ключі для API, обмежуй їхню дію та керуй ними.

Source: https://reverie.im/uk/docs/integrations/api-keys
Language: uk

API-ключ автентифікує запити до [Open API](https://reverie.im/uk/docs/integrations/open-api) Reverie. Ключі зберігаються в **Налаштування → Більше → API-ключі** — саме туди веде й плитка **Open API** у Лабораторії. Створювати їх може будь-який акаунт: немає вимог до тарифу й обмеження на кількість ключів.

## Створи ключ \[#create-a-key]

### Натисни «Створити новий API-ключ» \[#press-create-new-api-key]

Якщо сторінка порожня, на кнопці написано **Створи свій перший API-ключ**.

### Дай йому назву \[#name-it]

**Назва** обов'язкова, від 1 до 100 символів. Під нею ключ показано в списку та в статистиці використання — «Колонка у вітальні», «staging worker».

### Обери глобальний ключ або конкретного персонажа \[#choose-global-or-a-specific-character]

**Вибір персонажа** — це вибір між \*&#x2A;Глобальний (усі персонажі)*\* і **Конкретний персонаж**, а не необов'язкове доповнення. Конкретний персонаж стає закріпленим персонажем ключа.

### За бажанням задай тип пристрою й термін дії \[#optionally-set-a-device-type-and-an-expiry]

**Тип пристрою** — довільний текст (`speaker`, `phone`, `iot`). **Термін дії** приймає дату *і* час; саме в цей момент ключ автоматично перестає працювати.

Ключ з'являється одразу у вигляді `rk_`, за яким ідуть 64 шістнадцяткові символи.

## Ключі можна переглянути будь-коли \[#keys-stay-retrievable]

Секрет не показують лише один раз. На картці кожного ключа є **Показати API-ключ**, **Приховати API-ключ** і **Копіювати API-ключ** — у будь-який момент, доки ключ існує.

> Оскільки повний секрет завжди можна прочитати в налаштуваннях, доступ до
> акаунта означає доступ до ключа. Зберігай ключ на сервері або в менеджері
> секретів, ніколи — у системі контролю версій чи в коді для браузера.

## Глобальні й закріплені ключі \[#global-keys-and-pinned-keys]

|                        | **Глобальний (усі персонажі)**     | **Конкретний персонаж**                                             |
| ---------------------- | ---------------------------------- | ------------------------------------------------------------------- |
| `GET /models` повертає | Твоїх нещодавніх персонажів        | Сценарії цього персонажа або самого персонажа, якщо сценаріїв немає |
| `model` не вказано     | Використовується твій останній чат | Використовується закріплений персонаж                               |
| Короткі ID сценаріїв   | Ніколи не розпізнаються            | Розпізнаються в межах закріпленого персонажа                        |

## Вимкнення, видалення, ротація \[#disable-delete-rotate]

| Дія                    | Результат                                                            | Можна скасувати |
| ---------------------- | -------------------------------------------------------------------- | --------------- |
| Перемикач **Активний** | Поки він вимкнений, запити з цим ключем відхиляються                 | Так             |
| **Видалити**           | Ключ знищується, і застосунки, що ним користуються, втрачають доступ | Ні              |

Окремої дії відкликання немає — є лише два варіанти: вимкнути або видалити.

> Видалення ключа не можна скасувати, і разом із ключем зникає прив'язка до
> нього: його минулий трафік переходить до групи **Видалені ключі** у
> статистиці використання, де вже не видно, яка інтеграція скільки витратила.
> Якщо історія може знадобитися, спершу вимкни ключ.

Щоб виконати ротацію, створи ключ на заміну, розгорни його, а потім вимкни або видали старий. Автоматичної ротації немає, як і пільгового періоду після закінчення терміну дії: прострочений ключ відхиляється з `api_key_expired` під час наступного запиту.

## Дозволи \[#scopes]

Ключі мають дозволи (scopes), але діалог створення їх не показує. Ключ, створений у налаштуваннях, може викликати ендпоінти чату — і тільки їх.

Ендпоінту імпорту персонажів потрібен інший дозвіл, і єдиний спосіб отримати такий ключ — відкрити **Лабораторія → Навичка імпорту персонажів**: там для тебе створюється ключ із назвою \*\*Reverie Character Importer (Skill)\*\*. Виклик імпортера зі звичайним ключем із налаштувань повертає 403. [Імпорт персонажів →](https://reverie.im/uk/docs/characters/import-characters)

## Статистика використання \[#usage-statistics]

Панель **Статистика використання** на тій самій сторінці показує **Запити**, **Токени**, **Кредити** і **Активні ключі** з розбивкою за днями (UTC), а також розподіл за кожним ключем у блоці **Використання за ключами**. Фільтруй за одним ключем або вибери **Усі ключі**, за період від 7 до 90 днів — за замовчуванням 30. Ураховуються лише чати, створені через API.

Ця панель — єдине місце, де видно витрати за окремими ключами. Історія кредитів показує, скільки коштувало кожне повідомлення, але не позначає транзакцію ключем, який її зробив, тож для порівняння інтеграцій користуйся статистикою тут.

## Створи запит \[#build-a-request]

**Створити запит** відкриває генератор: вибери один зі своїх активних ключів, вибери персонажа чи сценарій зі списку, доступного цьому ключу, введи повідомлення, задай потокову передачу й температуру, а потім скопіюй робочий код на cURL, TypeScript або Python.

У браузері ключ використовується лише для завантаження списку персонажів. Згенерований код зчитує `REVERIE_API_KEY` зі змінних середовища, а не вбудовує секрет.

## Ліміти \[#limits]

| Ліміт                                | Значення                                                |
| ------------------------------------ | ------------------------------------------------------- |
| Ключів на акаунт                     | Без обмежень                                            |
| Ліміт частоти запитів на ключ        | Немає                                                   |
| Обмеження одночасних запитів на ключ | Немає                                                   |
| Що насправді обмежує використання    | Твій баланс кредитів, а також вікно безкоштовної моделі |

## Пов'язане \[#related]

* [Open API](https://reverie.im/uk/docs/integrations/open-api) — ендпоінти, формат запиту й помилки
* [Імпорт персонажів](https://reverie.im/uk/docs/characters/import-characters) — для чого потрібен ключ імпортера
* [Reverie Labs](https://reverie.im/uk/docs/integrations/labs) — плитки Open API та імпортера
* [Безпека](https://reverie.im/uk/docs/account/security) — решта налаштувань доступу до твого акаунта
