POST /api/spaces/:spaceId/members — Добавить участника
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/spaces/:spaceId/members |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read_write |
| PG-функции | api.add_space_member |
| Таблицы | space_member |
| SRM | SRM-158, SRM-231, SRM-306 |
| RP (права) | RP-125 |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
role | body | подтвердить | |
user_id | body | подтвердить |
Коды ответов/ошибок (из хендлера): 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-потока здесь нет — прямое добавление).
Путь:
| Параметр | Где | Назначение |
|---|---|---|
spaceId | path | UUID спейса (в коде — :id) |
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
user_id | uuid | да | Сотрудник организации, добавляемый в спейс |
role | string | да | Роль в спейсе: 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. Состав после добавления — список участников.