Jev Decision Models Added with TYPESAFE AI
Date: 2026-10-23 / (1405-08-01)
Summary
AvalAI now provides TYPESAFE AI's Jev decision models through /v1/decisions and /v1/systemone. These models return typed judgments for routing, scoring, and classification. Both available aliases share the same pricing, with paired guides and cookbooks for building decision workflows.
Details
TYPESAFE AI and Jev
Jev is TYPESAFE AI's flagship System One model. Instead of generating a conversational answer, it evaluates supplied information against narrow questions and returns values that application code can use. Suitable tasks include support-intent routing, passage relevance, citation checking, content screening, and selecting from known candidates.
Use the TYPESAFE AI provider guide for the complete overview. The AvalAI alias mappings for this announcement are:
| AvalAI alias | Underlying version | Endpoints |
|---|---|---|
jev-preview | jev-1.13.0 | /v1/decisions, /v1/systemone |
jev-latest | jev-1.14.0 | /v1/decisions, /v1/systemone |
Send the AvalAI alias, rather than assuming that the underlying version is a directly callable ID. These mappings are specific to AvalAI; TYPESAFE AI's own aliases can point to different versions. Re-evaluate your workflow when an alias or rubric changes.
Two Endpoint Formats
| Surface | Evidence field | Questions | Primitive names |
|---|---|---|---|
| Decisions | input | Array; optional name per question | predicate, choice, score |
| Native System One | state | Object keyed by question name | noul, choice, score |
OpenAI-format Choice questions use choices. Native Choice questions use criteria. Copy the full example for the selected endpoint; changing only the URL is insufficient. Both AvalAI endpoints use Authorization: Bearer $AVALAI_API_KEY on https://api.avalai.ir.
The Decisions format provides a common surface for decision models. This release adds the two Jev aliases. microsoft-decision-1 is a future addition, with no current availability, pricing, or endpoint support announced here.
Pricing
Prices are in USD per 1 million tokens, and are identical for both versions:
| Model | Input | Cached input | Output |
|---|---|---|---|
jev-preview | $0.042 | $0.00 | $0.00 |
jev-latest | $0.042 | $0.00 | $0.00 |
Zero output pricing does not make the whole request free. The native request captured below reported 333 input tokens and a USD charge of $0.0000139860. The cached-input rate describes billing for tokens actually counted as cached; it does not promise cache hits or support for a particular cache-control parameter.
API Request and Response Examples
Native System One
The following small Choice request returned HTTP 200 through AvalAI with both jev-latest and jev-preview on October 23, 2026. Set model to jev-preview to use the other announced alias.
curl --silent --show-error --fail-with-body \
--connect-timeout 10 --max-time 30 \
https://api.avalai.ir/v1/systemone \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary '{
"model": "jev-latest",
"state": "I was charged twice. Please help.",
"questions": {
"route": {
"type": "choice",
"instructions": "Which team should handle this message?",
"criteria": {
"billing": "Payments or invoices",
"technical": "Software or API problems",
"other": "Anything else"
}
}
}
}'Complete captured JSON response for jev-latest:
{
"model": "jev-latest",
"answers": {
"route": {
"type": "choice",
"choice": "billing",
"confidence": 1.0,
"probabilities": {
"technical": 0.0,
"other": 0.0
}
}
},
"usage": {
"input_tokens": 333,
"output_tokens": 38
},
"estimated_cost": {
"unit": "0.0000139860",
"irt": 3.78,
"exchange_rate": 270000
}
}This sample preserves the returned structure: the selected billing key is absent from probabilities. Read the explicit choice; do not treat an omitted probability as zero or assume the returned map sums to one. The System One reference explains validation and the observed response boundary. Token counts, probabilities, confidence, exchange rates, and charges are specific to a response.
OpenAI-format Decisions
The equivalent request uses input, a question array, and choices:
curl --silent --show-error --fail-with-body \
--connect-timeout 10 --max-time 30 \
https://api.avalai.ir/v1/decisions \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary '{
"model": "jev-latest",
"input": "I was charged twice. Please help.",
"questions": [
{
"type": "choice",
"name": "route",
"instructions": "Which team should handle this message?",
"choices": [
{"value": "billing", "description": "Payments or invoices"},
{"value": "technical", "description": "Software or API problems"},
{"value": "other", "description": "Anything else"}
]
}
]
}'This request returned HTTP 200 with both aliases on October 23, 2026. The complete captured jev-latest response is:
{
"model": "jev-latest",
"answers": [
{
"type": "choice",
"name": "route",
"choice": "billing",
"probabilities": [
{
"value": "billing",
"probability": 1.0
},
{
"value": "technical",
"probability": 0.0
},
{
"value": "other",
"probability": 0.0
}
],
"confidence": 1.0
}
],
"usage": {
"input_tokens": 333,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens": 38,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 371
},
"estimated_cost": {
"unit": "0.0000139860",
"irt": 3.78,
"exchange_rate": 270000
}
}Unlike the native map, Decisions returns an ordered answers array and includes the selected billing probability in this captured response. See the Decisions reference for answer fields, validation, and the difference between the two envelopes.
The live check covered eight request cases with both aliases: 16 requests, all HTTP 200 with valid typed answers. It included the corrected Choice request, Predicate and Score questions, native primitives, shared JSON state, and the cookbook payloads. This verifies those synthetic examples; it is not a measurement of accuracy on your application's data.
Build Decision Workflows
Start with Decision Models for schema selection, question design, probability and confidence, best practices, and debugging. The Jev cookbook provides a complete support-routing example in curl, Python, JavaScript, Go, and PHP, plus recipes for retrieval, citations, guardrails, and composed decisions.
Keep each question focused on one judgment and combine answers in application code. Evaluate thresholds against labeled examples from your own workflow, including Persian inputs where relevant. Confidence is a signal for uncertainty, not a guarantee of correctness or authorization to perform an action. Route ambiguous or invalid results to review, and apply bounded retries only to transient transport or service failures.
Image assets, Box questions, extended context, and upstream SDK options need separate AvalAI compatibility checks. Their appearance in TYPESAFE AI's documentation does not establish support for this release's examples.