GET /api/spaces/:id/edges — Связи спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:id/edges |
| Auth | requireSpaceAccess — requireSpaceAccess |
| Scope токена | read |
| PG-функции | api.list_space_edges |
| Таблицы | space_edge, space_edge_overlay, collection_edge |
| SRM | SRM-260 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: вкладка «Спейсы» → откройте нужный спейс → «Настройки спейса» → раздел «Связи». На экране — список связей между блоками графа этого спейса.
Возвращает все связи (рёбра) спейса: какой блок предшествует какому. Связи приходят уже с учётом оверлея — то есть и унаследованные из коллекции, и добавленные вручную в этом спейсе, и за вычетом тех, что в спейсе скрыты. У каждой связи видно, кастомная она (добавлена в спейсе) или досталась от коллекции. Это та же картина, которую рисует граф спейса.
Кто видит. Любой, у кого есть доступ к спейсу: сотрудник, менеджер спейса (спейсмен), наблюдатель, администратор организации. Гость свои связи смотрит через публичный срез. Менять связи могут только спейсмен и org_admin — см. добавить и удалить.
Для агента
Чтение — достаточно токена со scope read (см. Конвенции). Путь /api/spaces/... открыт токену в agent-gate (server/auth/agentGate.js); дальше работает та же проверка доступа к спейсу, что и в UI (requireSpaceAccess): нет доступа к спейсу — 403.
Путь-параметр: :id — UUID спейса.
Пример запроса:
curl https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-.../edges \ -H "Authorization: Bearer tak_..."Ответ 200 — массив связей; is_custom=true означает связь, добавленную в спейсе поверх коллекции:
[ { "source_id": "DATA_INGESTION", "target_id": "FEATURE_STORE", "is_custom": false }, { "source_id": "FEATURE_STORE", "target_id": "MODEL_TRAINING", "is_custom": true }]source_id / target_id — это id блоков спейса (см. список блоков); именно их передают в добавление и удаление связи.
Формат ответа: cookie-клиент и токен здесь получают JSON — для списка связей Markdown-зеркало не строится (его отдаёт только GET /api/spaces/:id, ресурс space, см. server/agent/negotiate.js). ETag/304 на этот список тоже не выставляется.