Ключи и разрешения
Жизненный цикл
Заголовок раздела «Жизненный цикл»Ключами управляет владелец аккаунта в мини-приложении (Профиль → API-ключи); сами ключи не могут создавать или отзывать другие ключи.
- Создание. Название, набор разрешений, необязательный срок действия и необязательная квота в
кредитах. Секрет вида
npk_…показывается один раз и не хранится — его нельзя посмотреть повторно. - Использование. Только заголовок
Authorization: Bearer npk_…и только на путях/api/v1/*. Ни один эндпоинт не принимает идентификатор пользователя: владелец определяется ключом. - Отзыв. Мгновенный и необратимый; история операций ключа сохраняется.
- Лимит. Не больше 20 неотозванных ключей на владельца (
409 API_KEY_LIMIT_REACHED).
По истечении срока ключ не проходит новые запросы к публичному API (401 API_KEY_EXPIRED),
включая новое создание или Continue. Уже принятое асинхронное задание продолжает работу с
исходной принадлежностью ключу и его квотой; истечение срока само по себе не отменяет задание и
не освобождает его удержания. Отзыв ключа запрещает новые платные действия и для принятого задания.
Разрешения
Заголовок раздела «Разрешения»| Разрешение | Что даёт |
|---|---|
podcasts:quote |
GET /api/v1/podcasts/voices, POST /api/v1/podcasts/quotes, POST …/:id/continuation-quote |
podcasts:create |
POST /api/v1/podcasts, POST …/:id/cancel, POST …/:id/continue |
podcasts:read |
GET /api/v1/podcasts/:id, …/receipt, …/audio |
news:quote |
GET /api/v1/news/voices, POST /api/v1/news/quotes |
news:create |
POST /api/v1/news, POST /api/v1/news/:taskId/cancel |
news:read |
GET /api/v1/news/:taskId, …/result, …/receipt, …/audio |
tts:quote |
GET /api/v1/tts/voices, POST /api/v1/tts/quotes, POST /api/v1/tts/podcasts/:id/continuation-quote |
tts:create |
POST /api/v1/tts/podcasts, POST …/:id/cancel, POST …/:id/continue |
tts:read |
GET /api/v1/tts/podcasts/:id, …/receipt, …/audio |
Разрешения *:create тратят кредиты и выдаются, только если владелец отметил их явно. Ни одно
разрешение не даёт публиковать, лайкать, добавлять в избранное, управлять лентой, библиотекой
источников, расписаниями или горячими новостями. Запрос без нужного разрешения получает
403 API_KEY_SCOPE_DENIED.
Квота ключа
Заголовок раздела «Квота ключа»Необязательная квота ограничивает кредиты, которые ключ может удержать и потратить. Новый Podcast и News
проверяет квоту перед каждым платным запросом: подтверждённый расход занимает её окончательно,
неиспользованная часть краткого удержания освобождается. Исторические чеки Podcast и News сохраняют
исходный учёт квоты; задачи с неподдерживаемым сохранённым планом не возобновляются.
Если квоты не хватает, выпуск сообщает
API_KEY_QUOTA_EXCEEDED отдельно от нехватки баланса; повторное пополнение баланса само по себе
квоту ключа не увеличивает.