Docs
OfficialJev Guides & Articles
API Reference
The raw HTTP contract behind every SDK: POST a state plus typed noul, choice, and score questions to /v1/systemone, and get one answer per question, with error codes and retry guidance.
- Format
- Docs
- Reading time
- 3 min
- Published by
- TypeSafe AI
- Last verified
- Sep 2026
Works forJev for Scoring
Used inJev for Software & DevTools
Highlights
- Answers come back keyed by the ids you supply; ids are never sent to the model.
- Choice accepts up to 255 options; Score takes 2 to 10 ordered levels.
- Choice and Score answers carry a 0-1 confidence; Noul returns only the probability of yes.
- Errors are 401, 422, 429, and 529; retry 429 and 529 with exponential backoff.
Quickstart
json
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}Watch out
Choice caps at 255 options and Score at 10 levels, so very large candidate sets need pre-filtering or multiple passes.
Questions about this entry
Short answers drawn from the linked project or page.
No. The reference says answers come back keyed by the ids you supply and that the ids are never sent to the model, so internal identifiers and naming conventions stay inside your system.
Only 429 and 529, with exponential backoff. The reference lists 401, 422, 429, and 529; the first two are caller errors that need a fix rather than a retry, while the last two are rate and capacity responses.
POST https://api.typesafe.ai/v1/systemone with Authorization: Bearer <API_KEY> and Content-Type: application/json. The body has three required top-level fields: state, the content to evaluate; model, such as jev-latest; and questions, a map from ids you choose to typed question objects. The response mirrors that: model, answers keyed by the same ids, and usage with input_tokens and output_tokens.
state is a string for plain text, or a structured object or array for things like chat logs, records, or the current state of your application. The State documentation covers the accepted formats and best practices, so a structured object is a supported way to hand the model more than one field rather than concatenating text yourself.
All three set type and instructions and add criteria. A Noul returns the probability of yes and takes optional criteria with true and false descriptions of what each end means. A Choice requires criteria as a map of option to rubric description, using null when an option needs no extra detail. A Score requires criteria as an ordered array of level descriptions, at least two and at most ten.
Yes, on all three question types instructions accepts a string, an object or an array. The documented pattern is to put the question in one field and the data it refers to in the others, referencing data fields by name in backticks, the same way you point a question at a nested state value. The reference shows a resume question carrying potential_duplicate with name, location and last_employer, then asking whether the resume is for the same person as `potential_duplicate`.
Choice caps at 255 options per question and Score at 10 levels, so very large candidate sets need pre-filtering or multiple passes. Beyond those numbers, instructions and every criteria entry can be a string, an object or an array: the guidance is to start with a string and reach for an object only when a description needs several kinds of guidance, such as what an option covers, what it does not, and some examples.
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.