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

PUT /api/spaces/:id/layers/:layerId — Изменить слой спейса

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

ПолеЗначение
HTTPPUT /api/spaces/:id/layers/:layerId
Auth
Scope токенаread_write
PG-функции
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/spaces.js
Статуспо коду (вне SRM)

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

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

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

Для человека

Как открыть: верхняя панель → «Спейсы» → карточка спейса → вкладка «Слои» → отредактируйте поле у уже переопределённого или кастомного слоя и подтвердите галочкой.

«Изменить» для слоя, который в спейсе уже живёт в оверлее — переопределённого базового или вашего кастомного. Для слоя спейса PUT и POST делают одно и то же (общий обработчик «создать-или-обновить»): эта страница описывает тот же путь под глаголом PUT, который интерфейс использует, когда слой уже существует и его правят. Набор полей и правила те же, что у переопределения, включая заголовок раздела документа (doc_title).

Чтобы откатить отдельное поле к коллекции — «вернуть исходное»; чтобы убрать слой из спейса — удалить.

Кто может. Менеджер своего спейса или администратор организации (RP-128). Сотрудник и наблюдатель слои не правят.

Для агента

Запись — токен со scope read_write; доступ проверяет requireSpacemanOrOrgAdmin (спейсмен спейса или org-admin его организации), иначе 403. Путь занесён в write-allowlist agent-gate точным шаблоном (server/auth/agentGate.js).

PUT /api/spaces/:id/layers/:layerId идёт в тот же обработчик upsertLayer, что и POST. Тело и поля полностью совпадают с переопределением слоя — передавайте только изменяемые атрибуты.

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

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/spaces/{id}/layers/{layerId} \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"color":"#3aa0ff"}'

Ответ 200: { "ok": true }. Только JSON, без ETag; результат сверяйте через список слоёв.

Связанные