Аутентификация и scope
Ключи bk_live_*, жизненный цикл ключа и матрица scope, необходимых для каждой операции.
Каждый запрос выполняется с заголовком Authorization: Bearer bk_live_…. Developer API принимает только live-ключи; sandbox-ключей и отдельного тестового контура данных нет.
Authorization: Bearer bk_live_…Владение#
Шлюз проверяет ключ через сервис Auth и передаёт в Link API только подтверждённого владельца ключа. Значения ownerId, userId или дополнительные scope в теле запроса или query не могут изменить владельца; каждый запрос и каждая мутация ограничены ресурсами владельца ключа.
Матрица scope#
| Операция | Необходимый scope |
|---|---|
| Чтение ссылок, tree, board, папок и маршрутов; чтение QR; каталог платформ | links:read |
| Создание/обновление, изменение условий/целей/свойств маршрута, запись QR | links:write |
| Удаление ссылок, tree, board, папок и подресурсов маршрута | links:delete |
GET /api/v1/links/:id/analytics | analytics: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 из ответа, вы ускорите решение.