TypeSafe SDK
You can point an existing TypeSafe client at OpenRouter by changing its base URL. Requests to System One models such as Jev are then billed to your OpenRouter account and routed through OpenRouter’s System One API. The TypeSafe SDK is available for JavaScript and TypeScript (@typesafe-ai/sdk) and for Python (typesafe_sdk).
If you would rather call Jev without the TypeSafe SDK, use the Decisions API directly or through the OpenRouter TypeScript, Python, or Go SDK.
Base URL
OpenRouter’s System One API is available at the following base URL:/v1/systemone to the base URL, so requests are sent to https://openrouter.ai/api/v1/systemone.
Authentication
Use your OpenRouter API key as theAuthorization: Bearer <token> header. The SDK sets this header from the apiKey option (api_key in Python) or the TYPESAFE_API_KEY environment variable.
Migrating an existing client
Change the base URL and the API key. Everything else stays the same.TYPESAFE_BASE_URL environment variable, so you can leave the constructor unchanged and set TYPESAFE_BASE_URL=https://openrouter.ai/api and TYPESAFE_API_KEY=<your OpenRouter API key> instead.
Evaluating state against questions
Model IDs
The System One API accepts TypeSafe’s bare System One model IDs and maps them onto OpenRouter’stypesafe/ namespace before routing:
jev-1.13is routed astypesafe/jev-1.13.jev-latestis routed as~typesafe/jev-latest, OpenRouter’s alias for the newest Jev release.- IDs that already carry an author prefix, such as
typesafe/jev-1.13, are used as-is.
model field in the response contains the OpenRouter model ID of the System One model that served the request.
Supported endpoints
POST /api/v1/systemonesends state and typed questions to a System One model and returns its answers.
client.models.list() in JavaScript) calls GET /api/v1/models, which is OpenRouter’s Models API and returns OpenRouter’s response shape rather than TypeSafe’s, so the SDK rejects it. Browse OpenRouter’s System One models or call the Models API directly instead.
Request and response format
The System One API implements TypeSafe’s request and response shapes. Requests requiremodel, state, and questions, and responses contain model, answers, and usage. OpenRouter additionally returns id, provider, and usage.cost, which both SDKs pass through without error.
systemone.sh
Response
Jev resources on OpenRouter
- Jev model page for pricing, context length, and provider details
- Gate Agent Tool Calls with Jev for approving, blocking, or escalating agent tool calls
- Cut LLM Cost with a Jev-Verified Cascade for verifying cheap-model answers before escalating
- Jev Lab for interactive demos of Jev’s triage, extraction, and oversight patterns
- TypeSafe documentation for System One concepts, question types, and SDK reference