GET /api/spaces/:id/layers/public — Публичные слои спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:id/layers/public |
| Auth | — |
| Scope токена | read |
| PG-функции | — |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: отдельного экрана нет — срез работает «под капотом». Когда гость без входа выбирает публичную коллекцию и запускает генерацию, фронтенд этим запросом подтягивает слои нужной коллекции, чтобы граф разложился по её этапам, а не по слоям прошлого проекта.
Публичный, гостевой вариант списка слоёв: то же содержимое, но без входа. Открыт только для гостевых спейсов — на личный или командный спейс отвечает 403, даже без сессии.
Кто может. Любой, без авторизации, но исключительно для спейса типа guest (RP-136). Для своих и командных спейсов используется обычный список слоёв.
Для агента
Чтение без авторизации: ни cookie, ни токен не обязательны. Под токеном тоже работает — agent-gate снимает заголовок X-Guest-Projects, но GET к /api/spaces/... остаётся в read-allowlist (server/auth/agentGate.js).
Путь-параметр — :id. Жёсткое условие: тип спейса должен быть guest, иначе 403 { "error": "Только гостевые спейсы" }. Тела у запроса нет.
Пример запроса:
curl https://specbuilder.vnimanie.ai/api/spaces/{id}/layers/publicОтвет 200 — JSON-массив слоёв (та же форма, что у списка слоёв). Только JSON: ни Markdown-зеркала, ни ## Actions, ни ETag/304.