POST /v1/systemone (System One body) or POST /v1/decisions (OpenAI Decisions body). The AI Gateway translates between the two, so either route works. Full request and response schemas: Decisions API.
You can also reach TypeSafe through Custom Endpoints. The native integration below provides model access control and cost tracking, with models addressed as
account-name/model-name. Prefer this page unless you specifically need a transparent proxy.Jev is also available through OpenRouter, so you can call it with an OpenRouter API key instead of a TypeSafe one. Auto Routing can use a TypeSafe Jev model as its classifier — see Auto Routing.
Adding Models
This section explains the steps to add TypeSafe models and configure the required access controls.1
Navigate to TypeSafe in AI Gateway
From the TrueFoundry dashboard, navigate to
AI Gateway > Models and select TypeSafe.2
Add TypeSafe Account Details
Click
Add TypeSafe Model Account. Give a unique name to your TypeSafe account and complete the form:- API Key: your TypeSafe API key. It is sent to TypeSafe as an
Authorization: Bearertoken. - Base URL (optional): defaults to
https://api.typesafe.ai. Point this at a Cloudflare account (https://api.cloudflare.com/client/v4/accounts/<account_id>) to serve System One models through Cloudflare Workers AI instead.
3
Add Models
Click
+ Add Model and fill the form:- Display Name: the name shown in the TrueFoundry UI, for example
jev. - Model ID: the TypeSafe model identifier, for example
jev-1.13.0orjev-latest. Pin a versioned ID so confidence thresholds stay stable across releases. On a Cloudflare Workers AI base URL, use the Workers AI model name instead (typesafe/jev,@cf/cloudflare/clef, or@cf/cloudflare/clef-flash). - Model Types: Decision (default).
- Cost (optional): TypeSafe bills input tokens only, so set the output cost to
0.
Inference
Call the model with the TrueFoundry model ID in the formatyour-typesafe-account/your-model-display-name. Send the content in state and named questions in questions. This example asks a yes/no (noul) question about a support message.
Set GATEWAY_BASE_URL to your gateway base URL without a trailing slash and TFY_API_KEY to your TrueFoundry API key.
model that served the request, an answers object keyed by your question IDs, and usage with input_tokens and output_tokens. The same questions on POST /v1/decisions return OpenAI-shaped answers. See Decisions API for both routes, question types, and translation limits.
Cloudflare Workers AI
TypeSafe Jev and Cloudflare Clef also run on Cloudflare Workers AI. Point the TypeSafe account Base URL at your Cloudflare account and use a Workers AI Model ID:
The AI Gateway unwraps Cloudflare’s
{success, result} envelope so the response has the same answers / usage shape as api.typesafe.ai. Clef accepts an extra images field on the System One body; Jev does not.
You still call {GATEWAY_BASE_URL}/v1/systemone (or /v1/decisions) with the TrueFoundry FQN. Do not call /ai/run yourself.