GuidesВыдать и отозвать доступ

Выдать и отозвать доступ

Открыть доступ к адресу или папке ролью, изменить или отозвать грант и проверить, кто и откуда имеет доступ.

Доступ к адресам выдаётся точечно — на адрес — или целиком на папку, ролью viewer или contributor. Субъектом может быть пользователь или группа, а грант на папку покрывает и будущие адреса. Здесь — как выдать, изменить и отозвать доступ и как проверить, у кого он есть. Про модель — на странице Адреса, папки и доступ.

Шаг 1. Выдайте доступ к адресу

POST /api/v1/vaults/{code}/addresses/{id}/shares выдаёт грант на конкретный адрес. Субъект полиморфен (subjectType: user|group), права задаются ролью.

curl -X POST "[BASE_URL]/api/v1/vaults/acme-otc/addresses/ADDRESS_ID/shares" \
  -H "Authorization: Bearer $V3_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "subjectType": "user", "subjectId": "USER_ID", "role": "viewer" }'

Грант на адрес идемпотентен: повторная выдача тому же субъекту обновляет права и реактивирует отозванный грант — отдельного «изменить» не нужно. Пакетная форма — через subjects[]. Право canCreateAddress в роль не входит и выдаётся отдельно. Точную схему — в Справочнике API.

Шаг 2. Выдайте доступ к папке

Грант на папку даёт права на все её адреса, включая добавленные позже:

curl -X POST "[BASE_URL]/api/v1/vaults/acme-otc/address-folders/FOLDER_ID/grants" \
  -H "Authorization: Bearer $V3_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "subjectType": "group", "subjectId": "USER_GROUP_ID", "role": "contributor" }'

Шаг 3. Измените или отозовите грант

Для папки есть явные эндпоинты на изменение и отзыв гранта:

  • PATCH /api/v1/vaults/{code}/address-folders/{id}/grants/{grantId} — изменить роль (viewer|contributor); ответ содержит role.
  • DELETE /api/v1/vaults/{code}/address-folders/{id}/grants/{grantId} — отозвать грант.
curl -X PATCH "[BASE_URL]/api/v1/vaults/acme-otc/address-folders/FOLDER_ID/grants/GRANT_ID" \
  -H "Authorization: Bearer $V3_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "role": "viewer" }'

Для адресного гранта отдельное «изменить» не нужно — повторный POST /shares обновляет права; отзыв делается DELETE на шер (точный путь — в Справочнике API).

Отзыв гранта на группу снимает доступ у всех её участников; личный грант отзывается точечно.

Шаг 4. Проверьте, кто и откуда имеет доступ

curl "[BASE_URL]/api/v1/vaults/acme-otc/addresses/ADDRESS_ID/participants" \
  -H "Authorization: Bearer $V3_TOKEN"

participants показывает людей (владелец отдан отдельно, группы раскрыты), а поле via — источник доступа (direct / user_group / папка) и тем самым способ его убрать. Смежные списки: GET /vaults/{code}/shared-with-me (только прямые гранты), GET /vaults/{code}/shared-by-me (что вы открыли) и GET /vaults/{code}/addresses?access=shared (всё доступное вам).

Что дальше