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

GET /api/collections — Список коллекций

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

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

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

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

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

Для человека

Как открыть: в навигации нажмите «Коллекции» — откроется список карточек коллекций.

Показывает коллекции вашей организации: те, что вы создали или вам доступны как администратору. Каждая карточка — это шаблон для проектов: набор ролей, блоков и слоёв, из которых собирается граф задачи.

Над списком есть фильтр по тегам. Выбираете один или несколько тегов — остаются только коллекции, помеченные всеми выбранными тегами. Снимаете фильтр — список снова полный.

Кто видит. Раздел «Коллекции» открыт администратору организации; он видит коллекции своей компании. Администратор платформы видит коллекции всех организаций. У обычного сотрудника этого раздела нет — он выбирает коллекцию только в момент создания проекта (см. Доступные коллекции).

Для агента

Чтение — достаточно токена со scope read (см. Конвенции). Вызов идёт под ролью владельца токена: возвращаются коллекции его организации, как в UI. У роута нет route-middleware с проверкой роли — доступ к разделу проверяется внутри (нужны права org-admin).

Параметры запроса (query):

ПолеТипОбяз.Назначение
tagsstringнетФильтр по тегам. Возвращаются коллекции, помеченные всеми указанными тегами
org_iduuidнетОграничить выборку конкретной организацией (по умолчанию — активная)

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

Окно терминала
curl https://specbuilder.vnimanie.ai/api/collections?tags=ml \
-H "Authorization: Bearer tak_..." \
-H "Accept: text/markdown"

Ответ 200:

[
{ "id": "0660b640-86b0-42c5-8e22-93973848bb56", "code": "ml-dev",
"name": "ML/AI Development", "description": "Разработка ML-сервисов",
"is_public": true, "tags": ["ml", "ai"], "owner_org_id": "f9e8d7c6-..." }
]

Cookie-клиент всегда получает JSON; Markdown-зеркало отдаётся только токену с Accept: text/markdown (server/agent/negotiate.js). У ресурса есть ETag — повтор с If-None-Match вернёт 304.

Полную коллекцию со слоями и блоками отдаёт GET /api/collections/{id}.

Связанные