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

GET /api/spaces/:spaceId/members — Участники спейса

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

ПолеЗначение
HTTPGET /api/spaces/:spaceId/members
AuthrequireSpaceAccess — requireSpaceAccess
Scope токенаread
PG-функцииapi.list_space_members
Таблицыspace_member
SRMSRM-159
RP (права)
Файл роутаserver/routes/spaces.js
Статусdone

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

аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)

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

Для человека

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

Возвращает состав спейса — кто в нём состоит и с какой ролью. По каждому участнику приходит имя, идентификатор и роль в спейсе (спейсмен — менеджер, либо рядовой участник). Это основа для управления командой спейса: на этом списке строятся действия «добавить», «сменить роль», «исключить».

Кто может. Видит состав любой, у кого есть доступ к спейсу: участник, менеджер спейса, наблюдатель, администратор организации. Менять состав — только спейсмен или org_admin (Добавить / Изменить / Удалить).

Для агента

Чтение — токен со scope read (см. Конвенции). Путь под /api/spaces/... на read-allowlist’е (server/auth/agentGate.js), токен проходит. Выдача считается от лица владельца токена: нужен доступ к спейсу, иначе 403.

Путь:

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

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

Окно терминала
curl https://specbuilder.vnimanie.ai/api/spaces/a1b2c3d4-5678-49ab-8cde-f0123456789a/members \
-H "Authorization: Bearer tak_..."

Ответ 200:

[
{
"user_id": "7f3a1b22-9c44-4d55-8e66-aa11bb22cc33",
"user_name": "Иван Петров",
"role": "spaceman"
},
{
"user_id": "8a4b2c33-1d55-4e66-9f77-bb22cc33dd44",
"user_name": "Мария Сидорова",
"role": "member"
}
]

Список отдаётся только как JSON — Markdown-зеркала у участников нет (server/agent/negotiate.js). Accept: text/markdown ничего не меняет, ETag/304 не выдаётся.

Связанные