Skip to main content
Jev Decisions
Jev is a structured decision model from TypeSafe. Send application state and named questions to receive classifications, scores or yes/no probabilities synchronously, rather than generated chat text. POST https://api.mixroute.ai/typesafe/v1/systemone Use a MixRoute API Key in Authorization: Bearer $MIXROUTE_API_KEY with Content-Type: application/json. Keep the native TypeSafe body structure: model, state and questions. Do not wrap it in metadata or use chat messages or asynchronous task polling.

Supported Models

jev-1.13.0 is the pinned version ID and jev-latest is the latest stable alias. Both currently call Jev 1.13: one model, not two separate models. The latest alias may move with future releases; pin the version when stability matters and inspect response model for the version used. Use only the exact model IDs available through your account’s model list.

Choosing a Question Type

Top-Level Parameters

Question IDs map requests to answers and are not shown to the model. Put the actual question in instructions, not only in its ID. Multiple questions are evaluated independently against the same state and can mix all three types. If one question depends on another answer, compose separate calls in your application.

Question Parameters

The following fields belong inside questions[question_id]. Explicitly provide instructions for each question, describing one clear decision.

Choice Classification

The returned choice is an option with the highest probability. probabilities includes every option and sums to approximately 1. Include other or insufficient_information when some inputs may not fit the named categories.

Score Rating

Level indices start at 0: three levels correspond to 0, 1 and 2. score is a probability-weighted position from 0 through the number of levels minus 1 and may be fractional; it is not always a 0-1 score. legend maps string indices back to the original descriptions, and probabilities uses the same indices. Consume the returned score without truncating it; choose an application rule if you need a discrete level.

Noul Yes/No Evaluation

The returned noul is a probability from 0 to 1, not a boolean: near 1 favors true, near 0 favors false and near 0.5 indicates uncertainty. Noul has no separate confidence field and does not measure degree; use Score for a graded judgment.

Input and Context Limits

Text, instructions and criteria all consume context. Questions share the state, but each question still increases total input. Provider-published rate limits do not define a MixRoute account entitlement; use your account limits.

Request Example

Set the server-side MIXROUTE_API_KEY environment variable. This request mixes all three question types.

Response Example

Probabilities and token counts illustrate the response format; values may vary across inputs or calls. Set probability/confidence thresholds in your application and keep a review or clarification path for uncertain inputs. High confidence does not guarantee correctness; evaluate non-English tasks on your own application data.

Structured Input

Use native JSON structures for state, instructions and descriptive criteria. This example combines object/array instructions with structured level descriptions.

Conversation Array

Pass conversation records as the state array. role/text here are application fields, not the Chat Completions message protocol.

Python

Requires Python 3 and requests. The example reads synchronous answers without task polling or automatic resubmission.

JavaScript

Use Node.js 18+ with an ES module (.mjs). Keep the API Key server-side, not in browser code.

Pricing and Usage

These are base prices in USD. Current Model Marketplace pricing, account group multipliers and your bill determine actual charges. Input usage includes state and question definitions; more questions and options also add input tokens. usage.output_tokens can be nonzero even though output tokens are free. Estimate cost from usage.input_tokens times the input rate divided by 1,000,000, then apply the account multiplier. The platform settles each request in internal quota units, so rounding can produce small differences from an unrounded USD calculation. For quota conversion, see Authentication and Quota.

Response Handling

Check HTTP status before using the JSON result. Successful responses contain answers directly. Error detail may be a string, object or field-error array. Retain the x-oneapi-request-id response header for troubleshooting without logging the full API Key. A network timeout does not prove the request was not executed. Resubmission creates a new evaluation and may incur another charge; control retries explicitly in your application.