POST Decisions

Decisions API — структурированные решения по контексту и набору вопросов. Это не chat/completions: отдельный контракт для моделей с выходной модальностью «решен

POST
/decisions

Структурированные решения (noul / choice / score). Отдельный контракт — не chat/completions.

АвторизацияBearer <token>

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.

Что дальше