System One
A typed decision API for applications using Jev.
System One exposes Jev through a native decision endpoint, with account access, API keys, prepaid credits, and a browser playground. The project client is @system-one-ai/sdk@0.3.0; the official @typesafe-ai/sdk@0.6.0 is also used as an independent compatibility check. The maintained HTTP contract is typesafe-2026-09-18.
Send a shared state and named questions. Receive choices, rubric scores, and probabilities. Your application controls the subsequent action, including whether to invoke a separate planning model.
Start building
| Guide | What you will do |
|---|---|
| SDK quickstart | Create a key and send all three question types. |
| Decision primitives | Interpret distributions, weighted scores, and P(true). |
| API reference | Use the native HTTP contract and published limits. |
| Idempotency and retries | Recover a response without repeating a completed inference. |
| Credits and billing | Estimate request costs and understand prepaid packs. |
| Data handling | Understand storage, retention, and upstream processing. |
| Deployment | Run the application and documentation on Cloudflare Workers. |
One public interface
Configure the SDK with baseURL: 'https://your-deployment.example.com/v1' and a System One API key. The client calls POST /v1/systemone. Replace the example origin with the origin supplied by your deployment operator; the documentation host may be a separate Worker.
Supply a non-blank model alias or fixed version ID. TypeSafe receives an explicit model unchanged; an omitted model uses the deployment default, otherwise jev-latest. An alias can change upstream over time. GET /v1/models requires a platform key and returns the real TypeSafe { models } body; it is not an anonymous capability list or a version allowlist.
With X-System-One-Response-Mode: typesafe-native, the gateway preserves valid successful TypeSafe JSON text, status and extensions, without adding billing, IDs, warnings or rounding. Platform credits and IDs are read from headers. The API reference explains native errors and safety exceptions. OpenRouter is an explicit openrouter-adapted path, while pre-upgrade cached results use legacy-cache; neither claims original TypeSafe byte fidelity.
What the result means
A probability is a model estimate, not permission to execute an action or a guarantee of correctness. A score is based on an ordered rubric and can be fractional. Native TypeSafe Choice includes probabilities/confidence; Score also includes a legend. Missing usage counts remain unknown. Native state is required but may be null; instructions may be omitted/null and Noul criteria may be null, with final acceptance decided upstream. The platform does not fabricate answers when a provider is missing or fails.
Built on TinyShip
The website retains TinyShip’s modular authentication, database, payments, and credit ledger. TanStack Start serves the main product; this Fumadocs application exports static English and Chinese documentation. See the deployment architecture and the System One SDK repository.