Try it here, then create your key
Open the jevmodel.org Playground and test one narrow decision. When the output is useful, sign in, open Dashboard, create an API key, and save it as JEVMODEL_API_KEY on your server.
Keep the answer set small and stable. Name the field after the branch your code will take, not after a vague theme.
import os
import requests
response = requests.post(
"https://jevmodel.org/v1/systemone",
headers={"Authorization": f"Bearer {os.environ['JEVMODEL_API_KEY']}"},
json={
"state": "I was charged twice. Please fix this ASAP.",
"model": "jev-latest",
"questions": {
"category": {
"type": "choice",
"instructions": "What is this ticket about?",
"criteria": {"billing": "payments", "technical": "broken product", "other": "other"},
},
},
},
timeout=15,
)
print(response.json()) The HTTP contract
Repos that already send this request are listed in the Jev project directory.
Send one POST to https://jevmodel.org/v1/systemone. model selects jev-latest or a pinned version. state can be a string or JSON value up to 1,000,000 characters after serialization. questions is an object with 1–8 named choice, score, or noul questions.
- The jevmodel.org endpoint allows 120 requests per minute for each API key.
- Each successful request charges input tokens. Failed upstream requests are refunded; add an Idempotency-Key header when retrying.
- Put a confidence threshold in your code. Jev makes the branch easier, not risk-free.
curl -X POST https://jevmodel.org/v1/systemone \
-H "Authorization: Bearer $JEVMODEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "Customer: I was charged twice and I am furious.",
"questions": {
"topic": {
"type": "choice",
"instructions": "What is the issue about?",
"criteria": { "billing": "money problems", "bug": "broken product" }
},
"urgent": {
"type": "noul",
"instructions": "Escalate to a human now?"
}
}
}' What to do with the answer
Branch in application code. If topic is billing and escalate.noul is above your threshold, route to a human. If confidence is low, send the same state to a larger model or a reviewer. Log input, output, version, and the downstream result so you can tell whether Jev is helping the workflow or only looking decisive.
FAQ
How do I use the Jev API?
Create a key in your jevmodel.org Dashboard, save it as JEVMODEL_API_KEY, and POST JSON to https://jevmodel.org/v1/systemone with Bearer authentication.
Which Jev model ID should I pin?
Use jev-1.13.0 in production if your thresholds are tuned. jev-latest resolves to jev-1.13.0 and jev-preview to jev-1.14.0; aliases can move. Use jev-preview or pin jev-1.14.0 for image input, Box and long context.
Can I test Jev before writing code?
Yes. Use the jevmodel.org Playground first. It uses the same question types as the API, so you can validate the shape before creating a key.