Decision API · Live
Send your data and the questions you need answered. Xev comes back with typed answers — a yes or no, one choice from your list, a score on your own scale — each with calibrated probabilities your code can act on. It speaks the same System One format as Jev, runs on hardware we own in Sweden, and costs €0.039 per million input tokens. Output is free.
Quickstart
Post the state — any text or JSON — and a set of named questions to
/v1/systemone. Every answer comes back typed, with the probabilities
behind it: nothing to parse, no prompt begging for JSON, no retries when it isn't.
$ curl -sS https://api.axforge.ai/v1/systemone \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "xev-latest", "state": "I was charged twice for my subscription.", "questions": { "refund": {"type": "noul", "instructions": "Is the customer asking for money back?"}, "department": {"type": "choice", "instructions": "Which team should handle this?", "criteria": {"billing": "Charges and refunds", "technical": "Bugs and outages"}}, "urgency": {"type": "score", "instructions": "How urgent is this?", "criteria": ["Can wait a week", "Should be handled today", "Needs an answer within the hour"]} } }'
{
"model": "xev-latest",
"answers": {
"refund": {"type": "noul", "noul": 0.8113},
"department": {"type": "choice", "choice": "billing",
"probabilities": {"billing": 0.9464, "technical": 0.0536}, "confidence": 0.8928},
"urgency": {"type": "score", "score": 0.8526, "confidence": 0.3559, ...}
},
"usage": {"input_tokens": 224, "output_tokens": 0}
}
# pip install requests import requests r = requests.post( "https://api.axforge.ai/v1/systemone", headers={"Authorization": "Bearer YOUR_AXFORGE_KEY"}, json={ "state": ticket_text, "questions": { "spam": {"type": "noul", "instructions": "Is this spam?", "min_confidence": 0.9}, }, }, ) a = r.json()["answers"]["spam"] if a["decided"] and a["noul"] > 0.5: archive(ticket)
The full request and answer format, every field and every error, is in the Xev docs.
Three kinds of question
| Type | You ask | You get back |
|---|---|---|
| Yes / no noul | "Is the customer asking for a refund?" | The probability that the answer is yes |
| Choice choice | "Which team should handle this?" — your options, your descriptions | The winning option, a probability for every option, and a confidence |
| Score score | "How urgent is this?" on a scale you define | A position on your scale, with the probabilities behind it |
Set min_confidence and Xev tells you when it isn't sure
("decided": false) — so the clear cases run automatically and the rest go to
a person, or to a bigger model. Ask up to 32 questions about the same state in one call;
the state is read once, however many questions you ask.
Coming from Jev?
Xev speaks TypeSafe's System One format: the same request, the same question types,
the same answer shape. Point your client at https://api.axforge.ai/v1/systemone,
use your AxForge key, and your parsing code keeps working — the model name
jev-latest is accepted as it is.
| Xev | Jev | |
|---|---|---|
| Request & answer format | System One | System One |
| Question types | Yes/no · choice · score | Yes/no · choice · score |
| Input price | €0.039 / 1M tokens | $0.042 / 1M tokens |
| Output tokens | Free | Free |
| Priced in | Euros | US dollars |
The whole picture, side by side: Xev vs Jev.
Fit
| Use case | What Xev decides |
|---|---|
| Agent routing | Which tool or sub-agent goes next — and whether to continue, retry, ask the user or stop. |
| Support triage | Team, priority and refund intent for every incoming ticket, in a single call. |
| Guardrails & moderation | Whether a message or another model's answer is safe, on-topic and on-brand before it goes anywhere. |
| Scoring & ranking | Leads, reviews, documents or search results rated on the scale you define. |
| Workflow branching | "If the email is a complaint" becomes a real branch in your code, with a probability you can threshold. |
| Labelling at volume | Your own categories on large batches of text — and output is free, so volume stays cheap. |
Why a decision model
A chat model answers in prose. To turn that into a decision you write a prompt that begs for JSON, a parser, and retries for when it isn't JSON — and you still don't know how sure the model was. Xev skips all of it: a typed question in, a typed answer out, with the probability behind it. You decide the threshold for acting on its own.
Under the hood, a 27-billion-parameter model — Qwen3.8 27B — reads your state once and weighs every option you give it. It never writes text, which is why output is free.
Specifications
| Endpoint | POST https://api.axforge.ai/v1/systemone |
|---|---|
| Format | System One (Jev-compatible) |
| Model name | xev-latest |
| Question types | Yes/no (noul) · choice · score |
| Questions per call | Up to 32, the state read once |
| Built on | Qwen3.8 27B (NVFP4) on NVIDIA DGX Spark (GB10) — owned and operated by AxForge |
| Region | Stockholm, Sweden (eu-se-1) — inference stays in-region |
| Input price | €0.039 / 1M tokens |
| Output price | Free |
Data & privacy
Your state and questions are processed in memory in Sweden — not written to disk, not logged, not retained, and never used to train anything. We keep only request metadata (token counts, timestamps, status) for billing and operations. The full policy is at axforge.ai/privacy.
FAQ
AxForge's decision model. You ask it typed questions about any text or JSON — yes/no, choice or score — and it answers with calibrated probabilities instead of prose. It's built for the decisions inside software: routing, triage, guardrails, scoring and branching.
Yes. Xev speaks TypeSafe's System One format — the same request, question types and
answer shape. Change the base URL to https://api.axforge.ai/v1 and use your
AxForge key; even the model name jev-latest works.
€0.039 per million input tokens, excluding VAT. Output tokens are free, and the state is counted once per call however many questions you ask. No subscription, no minimum — and every new account gets 3M free tokens every 30 days.
A chat model writes text you then have to parse, and it can't tell you how sure it is. Xev returns the answer as a typed value with a probability for every option, so your code branches on it directly — and can hold back when the probability is low.
Set min_confidence on a question (or the whole call) and any answer
below it comes back with "decided": false, still with its probabilities —
your cue to route that case to a person or a bigger model.
In Stockholm, Sweden (eu-se-1), on NVIDIA DGX Spark systems AxForge
owns and operates. Requests are processed in memory and never stored or used for
training — see the privacy policy.
Yes — one key, one account. A common pattern: Xev decides what should happen, Qwen3.8 27B writes the answer when words are needed.
Discuss