Справка

Jev API Docs

Справочник по endpoint решений Jev на этом сайте. Jev — модель System One от TypeSafe AI; этот сайт — независимый API-сервис, который предоставляет к ней доступ. Отправьте одно состояние и карту вопросов и получите типизированный ответ на каждый.

Обновлено

Endpoint

Отправьте POST /api/v1/decisions на этот хост. Нет пути chat-completions и нет потока. GET /api/v1/models перечисляет id модели.

POST https://jev-api.org/api/v1/decisions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Аутентификация

Положите ключ панели в Authorization: Bearer. Отсутствующий или отклонённый ключ даёт 401. Песочница создаёт ключ аккаунта при запуске.

Быстрый старт

Установите JEV_API_KEY в ключ из вашей панели и отправьте запрос ниже. Новые аккаунты получают 2 кредита — хватит на 2 успешных вызова.

curl https://jev-api.org/api/v1/decisions \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "jev-1.13",
  "state": "Thanks for the refund. Still annoyed it took three emails.",
  "questions": {
    "sentiment": {
      "type": "choice",
      "instructions": "What is the overall sentiment of this message?",
      "criteria": {
        "positive": "Satisfied or thankful overall.",
        "mixed": "Both satisfied and unhappy.",
        "negative": "Unhappy overall."
      }
    },
    "needs_follow_up": {
      "type": "noul",
      "instructions": "Should a person reply to this message?"
    }
  }
}'

Использование с AI-инструментами для кода

Скопируйте промпт с полным контрактом запроса и вставьте его в Cursor, Claude Code или ChatGPT вместе с вашей задачей. Тот же справочник находится в /llms.txt.

/llms.txt

Тело запроса

model — jev-1.13 или jev-latest. state — строка, JSON-объект или массив текста, до 60 000 символов. questions — карта из 1–6 id в snake_case. id — только метка, под которой возвращается ответ, а не вопрос. Сам вопрос пишите в instructions текстом от 1 до 2 000 символов.

{
  "model": "jev-1.13",
  "state": "Thanks for the refund. Still annoyed it took three emails.",
  "questions": {
    "sentiment": {
      "type": "choice",
      "instructions": "What is the overall sentiment of this message?",
      "criteria": {
        "positive": "Satisfied or thankful overall.",
        "mixed": "Both satisfied and unhappy.",
        "negative": "Unhappy overall."
      }
    },
    "needs_follow_up": {
      "type": "noul",
      "instructions": "Should a person reply to this message?"
    }
  }
}

Типы вопросов

Noul

type noul требует только instructions. Поле noul — вероятность от 0 до 1, что утверждение истинно. Отдельного поля confidence нет. Если отправить criteria в вопросе noul, этот endpoint его игнорирует.

Choice

type choice требует instructions и criteria: объект из 2–8 id в snake_case с описаниями до 300 символов. Ответ включает choice, probabilities каждого варианта и confidence.

Score

type score требует instructions и criteria — упорядоченный массив из 2–10 уровней, от низшего. Ответ включает score, legend, probabilities и confidence.

Ответ

Успешное тело содержит model, answers по вашим id вопросов, usage с input_tokens и output_tokens, и credits_used. model сообщает jev-1.13, даже если вы отправили jev-latest. Ниже — пример ответа на запрос из быстрого старта, usage опущено.

{
  "model": "jev-1.13",
  "answers": {
    "sentiment": {
      "type": "choice",
      "choice": "mixed",
      "probabilities": { "mixed": 0.79, "negative": 0.2, "positive": 0.01 },
      "confidence": 0.61
    },
    "needs_follow_up": { "type": "noul", "noul": 0.83 }
  },
  "credits_used": 1
}

Как читать вероятности и confidence

Noul — вероятность того, что утверждение в instructions истинно. Choice и Score возвращают вероятность каждого варианта или уровня, плюс confidence.

Второй вариант — сигнал передать человеку. Когда confidence низкий или два варианта близки, отдайте случай человеку или задайте ещё один конкретный вопрос. Не снижайте порог, пока не посмотрите эти близкие случаи.

Лимиты

ПараметрЭтот endpoint
EndpointPOST /api/v1/decisions, Bearer-ключ
Модельjev-1.13 (jev-latest — псевдоним)
Вопросов за вызов1–6
Варианты Choice2–8
Уровни Score2–10, от низшего
StateСтрока, JSON-объект или массив, до 60 000 символов
InstructionsТекст, 1–2 000 символов
Оплата1 кредит за успешный вызов; неудачные бесплатны
СтримингНе поддерживается

Отличия от API TypeSafe

TypeSafe AI обслуживает Jev на POST https://api.typesafe.ai/v1/systemone с ключом TypeSafe и тарификацией по входным токенам. Тело запроса здесь имеет ту же форму: model, state и questions типа noul, choice или score. Что меняется:

  • Путь и ключ: POST /api/v1/decisions на jev-api.org с ключом из панели этого сайта. Ключи TypeSafe здесь не работают, а ключи этого сайта не работают на TypeSafe.
  • Id модели: отправляйте jev-1.13 или jev-latest. Версионный id вроде jev-1.13.0 возвращает 422.
  • Лимиты: 1–6 вопросов за вызов и 2–8 вариантов Choice. TypeSafe документирует до 255 вариантов Choice.
  • Поля: instructions должен быть текстом, и каждому варианту Choice нужно описание. TypeSafe также принимает instructions в виде объекта или массива и null-описания вариантов.
  • Оплата: 1 кредит за успешный вызов, независимо от числа токенов.

Ошибки

  • 401 — ключ отсутствует или отклонён.
  • 402 — ключ верный, баланса не хватает. Сбой upstream не списывает кредит.
  • 422 — тело не прошло проверку. Сообщение называет поле.
  • 429 — сервис решений ограничен. Повторите позже.
  • 502 — сервис не вернул ответы. Кредит не списывается.

Id модели

Этот API отдаёт jev-1.13. Отправляйте этот id, если порог зависит от одного распределения. На этом API jev-latest — псевдоним того же id.