GET /api/spaces/:spaceId/supervisors — Наблюдатели спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:spaceId/supervisors |
| Auth | requireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin |
| Scope токена | read |
| PG-функции | api.list_space_supervisors |
| Таблицы | supervisor_scope |
| SRM | SRM-164 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: вкладка «Спейсы» → откройте спейс → «Настройки спейса» → раздел «Наблюдатели». Здесь список тех, кому выдан доступ-наблюдение на этот спейс.
Возвращает наблюдателей спейса. Наблюдатель (supervisor) видит проекты и документы спейса, но ничего в нём не создаёт и не меняет — это строго роль для чтения; кнопок создания и редактирования он не видит. По каждому наблюдателю показаны имя и почта, а также кто и когда выдал доступ.
Кто видит. В отличие от участников и связей, сам список наблюдателей доступен только менеджеру спейса (спейсмену) и администратору организации — это управленческая поверхность. Сотрудник и сам наблюдатель этот список не открывают.
Для агента
Чтение, scope read достаточно (см. Конвенции). Но обратите внимание: маршрут защищён requireSpacemanOrOrgAdmin, а не requireSpaceAccess — это управленческий список, поэтому даже на чтение токен должен принадлежать спейсмену этого спейса или org_admin его организации. Токен с доступом к спейсу, но без этой роли, получит 403.
Путь-параметр: :id — UUID спейса.
Пример запроса:
curl https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-.../supervisors \ -H "Authorization: Bearer tak_..."Ответ 200 — массив наблюдателей:
[ { "user_id": "aaaa1111-...", "email": "observer@example.com", "display_name": "Наблюдатель", "granted_by": "bbbb2222-...", "granted_at": "2026-06-01T10:00:00.000Z" }]user_id — то, что передаётся в путь при снятии наблюдателя. Формат ответа — JSON; Markdown-зеркало и ETag/304 для этого списка не строятся.