POST Decisions
Decisions API — структурированные решения по контексту и набору вопросов. Это не chat/completions: отдельный контракт для моделей с выходной модальностью «решен
Структурированные решения (noul / choice / score). Отдельный контракт — не chat/completions.
Авторизация
bearerAuth API-ключ sk-…. Не токен кабинета и не sk-mgmt-….
Где: header
Тело запроса
application/json
Обязателен только model. Поля state и questions описаны для документации; шлюз не валидирует их схемой — ошибки формата вернёт апстрим.
Тело ответа
application/json
application/json
application/json
curl -X POST "https://example.com/decisions" \ -H "Content-Type: application/json" \ -d '{ "model": "typesafe/jev-1.13", "state": "Выбор тарифа", "questions": { "q1": { "type": "noul", "instructions": "Подходит ли базовый тариф?" } } }'{
"id": "string",
"model": "string",
"provider": "string",
"answers": {},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"cost": 0
}
}{
"error": {
"message": "string",
"type": "invalid_request_error",
"code": "model_not_found"
}
}{
"error": {
"message": "string",
"type": "invalid_request_error",
"code": "model_not_found"
}
}Запрос
Обязательное поле — model. Идентификатор берите из каталога или хаба «Решения»: сейчас в публичном каталоге это typesafe/jev-1.13, позже могут появиться другие модели того же типа.
Поля state (контекст — строка или JSON) и questions (карта id → вопрос) передаются апстриму как есть. Типы вопросов:
noul— да/нет с вероятностью;choice— выбор метки с вероятностями;score— упорядоченная шкала.
{
"model": "typesafe/jev-1.13",
"state": "Пользователь выбирает тариф для команды из пяти человек",
"questions": {
"q_noul": {
"type": "noul",
"instructions": "Подходит ли базовый тариф?"
},
"q_choice": {
"type": "choice",
"instructions": "Какой план лучше?",
"criteria": { "basic": "Базовый", "pro": "Про", "enterprise": "Корпоративный" }
},
"q_score": {
"type": "score",
"instructions": "Насколько срочна миграция?",
"criteria": ["низкая", "средняя", "высокая"]
}
}
}Пример curl
curl -sS https://llmmart.ru/api/v1/decisions \
-H "Authorization: Bearer sk-…" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "Выбор тарифа",
"questions": {
"q1": { "type": "noul", "instructions": "Подходит ли базовый тариф?" }
}
}'Не chat/completions
POST /chat/completions с моделью, у которой только capability «решения», вернёт 404 model_not_found. Используйте только POST /decisions.
Ответ
В успешном ответе — answers по id вопросов, id, model, provider и usage с input_tokens, output_tokens и при необходимости cost от поставщика. Подробнее — поле usage.