Для AI-агентов: markdown этой страницы — /docs-content/entities/folders/shares.md индекс документации — /llms.txt
Выдать сотруднику доступ к папке
POST /v1/folders/:id/shares
Доступ действует СРАЗУ, до ответа получателя. Сменить уровень или отозвать доступ через API нельзя; используйте интерфейс Битрикс24.
Получатель получает уведомление «Принять/Отклонить». Принятие лишь подключает папку к его диску; на порталах с автоподключением она подключается сразу. Выдать больше своего уровня нельзя. userId — номер пользователя портала, а не Вайбкод.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| id | integer | да | Целый безопасный id папки больше нуля в пути |
| userId | integer | да | Целый безопасный id получателя больше нуля |
| access | string | да | read / add / edit / full |
Скоуп ключа: disk. READONLY-ключ не может выдавать доступ. При скоупе user, user_basic или user_brief существование и активность проверяются через user.get до выдачи. Без этих скоупов проверка пропускается, meta.recipientVerified=false. Сам Б24 может записать права несуществующему пользователю: при ключе только с disk самостоятельно проверяйте получателя.
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/folders/42/shares" -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"userId":8,"access":"read"}'
curl — ключ приложения
curl -X POST "https://vibecode.bitrix24.tech/v1/folders/42/shares" -H "X-Api-Key: YOUR_APP_KEY" -H "Content-Type: application/json" -d '{"userId":8,"access":"read"}'
JavaScript — личный ключ
const response = await fetch("https://vibecode.bitrix24.tech/v1/folders/42/shares", {
method: "POST",
headers: { "X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ userId: 8, access: "read" }),
});
const data = await response.json();
JavaScript — ключ приложения
const response = await fetch("https://vibecode.bitrix24.tech/v1/folders/42/shares", {
method: "POST",
headers: { "X-Api-Key": "YOUR_APP_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ userId: 8, access: "read" }),
});
const data = await response.json();
Ответ
{"success":true,"data":{"folderId":42,"userId":8,"access":"read"},"meta":{"recipientVerified":true}}
HTTP 201 подтверждает создание.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| success | boolean | true |
| data.folderId | integer | ID папки |
| data.userId | integer | ID получателя |
| data.access | string | read / add / edit / full |
| meta.recipientVerified | boolean | Получатель проверен с доступным скоупом user.get |
Ограничения и ошибки
409 DISK_SHARE_NOT_CREATED: доступ не выдан, например владельцу хранилища. 409 DISK_ALREADY_SHARED: приглашение уже есть, в том числе при попытке сменить уровень. 400 INVALID_PARAMS: неверный получатель/уровень или неактивный пользователь; 404 ENTITY_NOT_FOUND: папки или проверенного получателя нет. 403: нет прав, неподдерживаемый тип хранилища или недоступна фича disk_folder_sharing. Бизнес-отказы Б24 — 422. Выдача доступна только для хранилищ user/group/common. Записи автоматически не повторяются; при неизвестном исходе 502 сначала перечитайте состояние. В batch недоступно.
Используйте названия access, а не id из access-levels.
Метод Битрикс24: disk.folder.shareToUser, taskName=disk_access_<access>.
400 — неверный получатель или уровень доступа:
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Invalid parameters."}}