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

POST /api/spaces/:spaceId/members — Добавить участника

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPPOST /api/spaces/:spaceId/members
AuthrequireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin
Scope токенаread_write
PG-функцииapi.add_space_member
Таблицыspace_member
SRMSRM-158, SRM-231, SRM-306
RP (права)RP-125
Файл роутаserver/routes/spaces.js
Статусdone

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

АргументГдеОбяз.Заметка
rolebodyподтвердить
user_idbodyподтвердить

Коды ответов/ошибок (из хендлера): 201 (+ 200) — уточнить причины вручную

Для человека

Как открыть: вкладка «Спейсы» → карточка спейса → «Настройки спейса»«Участники» → выпадающий список сотрудников организации → выбрать роль → «Добавить».

Добавляет в спейс участника из организации. Добавляют существующего сотрудника организации напрямую, без приглашения и подтверждения — выбираете человека из списка сотрудников и сразу указываете его роль в спейсе (рядовой участник или менеджер-спейсмен). Человек тут же появляется в составе спейса.

Кто может. Менеджер спейса (спейсмен) или администратор организации (RP-125; requireSpacemanOrOrgAdmin). При этом охват разный: org_admin может добавить любого сотрудника, спейсмен — обычно рядовых сотрудников. Сотрудник, наблюдатель, гость кнопку добавления не видят и получают 403.

Для агента

Запись — токен со scope read_write. Путь POST /api/spaces/:spaceId/members на write-allowlist’е (server/auth/agentGate.js, операция SPACE_MEMBER_ADD). Под ролью владельца токена: спейсмен спейса или org_admin, иначе 403. Добавляемый user_id должен быть сотрудником этой организации (никакого invite/accept-потока здесь нет — прямое добавление).

Путь:

ПараметрГдеНазначение
spaceIdpathUUID спейса (в коде — :id)

Тело запроса (JSON):

ПолеТипОбяз.Назначение
user_iduuidдаСотрудник организации, добавляемый в спейс
rolestringдаРоль в спейсе: member или spaceman

Пример запроса:

Окно терминала
curl -X POST https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/members \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"user_id":"8a4b2c33-1d55-4e66-9f77-bb22cc33dd44","role":"member"}'

Ответ 201:

{ "ok": true }

Только JSON. Состав после добавления — список участников.

Связанные