API · Last updated

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

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

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.

Sources