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

DELETE /api/spaces/:id/edges/:source/:target — Удалить связь

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

ПолеЗначение
HTTPDELETE /api/spaces/:id/edges/:source/:target
AuthrequireSpacemanOrOrgAdmin — requireSpacemanOrOrgAdmin
Scope токенаread_write
PG-функцииapi.remove_space_edge
Таблицыspace_edge_overlay
SRMSRM-262
RP (права)
Файл роутаserver/routes/spaces.js
Статусdone

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

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

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

Для человека

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

Убирает связь между двумя блоками в этом спейсе. Действие тоже идёт через оверлей и работает зеркально добавлению: кастомную связь (добавленную в спейсе) удаление просто стирает; связь, унаследованную из коллекции, оно скрывает в спейсе (помечает op=remove), не трогая коллекцию. Скрытую связь всегда можно вернуть — снова добавив её.

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

Для агента

Запись — нужен токен со scope read_write (см. Конвенции). Удалить связь сможет только токен спейсмена этого спейса или org_admin его организации; иначе requireSpacemanOrOrgAdmin вернёт 403. Путь в write-allowlist agent-gate как SPACE_EDGE_REMOVE (server/auth/agentGate.js).

В отличие от добавления, источник и приёмник передаются в пути, не в теле:

ПараметрГдеНазначение
:idpathUUID спейса
:sourcepathid блока-источника
:targetpathid блока-приёмника

Тела у запроса нет.

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

Окно терминала
curl -X DELETE \
https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-.../edges/FEATURE_STORE/MODEL_TRAINING \
-H "Authorization: Bearer tak_..."

Ответ 200:

{ "ok": true }

Операция идемпотентна по результату: повторное удаление уже скрытой/отсутствующей связи не ошибка. Ответ — всегда JSON ({ ok: true }), без Markdown-зеркала и ETag. Сверить состояние — список связей.

Связанные