Перейти к содержимому

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

Ключи bk_live_*, жизненный цикл ключа и матрица scope, необходимых для каждой операции.

1 мин чтения Разделов: 3

Каждый запрос выполняется с заголовком Authorization: Bearer bk_live_…. Developer API принимает только live-ключи; sandbox-ключей и отдельного тестового контура данных нет.

http
Authorization: Bearer bk_live_…

Владение#

Шлюз проверяет ключ через сервис Auth и передаёт в Link API только подтверждённого владельца ключа. Значения ownerId, userId или дополнительные scope в теле запроса или query не могут изменить владельца; каждый запрос и каждая мутация ограничены ресурсами владельца ключа.

Матрица scope#

ОперацияНеобходимый scope
Чтение ссылок, tree, board, папок и маршрутов; чтение QR; каталог платформlinks:read
Создание/обновление, изменение условий/целей/свойств маршрута, запись QRlinks:write
Удаление ссылок, tree, board, папок и подресурсов маршрутаlinks:delete
GET /api/v1/links/:id/analyticsanalytics:read
Чтение метаданных доменаdomains:read

Если scope отсутствует, возвращается 403. Неопределённые публичные пути по умолчанию отклоняются (deny-by-default).

Жизненный цикл ключа#

МетодПутьОписание
GET/v1/developer/api-keysСписок метаданных ваших ключей (без секрета).
POST/v1/developer/api-keysНовый ключ с name, scopes и необязательным expiresAt.
POST/v1/developer/api-keys/:id/rotateАннулирует старый ключ и выпускает новый секрет с теми же scope и сроком.
DELETE/v1/developer/api-keys/:idОтзывает ключ.

Эти эндпоинты защищены сессией; консоль разработчика выполняет те же операции через интерфейс. У вас может быть несколько активных ключей; если expiresAt не указан, ключ бессрочный.

Не записывайте секрет в хранилище браузера, логи или URL. При обращении в поддержку передавайте не ключ, а значение X-Request-Id из ответа.

Чего-то не хватает или есть ошибка? Напишите в поддержку; приложив значение X-Request-Id из ответа, вы ускорите решение.