Jev on OpenRouter
OpenRouter is a single gateway in front of many models, and Jev is listed on it — but with a twist: Jev is a typed decision model, not a chat model, so you reach it through OpenRouter's decisions endpoint, not the usual chat-completions path. Here's the exact setup, plus when calling our hosted gateway directly is simpler.
Jedes Beispiel braucht einen jv_live_-Key. Hol dir einen auf der Pricing-Seite, exportiere ihn als JEV_API_KEY, und du bist startklar. Key holen →
If you're searching "jev openrouter", you already route your models through OpenRouter and want Jev on the same key and bill. You can — Jev is listed as typesafe/jev — but it won't behave like the chat models next to it. Jev doesn't return prose; it returns a typed, calibrated decision (a choice, a score, or a yes/no probability) for a state and a set of questions. So OpenRouter exposes it through a dedicated decisions endpoint rather than /chat/completions, and the request body is Jev's decision shape, not a messages array.
The model id and endpoint
On OpenRouter, the model id is typesafe/jev-1.13 (with a typesafe/jev-latest alias). Unlike a chat model, you don't POST to /api/v1/chat/completions — you use the decisions endpoint, which OpenRouter still marks alpha, authenticated with your normal OpenRouter key. One gotcha: Jev won't appear in GET /api/v1/models, because that list is for models that produce text and Jev's output type is decisions — find it on its TypeSafe provider page instead. Check the live card and pricing at openrouter.ai/typesafe before you wire it up.
POST https://openrouter.ai/api/alpha/decisions
Authorization: Bearer $OPENROUTER_API_KEY
Content-Type: application/jsonA working request
The body is the same state + questions shape as the Jev API — only the host and auth change. One call, two typed answers you branch on directly:
curl https://openrouter.ai/api/alpha/decisions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "Customer: I was charged twice and I am furious.",
"questions": {
"topic": { "type": "choice", "instructions": "What is this about?",
"criteria": { "billing": "money problems", "bug": "broken product" } },
"urgent": { "type": "noul", "instructions": "Escalate to a human now?" }
}
}'You get back a typed answers map — answers.topic.choice is one of your keys, answers.urgent.noul is a probability between 0 and 1 — so your code branches on it with no parsing and no risk of a malformed response.
Route jev-mcp through OpenRouter
Already using the open jev-mcp server in Claude Code, Cursor or Codex? Point it at OpenRouter by setting the base URL and using your OpenRouter key, and every agent decision routes through OpenRouter's bill:
JEV_BASE_URL=https://openrouter.ai/api/alpha/decisions
TYPESAFE_API_KEY=$OPENROUTER_API_KEY # your OpenRouter key
JEV_MODEL=typesafe/jev-latestOpenRouter vs the instant hosted key
Use OpenRouter when you deliberately centralize every model on one provider, key and invoice — the convenience is having Jev on the same bill as your LLMs. If you just want Jev working in two minutes without touching OpenRouter, this site issues an instant hosted jv_live_ key that hits our metered gateway directly (POST /api/v1/decide) — same typed decisions, self-serve, billed per input token with output free. Many teams try Jev on the hosted key first, then move it onto their OpenRouter account once it's in production.
FAQ
Is Jev available on OpenRouter?
Yes — TypeSafe serves Jev on OpenRouter as typesafe/jev-1.13. But because Jev is a typed decision model, not a chat model, you reach it through OpenRouter's alpha decisions endpoint (POST /api/alpha/decisions), not the standard chat-completions path. It also won't show up in GET /api/v1/models — find it on the TypeSafe provider page.
What is the Jev model id on OpenRouter?
typesafe/jev-1.13, with a typesafe/jev-latest alias. Set it as model in the decisions request body, authenticated with your OpenRouter Bearer key.
Why can't I call Jev at OpenRouter's chat-completions endpoint?
Because Jev doesn't generate chat text. It takes a state plus typed questions and returns typed, calibrated answers, so it uses a dedicated decisions endpoint whose body is Jev's decision shape rather than a messages array.
Can I route jev-mcp through OpenRouter?
Yes. Set JEV_BASE_URL to the OpenRouter decisions endpoint and use your OpenRouter key as TYPESAFE_API_KEY, with JEV_MODEL=typesafe/jev. Every agent decision then routes through OpenRouter.
OpenRouter or the hosted jv_live_ key — which should I use?
OpenRouter if you want Jev on the same provider, key and bill as your other models. The hosted jv_live_ key if you just want Jev working instantly without touching OpenRouter — it hits our metered gateway directly at ~$0.001 per decision, output free.
Siehe auch: Jev MCP server (config) · All ways to get Jev · Get a Jev API key
Probiere Jev, bevor du es einbindest
Führe eine echte, typisierte Entscheidung im Browser aus — kostenlos, ohne Anmeldung — und setze dann deinen Key in das Beispiel oben ein.