# Jepela > Jepela is a decision API with memory: typed questions in, typed answers with probabilities out, one call, no text generation; a per-subject memory in RAM that the caller does not rebuild on every request; a subject is whatever a decision is about. You pay per input token the engine read, $0.042 per million; output is free. - [Introduction](https://api.jepela.com/docs/introduction.md): Jepela is a decision API with memory. Send a state and typed questions; get typed answers with probabilities and confidence that your code can branch on. Name a subject, and the answer also uses what that subject's memory knows, without you packing it into every request. - [Getting started in five minutes](https://api.jepela.com/docs/getting-started.md): Jepela is a hosted API at `https://api.jepela.com`; you need only a key. Everything below was run for real; your numbers will differ a little. - [Quick start](https://api.jepela.com/docs/quickstart.md): Jepela is a hosted API at `https://api.jepela.com`. There is nothing to install or run. Three steps. - [Examples](https://api.jepela.com/docs/examples.md): Every request on this page was sent to a Jepela gateway on 2026-09-23 and every answer came back from it (`jepela-english` unless the request names a model). The answers are shortened: the decision id, the reading report, engine metadata, timings and most usage counters are left out, and a memory hit shows only its text; every field shown has its real name and place. Costs come from the gateway's `pricing.json`, placeholder prices until its owner sets them. Numbers will differ a little on your machine and with other checkpoints. Regenerate the page for your gateway with `python3 cookbooks/build_examples.py`. - [Jepela versus Jev](https://api.jepela.com/docs/jepela-vs-jev.md): Jev is TypeSafe AI's System One model, served at `api.typesafe.ai`. Jepela is this API. The request and answer shape is the same on purpose, so code written for one runs against the other with a new base URL and a model name. Everything about Jev below is what TypeSafe's public pages said on 2026-09-22; their performance numbers are their claims. - [State](https://api.jepela.com/docs/state.md): The state is what the engine evaluates: a support message, a document, an application record. It goes in the `state` field next to the questions. - [Primitives](https://api.jepela.com/docs/primitives.md): Three question types, one request. Each is evaluated on its own against the same state. - [Choice](https://api.jepela.com/docs/choice.md): Select one option from a defined set. The answer has the chosen option, a probability for every option, and a confidence. - [Score](https://api.jepela.com/docs/score.md): Rate the state against ordered levels. The answer has a score, a probability per level, the legend, and a confidence. - [Noul](https://api.jepela.com/docs/noul.md): A yes/no statement. The answer is the probability that the answer is yes, with a `confidence` that is the larger of it and 1 minus it. - [Confidence](https://api.jepela.com/docs/confidence.md): Choice and Score answers carry `probabilities`, the full distribution, and `confidence`, one number from 0 to 1 that says how concentrated that distribution is. Concentrated on one outcome means a confident answer; spread out means an uncertain one. A Noul answer carries `noul` and `confidence`, the larger of `noul` and 1 − `noul`. - [Request options](https://api.jepela.com/docs/request-options.md): Options on `POST /v1/systemone` beyond `state`, `questions`, `model` and `subject`. Each says what it costs. - [Warnings](https://api.jepela.com/docs/warnings.md): Every answer carries `warnings`: known traps in this request, found by checks that cost nothing. The answer is returned either way; a warning says where it may be wrong. - [Memory](https://api.jepela.com/docs/memory.md): A memory is a list of lines that belongs to one subject of one tenant: facts, events your software reports, rules with conditions, decisions you choose to keep. It lives in RAM on Jepela's server and is flushed to disk in the background. - [Rules in memory](https://api.jepela.com/docs/rules-in-memory.md): The memory is read by a one-pass decision engine, not a reasoner. Measured while building the demos and cookbooks with the English checkpoint, four things decide how a rule should be written. - [Quality](https://api.jepela.com/docs/quality.md): Jepela tells you how often it is right on your own decisions, and tunes its confidence to them. Everything here works from labels: the right answer for a question, given after the fact. - [Fine-tuning](https://api.jepela.com/docs/fine-tuning.md): Train a Jepela model of your own on your labelled cases. It is used only if it answers cases it never saw better than the standard engine and still listens to memory as well, and only you can use it. - [Batches](https://api.jepela.com/docs/batches.md): Many decisions as one background job: a backlog to classify, a nightly re-scoring, a golden set of your own. - [Patterns](https://api.jepela.com/docs/patterns.md): Code owns the control flow. Jepela appears where the code needs a judgment. Four patterns from stateless decision APIs, then two that exist because of the memory. - [Cookbooks](https://api.jepela.com/docs/cookbooks.md): End-to-end recipes in `cookbooks/`, each a Python script that runs against your gateway with `JEPELA_API_KEY` set and prints what it measured. The outputs below are from runs on 2026-09-23, `jepela-english` through a gateway and a product started by the build script from this repository; costs come from the gateway's `pricing.json`, placeholder prices until its owner sets them. Run `python3 cookbooks/build_docs.py` to regenerate this page for your gateway. - [Models](https://api.jepela.com/docs/models.md): `GET /v1/models` lists what this gateway offers, whether each engine answers right now, and what is pinned. - [API reference](https://api.jepela.com/docs/api.md): Base URL: `https://api.jepela.com` (the API of your key's region; see Regions). Every `/v1` route except sign-up needs `Authorization: Bearer `, and every POST `Content-Type: application/json`. Bodies are capped at 1 MB (16 MB for `/v1/batches` and `/v1/golden`). Duplicate JSON keys are rejected. Connections stay open between requests (HTTP/1.1). - [Pricing](https://api.jepela.com/docs/pricing.md): You pay for input tokens: **$0.042 per million input tokens** (that is $42 per billion). Output is free. This is the same way TypeSafe prices Jev, at the same price. Jepela is for business customers; prices exclude VAT and other taxes, which are added where the law requires. - [Regions](https://api.jepela.com/docs/regions.md): Jepela runs in regions. Each region is a whole Jepela: the API, every subject's memory and the GPU engine, in the same - [Python SDK](https://api.jepela.com/docs/sdk-python.md): `jepela-sdk` 0.2 needs Python 3.10 or newer and nothing else; Pydantic is used only if you give it a Pydantic model. - [JavaScript and TypeScript](https://api.jepela.com/docs/javascript.md): `sdk/typescript` is a TypeScript client with no dependencies: it uses the `fetch` built into Node, Deno, Bun and browsers, and Node 22.18+ runs its source directly. Keep the key on your server; never ship it to a browser. - [Claude and MCP](https://api.jepela.com/docs/mcp.md): Jepela ships as an MCP server and a Claude Code plugin, so Claude can make typed decisions with memory as tool calls. - [Agent skill](https://api.jepela.com/docs/agent-skill.md): For Claude Code and other coding agents: a skill file, `SKILL.md`, tells an agent what Jepela is, when to use it inside the software it writes, and the exact request shape. Get it from [https://github.com/ceyoualigator-debug/jepela](https://github.com/ceyoualigator-debug/jepela) (`skills/jepela/SKILL.md`) and copy it into `.claude/skills/jepela/` of a project, or into `~/.claude/skills/jepela/` for every project. The plugin brings a different skill, `jepela-decisions`, for Claude's own tool calls. - [FAQ](https://api.jepela.com/docs/faq.md): **Is Jepela a chat model?** No. It never generates text. You send a state and typed questions; you get typed answers with probabilities. Use it inside software, for judgments the code then acts on. - [Troubleshooting](https://api.jepela.com/docs/troubleshooting.md): Every error is JSON: `{"error": {"type": "...", "message": "..."}}`. The message says what to fix. - [Jaggedness](https://api.jepela.com/docs/jaggedness.md): What Jepela gets wrong, as measured, so that you design around it rather than find out later. Measured on 2026-09-22 and 2026-09-23 with the Jepela checkpoints on a Mac, unless a line says the engine's authors measured it. Other versions differ.