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

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

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

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

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

АргументГдеОбяз.Заметка
source_idbodyподтвердить
target_idbodyподтвердить

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

Для человека

Как открыть: на графе коллекции связи видны, но выбрать стрелку мышью и удалить её там нельзя — отдельного жеста нет. Убрать связь вручную сейчас можно либо этим методом API, либо (для администратора площадки) кнопкой удаления в таблице связей админ-панели. Чаще набор связей просто пересобирается при перегенерации коллекции.

Убирает связь между двумя блоками — стрелку «откуда → куда». Связь определяется той же парой блоков, что и при создании; удаляется только она. Если такой стрелки уже нет, ошибки не будет.

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

Для агента

Запись — нужен токен со scope read_write (см. Конвенции). У роута нет route-middleware; права досматривает PG-функция: редактировать содержимое коллекции может только org-admin владеющей организации (или site-admin), под чьей ролью идёт токен.

Несмотря на множественное число в названии, удаляется одна связь — конкретная пара (source_id, target_id), переданная в теле (а не все рёбра коллекции). Идемпотентно: если такой связи нет, ошибки не будет (всё равно 200).

Тело запроса (JSON):

ПолеТипОбяз.Назначение
source_idstringдаКлюч блока-источника (откуда)
target_idstringдаКлюч блока-получателя (куда)

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

Окно терминала
curl -X DELETE https://specbuilder.vnimanie.ai/api/collections/0660b640-86b0-42c5-8e22-93973848bb56/edges \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"source_id":"requirements","target_id":"data-model"}'

Ответ 200:

{ "ok": true }

Cookie-клиент получает JSON; Markdown-зеркало — только токену с Accept: text/markdown (server/agent/negotiate.js).

Связанные