JJEV Gateway
Sign in

Documentation

Everything you need to go from the playground to production.

Quickstart

Create an account, create an API key in the dashboard, and send your first request. Keys are shown once — store them in a server-side secret, never in browser code.

curl
curl https://jevai.website/api/v1/systemone \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "The deployment failed three times and production is returning 500s.",
  "questions": {
    "needs_human": {
      "type": "noul",
      "instructions": "Should this be escalated to a person?"
    }
  }
}'

Request

Send a JSON body with a `state` and a map of named `questions`. The optional `model` field is accepted for compatibility and ignored. `state` can be a string, an array of strings or a JSON object, up to 100,000 characters.

Response

Answers are keyed by your question names. Every response carries a `request_id` you can quote to support.

Question types

Each question has a `type`, `instructions`, and for choice and score a set of `criteria`. Yes/no. Returns `noul`: the probability that the answer is yes. `criteria` with `true` and `false` descriptions is optional. Pick one of 2–20 labelled options. Returns `choice`, `probabilities` per option and `confidence`. Place the state on an ordered scale of 2–10 levels. Returns a continuous `score` (0 = first level), `probabilities`, `legend` and `confidence`.

Errors

Errors always use the same shape. Branch on `error.code`, not on the message text. Retry `429`, `502` and `529` with exponential backoff. Do not retry `401`, `402` or `422` without changing the request.

HTTPCodeMeaning
401missing_api_key / invalid_api_keyAPI key missing, invalid or revoked
402insufficient_creditsNot enough credits in the workspace
422invalid_requestMalformed JSON or invalid questions
429rate_limitedRate or concurrency limit reached
502upstream_errorThe model provider failed or timed out
529upstream_overloadedThe model provider is overloaded

Credits and limits

One credit is 1,000 input tokens. The final charge is the real token count, rounded up, with a minimum of 1. Credits are reserved before the call and returned if it fails. Concurrency and requests per minute depend on your workspace plan. Exceeding them returns `429` with a `Retry-After` header.

Data handling

We forward your request to the model to produce an answer, and we do not keep the content. We store request metadata (time, status, credits, token counts) for your usage history.