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

GET /api/spaces/:id/layers/public — Публичные слои спейса

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

ПолеЗначение
HTTPGET /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.

Связанные