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

GET /api/collections/:id/last-applied-attempt — Последняя применённая генерация

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

ПолеЗначение
HTTPGET /api/collections/:id/last-applied-attempt
AuthrequireCollectionOwnership — requireCollectionOwnership
Scope токенаread
PG-функцииapi.get_last_applied_attempt
Таблицыcollection_generation_attempt
SRMSRM-329
RP (права)
Файл роутаserver/routes/collections.js
Статусdone

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

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

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

Для человека

Как открыть: отдельно открывать не нужно — это служебный запрос. Орг-админ → раздел «Коллекции» → карточка коллекции → редактор → форма (пере)генерации вызывает его сама при открытии.

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

Учитываются только применённые прогоны: предпросмотры (которые ничего не записывали) и неудачные попытки сюда не попадают. Если коллекцию ещё ни разу не генерировали с записью, вернётся 404 — и форма просто откроется с пустыми полями.

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

Для агента

Чтение — достаточно токена со scope read (см. Конвенции). Но доступ — не любой read-access: метод отдаёт историю заданных параметров и сообщений (form-hydrate), поэтому требует ownership — site-admin или org-admin организации-владельца коллекции, та же проверка, что у write-пути. Чужой org-admin даже публичной коллекции получит 403.

Тела запроса нет; коллекция задаётся в пути (:id).

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

Окно терминала
curl https://specbuilder.vnimanie.ai/api/collections/a1b2c3d4-.../last-applied-attempt \
-H "Authorization: Bearer tak_..."

Ответ 200:

{
"attempt_id": "f9e8d7c6-...",
"mode": "initial",
"quality": "pro",
"params": { "layers": { "min": 3, "max": 5 }, "blocks": { "min": null, "max": 20 }, "specialties": { "min": null, "max": null } },
"messages": [{ "role": "user", "content": "Коллекция для precision agriculture" }],
"result_summary": { "layers_count": 4, "blocks_count": 18, "specialties_count": 9 },
"created_at": "2026-06-22T10:14:00Z"
}

Возвращается только последняя попытка со status = success и applied = true. Если применённых попыток нет — 404 (ожидаемый кейс для свежей коллекции, не ошибка). Поля mode, quality, params, messages пригодны для прямой подстановки в тело перегенерации.

Связанные