Skip to main content
POST
Create Decision
Jev is a decision model, not a chat model. Send the facts in state and the judgments you need in questions. Jev returns structured answers: a pick from a set, a score on a scale, or a yes/no measure. It does not write chat text, so do not send jev to /v1/chat/completions. Jev is built by TypeSafe. It costs $0.042 per million input tokens; output tokens are free. Requests count toward your normal rate limits.

Create Decision

POST /systemone POST /decisions is the same endpoint.

Request Body

string
default:"jev"
Use jev. jev-latest, typesafe/jev, and typesafe/jev-latest are accepted as aliases. Version pins such as typesafe/jev-1.13 are rejected because only the current version is served. Proxy keys must send model.
string | object | array
required
The facts needed to answer: the ticket, records, conversation, or policy. Any JSON string, object, or array is accepted, including an empty one. Numbers, booleans, and null are rejected.
object
required
A non-empty map of question IDs to question definitions. Answers use the same IDs. IDs must be non-empty and cannot be __proto__.
Each question has:
string
required
choice, score, or noul. Case-sensitive.
string | object | array
required
The question to answer. The question ID only labels the answer; it is not read as the question.
object | array
What each option or level means. Required for choice and score, optional for noul. See Question types.
Every question sees the same state. Send independent questions together in one call and keep each one focused on a single judgment. The combined state and questions can be up to 32,000 tokens. Other body fields, such as user or session_id, are ignored.

Question types

Descriptions may be strings, objects, or arrays, and may be empty. A choice description may also be null. Numbers and booleans are rejected.

Reading answers

  • choice: the selected option ID. probabilities maps every option ID to a probability.
  • score: the expected level on the 0-based scale, as a decimal (for example 2.82 of 0 to 3). legend maps each level index to the description you sent. probabilities maps each level index to a probability.
  • noul: the probability of yes, from 0 to 1. Near 0.5 means uncertain. There is no confidence field.
  • confidence: a separate certainty signal from 0 to 1. It is not the largest probability and may be omitted; treat a missing value as unknown.
Probabilities are rounded to two decimals. Identical requests can differ by about 0.02, so compare against thresholds rather than exact values.

Example

Response

Read each answer by its question ID, then apply your own rules. Validate thresholds on your own examples.

Describe the endpoint

GET /systemone (or GET /decisions) returns the model, context length, supported question types, and pricing. No API key is needed.

Errors

Failed requests are not charged.

Authorizations

Authorization
string
header
required

Enter your API key (starts with 'ek-')

Body

application/json
state
required

The facts needed to answer. May be empty.

questions
object
required

Non-empty map of question IDs to question definitions. IDs must be non-empty and cannot be __proto__.

model
string
default:jev

Use jev. jev-latest, typesafe/jev, and typesafe/jev-latest are aliases. Version pins are rejected.

Example:

"jev"

Response

Success

id
string
required
object
string
required
Example:

"decision"

model
string
required
Example:

"jev"

answers
object
required

One answer per question ID.

usage
object
required