Jev API OpenAPI-like response shape
TypeSafe publishes the evaluation contract as HTML, not a downloadable OpenAPI file we will invent. This page is an unofficial field map of the JSON you get back from POST https://api.typesafe.ai/v1/systemone. If we disagree with docs.typesafe.ai/api, the docs win.
This page is for builders wiring TypeSafe Jev (System One) into agents, routing, or evals. jev.pro is an independent unofficial field guide — not affiliated with TypeSafe AI. We do not sell or issue keys.
Envelope
{
"model": "jev-1.13.0",
"answers": {},
"usage": { "input_tokens": 296, "output_tokens": 20 }
}
| Path | Type | Notes |
|---|---|---|
model |
string | Versioned id that ran. Log it. Sending jev-latest does not mean this field stays jev-latest. |
answers |
object | One entry per request key |
usage.input_tokens |
number | What the public list price meters (vendor claim) |
usage.output_tokens |
number | Reported; models page says output is free |
answers is complete. There is no next_page_token. Question ids key the map; they were not sent to the model.
Answer variants (discriminated by type)
Noul
{ "type": "noul", "noul": 0.95 }
No confidence. 0 = no, 1 = yes. 0.5 is “equally likely,” not a medium Score.
Choice
{
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
"confidence": 0.81
}
probabilities values are floats that sum to 1. confidence is derived from that distribution (official confidence page). You may ignore confidence and use your own statistic. Choice criteria were unordered, max 255.
Score
{
"type": "score",
"score": 1.05,
"legend": { "0": "Calm", "1": "Frustrated", "2": "Very angry" },
"probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
"confidence": 0.92
}
score can land between levels (2–10 rungs on the request). Do not invert it into a physical quantity (jaggedness). legend keys are string level indexes.
Errors are not this envelope
Failures use HTTP status + a JSON body describing the field. Documented statuses: 401, 422, 429, 529. Official SDKs retry 429/529. That is error envelope, not an answers map. Do not parse 422 as a Noul.
Version string in model
| You sent | You might read back | Meaning |
|---|---|---|
jev-latest |
jev-1.13.0 |
Alias resolved (models page, 2026-09 snapshot) |
jev-preview |
jev-1.13.0 |
Same id on that snapshot — confirm |
jev-1.13.0 |
jev-1.13.0 |
Pinned |
Gateway typesafe-ai/jev |
door-specific | Not this first-party envelope |
Do not treat jev-1.13 (family) as interchangeable with jev-1.13.0 (patch) across doors.
Vendor claims attached to usage: $0.042 / million input tokens, output free. Throughput, 1200 RPM, and 70ms–500ms launch-post figures are also vendor claims. Schema-safe ≠ factually correct.
See also
- API hub — contract pages
- Request schema — inbound field table
- Response format — practitioner reading notes
- Decision endpoint naming — still one POST
FAQ
Is there an official openapi.json?
Not linked from the API reference we fetched. Use their HTML + SDKs.
Can I depend on probability exactness?
Use them as routing features. Do not expect Noul + negated Noul to sum to 1 (official jaggedness).
Why keep this page if response-format exists?
This page is the field map (OpenAPI-like). The sibling is how to read a live call.
Does Noul ever grow a confidence key?
Not in the public reference we used. Threshold |noul − 0.5| in your code.
What this page does not claim
- Official TypeSafe status, logos, or support.
- That jev.pro sells, issues, or proxies API keys.
- Extra first-party HTTP routes beyond
POST /v1/systemoneandGET /v1/modelsunless the API reference lists them. - Invented latency SLOs, search volume, or unofficial prices.
- That a schema-constrained answer is automatically factually correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.