Your first Jev API call
Your first Jev API call is the official quick-start POST to https://api.typesafe.ai/v1/systemone with a bearer key, a model, a state string, and one Noul. Get the key from the TypeSafe dashboard after you have access — not from this site. The only first-party evaluation URL in the public API reference is that POST; GET /v1/models lists aliases.
This page is for builders wiring TypeSafe Jev (System One) into agents, routing, or evals. jev.pro is an independent unofficial field guide — not affiliated with TypeSafe AI. We do not sell or issue keys. Confirm the quick-start body on docs.typesafe.ai.
curl
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"state": "Hi, I've been trying to connect my Stripe account for 3 days and the integration keeps failing. I'm losing sales. Please help ASAP.",
"model": "jev-latest",
"questions": {
"urgency": {
"type": "noul",
"instructions": "Does this message express urgency?"
}
}
}
EOF
That is the official quick-start request, slightly compacted. The documented response includes a resolved model (for example jev-1.13.0), answers.urgency.noul, and usage. Noul is P(yes) in 0–1 and has no confidence field. "urgency" is your id; question ids are not sent to the model.
Then add two more questions
The same quick start shows mixing Choice, Score, and Noul in one body: department, frustration, urgency. You do not need three HTTP calls. Choice returns choice, probabilities, and confidence. Score returns score, legend, probabilities, and confidence. Pack them while the state is already in memory.
After curl works, freeze the JSON and move assertions into Jev API testing. There is no documented /v1/test route. Assert policy actions (hold vs route), not only the argmax label, and pin jev-1.13.0 once you care about floors. jev-latest and jev-preview currently resolve to jev-1.13.0 — confirm language on the models page.
Python equivalent
pip install typesafe-sdk
TypeSafeClient() reads TYPESAFE_API_KEY and defaults to jev-latest. See Python SDK. Node 20+ uses @typesafe-ai/sdk and systemOne — JavaScript SDK.
If it fails
| Status | Meaning |
|---|---|
| 401 | Key missing or wrong |
| 422 | Body failed validation (often a missing model, state, or questions) |
| 429 / 529 | Back off |
Those four statuses are the documented HTTP failures. Official SDKs retry 429/529. Never commit a real key. This site will never give you one.
A 200 with a Noul near 0.5 is not an HTTP error. It is a judgment you may refuse to act on. Schema-safe ≠ factually correct.
Production notes for the second call
- Text only. English is primary. No images or audio in
state. - Vendor-claimed context: 64k tokens for state + all questions; 32k for state + the longest question. Filter unused CRM fields.
- Vendor-claimed list price: $0.042 / million input tokens, output free. Log
usage. - Do not invent a chat-completions URL. Titles elsewhere that look like
/v1/searchor/v1/batchare application patterns, not extra first-party routes.
See also
- API hub — what is first-party versus a pattern page
- HTTP endpoint —
POST /v1/systemoneandGET /v1/models - JavaScript SDK — typed helpers on Node 20+
- Playground — faster wording before you freeze curl
FAQ
Can I skip the Playground?
Yes. Curl is enough. The Playground is faster for wording.
Should the first production call use jev-latest?
Fine for hello-world. Pin a versioned id before you tune floors.
Gateway first call?
Use the Gateway base URL and model id Vercel documents — Jev on Vercel AI Gateway or channels. Do not send a TypeSafe key to a Gateway host or the reverse. First-party walkthrough: Jev on TypeSafe.
Why is model in the response a patch id?
Aliases resolve. Log the id you actually got.
What this page does not claim
- Official TypeSafe status, logos, or support.
- That jev.pro sells, issues, or proxies API keys.
- Extra first-party HTTP routes beyond
POST /v1/systemoneandGET /v1/modelsunless the API reference lists them. - Invented latency SLOs, search volume, or unofficial prices. 250k tok/s, 1200 RPM, and 70ms–500ms / 40x–200x from the launch post are vendor claims.
- That a schema-constrained answer is automatically factually correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.