GET /api/spaces/:spaceId/layers — Слои спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:spaceId/layers |
| Auth | requireSpaceAccess — requireSpaceAccess |
| Scope токена | read |
| PG-функции | api.list_space_layers |
| Таблицы | space_layer, space_layer_overlay |
| SRM | SRM-162 |
| RP (права) | RP-053 |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
base_y | body | подтвердить | |
color | body | подтвердить | |
description | body | подтвердить | |
display_name | body | подтвердить | |
doc_title | body | подтвердить | |
is_custom | body | подтвердить | |
sort_order | body | подтвердить |
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: в верхней панели нажмите «Спейсы», выберите карточку спейса и перейдите на вкладку «Слои».
Отдаёт список слоёв спейса. Слой — это этап документа (а блоки — узлы внутри слоёв); слои задают горизонтальные «дорожки», по которым раскладывается граф. Как и блоки, слои здесь — уже собранный оверлей: к базовым слоям коллекции применены переопределения спейса. У каждого слоя видно итоговое имя, цвет, порядок, описание и заголовок раздела документа (doc_title); если он пуст, в документе берётся отображаемое имя слоя. Поля, отличающиеся от коллекции, помечены «изменено» (см. Настройки спейса → Слои).
Кто может. Список видит любой, у кого есть доступ к спейсу: сотрудник, менеджер спейса, наблюдатель, администратор организации (RP-135). Гость на гостевой спейс читает через публичный срез.
Для агента
Чтение — токен со scope read (см. Конвенции). Доступ к спейсу проверяется как в UI: видны слои только доступных владельцу спейсов, иначе 403.
Путь-параметр — :spaceId. Тела у запроса нет.
Пример запроса:
curl https://specbuilder.vnimanie.ai/api/spaces/{spaceId}/layers \ -H "Authorization: Bearer tak_..."Ответ 200 — JSON-массив слоёв (после применения оверлея):
[ { "id": "INGESTION", "display_name": "Сбор данных", "color": "#4f8", "base_y": 0, "sort_order": 10, "description": "...", "doc_title": "Сбор и подготовка данных", "is_custom": false }]Только JSON — Markdown-зеркала, блока ## Actions и ETag/304 у этого списка нет (они есть лишь у GET /api/spaces/{id}). Меняют список write-операции read_write-токена: переопределить, изменить, удалить, снять переопределение, вернуть.