LEAPERone Docs

Decisions API (Jev / System One)

Reference for POST /v1/decisions and the OpenRouter-compatible alias POST /api/alpha/decisions — TypeSafe Jev System One with pass-through billing.

Evaluate a state with typed questions (noul, choice, score) via TypeSafe Jev on OpenRouter. LEAPERone authenticates with your API key and bills at upstream pass-through cost.

Endpoints

POST https://api.leaper.one/v1/decisions
POST https://api.leaper.one/api/alpha/decisions

/api/alpha/decisions is a drop-in path alias matching OpenRouter's Decisions URL. Same handler, auth, RPM bucket, and billing as /v1/decisions — swap https://openrouter.aihttps://api.leaper.one.

Authentication

Use a LEAPERone API key:

  • Authorization: Bearer sk-your-leaperone-key

Parameters

OpenRouter-native Decisions body. Required fields:

ParameterTypeRequiredDescription
modelstringYesJev model ID (see below). Optional openrouter/ catalog prefix.
statestring | object | arrayYesContent to evaluate.
questionsobjectYesMap of question id → typed question (noul / choice / score).

Question shapes follow the upstream OpenRouter Decisions / TypeSafe Jev contract (for example type, question, and options for choice).

Supported models

Model IDName
~typesafe/jev-latestJev Latest
typesafe/jev-1.13Jev 1.13
openrouter/~typesafe/jev-latestJev Latest (OpenRouter prefix)
openrouter/typesafe/jev-1.13Jev 1.13 (OpenRouter prefix)

The optional openrouter/ prefix is stripped before the upstream call so catalog and OpenRouter-style IDs both work.

Pricing

Pass-through: charged from upstream usage (input_tokens, output_tokens, cost) in LEAPERone credits. See Pricing.

Rate limits

Shares the Chat RPM tier bucket (same profile as Chat Completions). The /api/alpha/decisions alias maps to the same /v1/decisions key. See Rate Limits.

Request (curl)

curl -X POST https://api.leaper.one/v1/decisions \
  -H "Authorization: Bearer sk-your-leaperone-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "~typesafe/jev-latest",
    "state": {
      "ticket": "Customer paid twice for the same order",
      "amount_usd": 48
    },
    "questions": {
      "should_refund": {
        "type": "noul",
        "question": "Should we issue a full refund?"
      },
      "primary_reason": {
        "type": "choice",
        "question": "Primary reason category",
        "options": ["duplicate_charge", "defective", "late_delivery", "other"]
      },
      "confidence": {
        "type": "score",
        "question": "Confidence that the refund is warranted (0-1)"
      }
    }
  }'

OpenRouter path alias (same body):

curl -X POST https://api.leaper.one/api/alpha/decisions \
  -H "Authorization: Bearer sk-your-leaperone-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "typesafe/jev-1.13",
    "state": "Blank checkout page after payment redirect",
    "questions": {
      "is_incident": {
        "type": "noul",
        "question": "Is this a production incident?"
      }
    }
  }'

Response

Successful responses are proxied from OpenRouter and typically include answers plus usage (token counts and cost). Exact fields follow the upstream Decisions contract.

Notes

  • Requires the Decisions provider to be configured on the API (OPENROUTER_API_KEY).
  • Upstream timeout is 60 seconds.
  • Chat / Responses / Messages remain on their own endpoints; Decisions is only for typed Jev evaluations.