DELETE /api/collections/:id/edges — Удалить связи
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | DELETE /api/collections/:id/edges |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.delete_collection_edge |
| Таблицы | — |
| SRM | — (вне SRM, документировано по коду) |
| RP (права) | — |
| Файл роута | server/routes/collections.js |
| Статус | по коду (вне SRM) |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
source_id | body | подтвердить | |
target_id | body | подтвердить |
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: на графе коллекции связи видны, но выбрать стрелку мышью и удалить её там нельзя — отдельного жеста нет. Убрать связь вручную сейчас можно либо этим методом API, либо (для администратора площадки) кнопкой удаления в таблице связей админ-панели. Чаще набор связей просто пересобирается при перегенерации коллекции.
Убирает связь между двумя блоками — стрелку «откуда → куда». Связь определяется той же парой блоков, что и при создании; удаляется только она. Если такой стрелки уже нет, ошибки не будет.
Кто может. Редактировать состав коллекции может администратор организации-владельца (и администратор площадки). Сотрудники и наблюдатели связи изменять не могут.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции). У роута нет route-middleware; права досматривает PG-функция: редактировать содержимое коллекции может только org-admin владеющей организации (или site-admin), под чьей ролью идёт токен.
Несмотря на множественное число в названии, удаляется одна связь — конкретная пара (source_id, target_id), переданная в теле (а не все рёбра коллекции). Идемпотентно: если такой связи нет, ошибки не будет (всё равно 200).
Тело запроса (JSON):
| Поле | Тип | Обяз. | Назначение |
|---|---|---|---|
source_id | string | да | Ключ блока-источника (откуда) |
target_id | string | да | Ключ блока-получателя (куда) |
Пример запроса:
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).