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

PUT /api/spaces/:spaceId/blocks/:id — Изменить блок спейса

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

ПолеЗначение
HTTPPUT /api/spaces/:spaceId/blocks/:id
Auth
Scope токенаread_write
PG-функцииapi.upsert_space_block
Таблицыspace_block_overlay
SRMSRM-051
RP (права)RP-053
Файл роутаserver/routes/spaces.js
Статусdone

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

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

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

Для человека

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

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

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

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

Для агента

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

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

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

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/spaces/{id}/blocks/{blockId} \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"description":"Обновлённое описание блока"}'

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

Связанные