Jev API (TypeSafe System One)
TypeSafe's decision model Jev: send a state and a map of typed questions, get an answer with probabilities for each. $0.05 per 1M input tokens, output free. POST /v1/systemone with exactly TypeSafe's request and response.
Read this first: it is not a chat model
Jev does not generate text — there are no messages, no prompt and no streaming. A request carries three things: model, state (a string, JSON object or array describing the situation) and questions (a map keyed by your own ids, each with a type). The response is keyed the same way. An OpenAI SDK pointed at this endpoint will not work; use TypeSafe's official SDK with base_url and the key changed, or plain HTTP.
Code examples
This is a request we actually sent on 2026-09-22: one support ticket, two questions — which queue, and whether it is urgent.
curl https://api.apimodels.app/v1/systemone \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev",
"state": "Support ticket: I was charged twice for my September invoice and need one of the payments refunded.",
"questions": {
"queue": {
"type": "choice",
"instructions": "Which support queue should handle this ticket?",
"criteria": {
"billing": "Payments, invoices, charges and refunds",
"bug": "Something in the product is broken",
"account_access": "Login, password or permission problems",
"other": "Anything else"
}
},
"urgent": {
"type": "noul",
"instructions": "The customer needs a response within the hour."
}
}
}'
# 385 input tokens billed at $0.05 per 1M = $0.00001925; output is freeResponse (verbatim)
{
"model": "jev-1.13.0",
"answers": {
"queue": {
"type": "choice",
"choice": "billing",
"confidence": 1.0,
"probabilities": { "billing": 1.0, "bug": 0.0, "account_access": 0.0, "other": 0.0 }
},
"urgent": { "type": "noul", "noul": 0.29 }
},
"usage": { "input_tokens": 385, "output_tokens": 63 }
}- answers is keyed by your question ids. choice returns the selected option, a confidence and probabilities per option; score does the same for levels; noul is the probability (0–1) that the statement is true.
- usage.input_tokens is the only number that is billed; output_tokens is informational.
- model echoes the upstream version actually used (e.g. jev-1.13.0); send jev in the request — jev-latest and jev-preview are accepted too.
Parámetros de la solicitud
| Field | Required | Type | Description |
|---|---|---|---|
| model | Yes | string | jev (jev-latest / jev-preview are also accepted) |
| state | Yes | string | object | array | The situation to judge: text, a JSON object or an array. The upstream budget is 64k tokens per request. |
| questions | Yes | object | Keyed by your own question ids; each value is a question with a type; at least one |
| questions.<id>.type | Yes | string | choice / score / noul |
| questions.<id>.instructions | Yes | string | The question: what to choose, what to score, which statement to judge |
| questions.<id>.criteria | No | object | array | choice: "option: description" pairs, up to 255; score: 2–10 levels, one description each. Not used by noul. |
The three question types
choice
Pick one of up to 255 described options. Returns the option, a confidence and a probability per option. Routing, classification and tagging.
score
Place the state on a 2–10 level scale you describe. Returns the level, a confidence and a probability per level. Lead scoring, severity, satisfaction.
noul
The probability that a statement is true, as a number in 0–1. Moderation flags, feature gating, escalation.
Every question is evaluated against the same state in parallel, so adding questions barely changes latency.
Billing
| Item | apimodels |
|---|---|
| Input, per 1M tokens | $0.05 |
| Output | Gratis |
| Per-call minimum | None — billed on the exact input_tokens |
- The 385-token request above costs $0.00001925; a million such decisions cost about $19.
- Failed calls are free. Accounts with a zero balance are refused before the call is made.
Errores
- 400 — Shape problems we can decide ourselves: model is not jev, state missing, questions not a non-empty object, an unknown question type, or a body over 1MB.
- 402 — Insufficient balance.
- 422 — Upstream validation passed through verbatim: question count, criteria size (choice ≤255, score 2–10 levels), the 64k-token per-request budget.
See also
- Jev model page — price, highlights, FAQ
- Jev use cases — shipped features, business workflows and independent tests
- Jev API pricing and access
Preguntas frecuentes
Is the Jev API OpenAI-compatible?
No. It has its own endpoint, POST /v1/systemone, where you send a state and a map of typed questions and get answers with probabilities back. Use TypeSafe's official SDK with our base URL, or plain HTTP as in the cURL example.
What is billed on a Jev call?
Only the input tokens the upstream reports, at $0.05 per million; output is free and there is no per-call minimum. Failed calls are not charged.
Which question types does Jev support?
Three: choice picks one of up to 255 described options, score places the state on a 2–10 level scale you describe, and noul returns the probability that a statement is true. All questions in one request are evaluated in parallel against the same state.