---
title: "AI Gateway: Jev from TypeSafe"
description: "Add TypeSafe's Jev as a provider and send typed questions to its System One endpoint, with app auth, budgets, and cost tracking."
canonicalUrl: "https://zuplo.com/changelog/2026/10/20/ai-gateway-jev"
pageType: "changelog"
date: "2026-10-20"
tags: "runtime, portal, policy"
---
You can now add Jev, TypeSafe's System One model, as a provider in AI Gateway.
Jev doesn't generate text. You send it a piece of text, called the state, and a
set of typed questions, and it returns a calibrated answer for each one. The
gateway sits in front of TypeSafe's API with your own TypeSafe key, so System
One requests get the same app authentication, model filtering, budgets, and cost
tracking as the rest of your AI traffic.

## Add Jev as a provider

In your AI Gateway project, open **Settings → AI Providers**, click **Add
Provider**, select **Jev**, and paste your TypeSafe API key. The catalog has
three models, referenced under the provider name (`jev` by default):

- `jev/jev-latest`: TypeSafe's most recent stable release
- `jev/jev-1.13.0`: a specific release, for when you tune confidence thresholds
  against one version
- `jev/jev-preview`: TypeSafe's most recent release, stable or not

{/* ![Add Provider dialog in AI Gateway settings with Jev selected as the AI Provider, the jev provider name, and the three Jev models](../public/media/changelog/2026-10-20-ai-gateway-jev/add-jev-provider.png) */}

## Ask typed questions on the System One endpoint

Jev has its own endpoint, `/v1/systemone`, under your app's URL. Each request
carries a `state` and a set of named `questions`, and the question type decides
the answer:

- **`noul`**: a yes-or-no question, answered with a probability between 0 and 1
- **`choice`**: picks one of the options you define, with a probability for each
  option and a confidence
- **`score`**: places the state on a scale you define, with a probability for
  each level and a confidence

```bash
curl https://APP_URL/v1/systemone \
  -H "Authorization: Bearer $ZUPLO_APP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev/jev-latest",
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "urgent": { "type": "noul", "instructions": "Does this convey urgency?" },
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this?",
        "criteria": { "billing": "Payments and invoices", "technical": null }
      }
    }
  }'
```

Replace `APP_URL` with the API URL shown on your app's page. TypeSafe's
JavaScript SDK also works: set its `baseURL` to the app URL without `/v1`, and
use the app's API key. The gateway forwards the request body and returns
TypeSafe's response unchanged, apart from the `model` field it sets on the way
in.

## Pricing and budgets

Requests are priced from the model catalog at TypeSafe's rate: $0.042 per
million input tokens, with output free. Usage is recorded in the gateway's
analytics, and every request counts toward the app's token, request, and
spending budgets.

## Current limitations

- Jev models serve only `/v1/systemone`. Chat Completions, Responses, Messages,
  and embeddings refuse them, and the default `/v1/models` list leaves them out.
  Send the `x-zuplo-models-endpoint: systemone` header to list them.
- Data Loss Prevention, Akamai AI Firewall, and Prompt Injection Protection
  can't inspect System One requests yet, so they block them by default with
  `guardrail_uninspectable`. Set `onUnknownShape` to `skip` to forward them
  uninspected.

## Getting started

You need a TypeSafe API key from the
[TypeSafe console](https://console.typesafe.ai/keys). The
[Jev documentation](https://zuplo.com/docs/ai-gateway/jev) covers setup, the
full request and response format, the TypeSafe SDK, and how each policy behaves
on System One routes.