Launch offer+40%Claim →

Jev API key: get one here, or from TypeSafe and the gateways

A Jev API key comes from one of four places: TypeSafe's console, OpenRouter, Vercel's AI Gateway, or this page after a sign-in. Each key works only on its own host, as the table below shows from real calls, and the rest of the page is how to use the one you get.

Key & endpoints

How do you get a Jev API key?

Create one in TypeSafe's console at console.typesafe.ai/keys and send it as Authorization: Bearer to api.typesafe.ai. If your account cannot create keys yet, an OpenRouter key or a Jagent key from this page reaches the same model today, each on its own endpoint.

From TypeSafeconsole — console.typesafe.ai/keys
No waitlistOpenRouter — an OpenRouter key, prepaid
Here1 minute — sign in; 5 credits a month
Works onits own host — a key from one is a 401 on the others

Quick answer · verified 2026-10-11

Get your key

Continue with Google
or

With Google we receive your email address, your name and your profile picture — the last two only so the header can show you are signed in. With email, only the address. Nothing beyond that: no contacts, no calendar, no Drive. Either way a lost key can be rotated rather than being gone for good.

Prefer not to sign in? The playground and the widget on the home page run real calls against the live API with no account at all.

Usage, per-call history and purchases are on your dashboard.

Where can you get a Jev API key?

RouteWhereEndpointWorth knowing
TypeSafeconsole.typesafe.ai/keysapi.typesafe.ai/v1/systemoneJev itself, billed by TypeSafe; account access is TypeSafe's call
OpenRouteropenrouter.ai, Keysopenrouter.ai/api/alpha/decisionsNo waitlist; prepaid credits; model typesafe/jev-1.13
Vercel AI GatewayVercel dashboard, AI GatewayAI SDK experimental_evaluateModel typesafe-ai/jev
This siteSign in abovejev-agent.com/api/v1/…Keys start jv_live_; 5 credits a month, then packs

All four reach the same Jev 1.13. TypeSafe's route is the model's own billing at $0.042 per million input tokens; the gateways add an account you may already have. The step-by-step for TypeSafe and the gateways is on getting Jev access.

Which Jev API key works on which host?

Only its own. We sent each key to each host on 2026-10-11; the refusals, verbatim:

Keyapi.typesafe.aiopenrouter.aijev-agent.com
TypeSafe key200401 · Missing Authentication header401 · Unrecognised API key.
OpenRouter key401 · Cannot authenticate with the server200401 · Unrecognised API key.
jv_live_ key401 · Cannot authenticate with the server401 · Missing Authentication header200

Read the message, not just the 401. OpenRouter answers a key it did not issue with “Missing Authentication header” even when the header is there, which sends people hunting for a bug in their code; it means the key belongs to another host. The status codes for everything else are on Jev rate limits and errors.

How do you use and test a Jev API key?

Keep it in an environment variable on the server, never in browser code, and send it as a bearer token. TypeSafe's SDKs read TYPESAFE_API_KEY on their own. To check a TypeSafe key without spending anything, list the models; a 200 means the key is live:

bash
export TYPESAFE_API_KEY=...
curl -s https://api.typesafe.ai/v1/models -H "Authorization: Bearer $TYPESAFE_API_KEY"

For a key from this page, GET /api/keys with it as the bearer token returns your balance the same way. If a key leaks, rotate it where it was issued: TypeSafe's console, OpenRouter's key list, or PUT /api/keys here.

Use your own TypeSafe key

Your own TypeSafe key

The tools run Jev on this site's key and your credits by default. Save a TypeSafe API key to run them on your own account instead: TypeSafe bills you directly and no credits are used. The key stays in this browser and is passed to TypeSafe with each call, never stored on our side. Writing a rubric and planning a batch still use credits, because those run a language model.

From code, send the key per request as X-TypeSafe-Key next to your Jagent key, on the REST API or the MCP server alike: Jev answers on your TypeSafe account, TypeSafe bills you, and the call costs no credits here. If TypeSafe refuses the key, the call fails with that message instead of quietly running on ours.

Make a call

Your state, your questions. The state can be a string, an object or an array, the options are whatever you define, and the answers come back with a probability on each. Jev API access here is the whole surface — there is no smaller version of the API you have to graduate out of.

bash
curl -X POST https://jev-agent.com/api/v1/systemone \
  -H "Authorization: Bearer jv_live_…" \
  -H "content-type: application/json" \
  -d '{
    "state": {
      "application": { "id": "APP-9912", "stage": "underwriting",
                       "ltv": 0.82, "flags": ["thin_file"] },
      "note": "Applicant self-employed 14 months."
    },
    "questions": {
      "decision": {
        "type": "choice",
        "instructions": "Route this application.",
        "criteria": {
          "auto_approve":  "clean file, meets all policy",
          "manual_review": "needs a human underwriter",
          "decline":       "fails policy outright",
          "request_docs":  "missing documentation"
        }
      }
    }
  }'

The real answer to this request, from api.typesafe.ai on 2026-10-11 in 513 ms; this endpoint returns the same plus a quota object:

json
{
  "model": "jev-1.13.0",
  "answers": {
    "decision": { "type": "choice", "choice": "manual_review", "confidence": 0.75,
                  "probabilities": { "manual_review": 0.81, "request_docs": 0.17,
                                     "decline": 0.02, "auto_approve": 0 } }
  },
  "usage": { "input_tokens": 413, "output_tokens": 51 }
}

Nothing above is a fixed category. Underwriting is the example because it is not one of our rulesets — swap the state and the criteria for your own domain and it works the same way.

Jev API access example: the underwriting decision question run alone in the playground returns manual_review at 0.61 confidence, with manual_review 0.71, request_docs 0.26, decline 0.03, auto_approve 0.00
What a call returns for the decision question alone, run in the playground with the state as text.

The rulesets: skip writing questions

Writing good criteria is most of the work — the option descriptions are the entire prompt surface. If one of these eight already asks what you need, /api/v1/classify asks it for you: send text and a ruleset name, up to 20 items per request (50 with credits). A batch is billed on its input tokens like any other call. The catalogue is readable without a key at GET /api/v1/classify, and a full request and response is in the docs.

Every ruleset publishes the exact call it makes. GET /api/v1/rulesets/<id>, no key needed, returns the literal {model, state, questions} body we send to api.typesafe.ai on your behalf:

bash
curl -s https://jev-agent.com/api/v1/rulesets/support-ticket-triage | jq .official

Take that body and your own TypeSafe key, and you never need to call us again.

How this Jev API access differs from the official API

POST /api/v1/systemone is POST https://api.typesafe.ai/v1/systemone with a different host and a different bearer token. Same request fields, same answer shapes. When your own early-access key arrives, change those two things and delete nothing else.

Not in what it accepts. The only ceilings are upstream's, checked before the call: 255 options per Choice and 10 levels per Score. A long state is priced per input token, not refused, up to Jev's own token budget.

The full contract, including every validation message, is readable without a key at GET /api/v1/systemone.

Limits and honesty

Practical questions

Which text classification API returns labels and probabilities without fine-tuning?

Jagent exposes Jev judgments as a REST API. Send a named ruleset to /api/v1/classify for one of eight measured tasks, or define your own Choice options on /api/v1/systemone. The returned choice includes option probabilities and confidence; you do not train a model per label set. Validate the accuracy and thresholds on your own examples before automating decisions.

Method and evidence · Checked 2026-10-04