Request anatomy
A Jev request has a context (the state) and named questions. Each question defines what decision is needed and the options or rubric that constrain the answer. Several questions may share the same state when they describe independent judgments.
{
"state": "Customer says they were charged twice",
"questions": {
"route": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments and refunds",
"technical": "Bugs and outages"
}
},
"reply_today": {
"type": "noul",
"instructions": "Does this need a reply today?"
}
}
}Question types
Choice: route to a known outcome
Provide a finite set of option keys and descriptions. The application can use the selected key and, if available, probabilities or confidence to define a fallback.
Score: evaluate against an ordered rubric
Define the ordered scale explicitly. Document what each level means, and test boundary examples so different stakeholders agree on the rubric.
Noul: estimate a yes/no statement
Phrase the statement precisely. Noul returns only a noul value from 0 to 1: the probability that the statement is true. It has no separate confidence field, so decide in advance which probability ranges trigger automatic handling, human review, or rejection.
Integration checklist
- Confirm you have access to the official endpoint or a supported provider route.
- Keep API keys on a trusted server; do not place secrets in browser JavaScript.
- Send only the state needed for the decision and avoid unnecessary personal data.
- Log latency, errors, decision distribution and human overrides without exposing sensitive content.
- Set timeouts, retry rules, rate limits and a deterministic fallback.
- Evaluate with labelled examples before using answers on a consequential workflow.
Primary reference
TypeSafe AI docs ↗ · This guide is independent and may lag behind API changes.