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

GET /api/admin/blocks — Справочные блоки

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

ПолеЗначение
HTTPGET /api/admin/blocks
Auth
Scope токенаread
PG-функцииapi.get_template_blocks
Таблицыtemplate_block
SRMSRM-107
RP (права)
Файл роутаserver/routes/admin.js
Статусdone

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

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

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

Для человека

Это эндпоинт глобального справочника платформы: эталонные блоки, по которым строятся коллекции по умолчанию. Отдельной кнопки «открыть справочные блоки» в интерфейсе нет — эти данные читаются системой автоматически: их подхватывает конвейер декомпозиции, чтобы предложить блоки под новую задачу, и они служат основой для коллекций.

Справочник на платформе один (это не уровень организации). Менять его содержимое могут только site-admin (см. соседние методы создать, изменить, удалить справочный блок); само чтение списка ограничений по роли не несёт — список возвращается любому вошедшему пользователю.

Каждый блок в ответе несёт имя, описание, набор ролей по умолчанию, код слоя (где блок живёт на графе) и порядок сортировки.

Для агента

Токену недоступно. Путь /api/admin/* не входит в read-allowlist агентного шлюза (server/auth/agentGate.js): allowlist закрыт по умолчанию, и справочник платформы в него не добавлен. Вызов с Authorization: Bearer tak_...403 (Forbidden for token). Прочитать эти данные агент может косвенно — через каталог шаблонов под /api/templates/*, который в allowlist есть.

Markdown-зеркала и affordances у этого ресурса нет (server/agent/affordances.js не описывает справочные сущности) — он отдаёт только JSON и только cookie-клиенту.

Пример (cookie-сессия любого вошедшего пользователя):

Окно терминала
curl https://specbuilder.vnimanie.ai/api/admin/blocks -b cookies.txt

Ответ 200 (массив, отсортирован по слою и порядку):

[
{ "id": "data-ingestion", "name": "Сбор данных", "description": "...", "default_roles": ["data-engineer"], "layer_code": "IMPLEMENTATION", "sort_order": 10 }
]

Связанные