Developers / JevModel

JevModel API: request and response

Use a JevModel API key to send typed Jev questions to /api/v1/systemone.

Last updated:

At a glance

  • This guide describes JevModel’s /api/v1/systemone contract, with site authentication, limits and quota accounting. It does not document every provider that serves a Jev-compatible question shape.
  • OpenAI Decisions uses named question arrays; Cloudflare Clef uses its own endpoint and envelope. Before migrating, validate answers, missing fields, errors and review handling in a provider adapter.

Make your first request

Create a JevModel API key in account settings after verifying your email. Keep it on your server and POST to this site’s /api/v1/systemone endpoint. This example asks one yes/no question. The model is fixed to typesafe/jev-1.13 through OpenRouter; do not send a model field.

curl -X POST https://jevmodel.app/api/v1/systemone \
  -H "Authorization: Bearer $JEVMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"The customer was charged twice and requests a refund.","questions":{"escalate":{"type":"noul","instructions":"Should a human billing specialist review this request now?","criteria":{"true":"A specialist should review it now.","false":"No immediate review is needed."}}}}'

Request limits

Send a text state, JSON object, or nonempty JSON array plus 1–8 named questions. The serialized state and the validated full request must each fit within 8,000 characters. Question IDs start with a lowercase letter and contain up to 40 lowercase letters, digits, or underscores. Instructions need 8–600 characters. Choice needs 2–12 named options; Score needs 2–10 ordered levels; Noul needs both true and false descriptions. Each description needs 2–350 characters.

Read the response

Successful calls use the JevModel envelope below. The data object contains a request_id, answers keyed by question ID, upstream usage, and the remaining quota. The example values are illustrative. Choice may include a selected label and probabilities; Score is numeric and may be fractional; Noul is the probability of true from 0 to 1. Your application must choose its own action thresholds.

{
  "code": 0,
  "message": "ok",
  "data": {
    "request_id": "example-id",
    "answers": {
      "escalate": {
        "type": "noul",
        "noul": 0.94
      }
    },
    "usage": {
      "inputTokens": 186
    },
    "quota": {
      "tokenBalance": 99814,
      "hasPurchased": false,
      "signupGrant": 10000,
      "globalUsed": 1,
      "globalLimit": 1000,
      "dayUtc": "2026-09-28"
    }
  }
}

Errors, retries, and billing

Errors use {"code":-1,"message":"ERROR_NAME"}. HTTP 400 means invalid JSON or request fields; 401 an invalid key; 403 unverified email; 413 an oversized request; 429 insufficient token balance (INSUFFICIENT_TOKENS) or site capacity (GLOBAL_DAILY_LIMIT); 502 an unusable upstream result; and 503 an unavailable model connection. Check both HTTP status and code. Verified accounts start with 10,000 free tokens; every successful run deducts the model-reported input tokens from the shared Playground/API balance, subject to site capacity. Failed runs are refunded. This API does not support idempotency keys: if a response is lost after a successful run, check account history and balance before retrying to avoid a second charge.

Run the GitHub examples

The JevModel repository linked below includes curl, Node.js and Python clients for support triage, lead scoring and human review. Run the commands from the cloned repository root. Offline demonstrations need no dependencies or API key; fixtures are illustrative, not recorded model results. Set JEVMODEL_API_KEY and add --live only to opt into one real request, which may consume quota or tokens. No automatic retries or external business actions are performed. These are independent JevModel examples, not the official TypeSafe SDK.

How to classify text with the JevModel APIBatch text classification with the JevModel APIAI Decision Flows with Jev and human reviewJevModel pricing and free Jev runs
git clone https://github.com/SouthCat196/jevmodel-examples.git
cd jevmodel-examples
node quickstart/node.mjs
# Or: python quickstart/python.py
# Bash / Git Bash: bash quickstart/curl.sh

JevModel is independent and not affiliated with TypeSafe AI.