Jev
Call TypeSafe's decision model through an HTTP integration
[Jev](https://docs.typesafe.ai/introduction) is TypeSafe's model for making
structured decisions from text. You send state and typed questions, and Jev
returns values your code can use directly.
Create an [HTTP proxy integration](/docs/integrations-http-proxy) so the API
key stays outside your VM. Get a key from the
[TypeSafe dashboard](https://console.typesafe.ai/keys), export it in your local
shell, and attach the integration to your VM:
```bash
printf '%s' "$TYPESAFE_API_KEY" | \
ssh exe.dev integrations add http-proxy \
--name typesafe \
--target https://api.typesafe.ai \
--bearer=- \
--attach vm:<vm-name>
```
From the attached VM, call the integration hostname instead of
`api.typesafe.ai`. The proxy adds the bearer token before forwarding the
request:
```bash
curl --fail-with-body https://typesafe.int.exe.xyz/v1/systemone \
--json '{
"state": "My payout has been delayed for three days. Please help ASAP.",
"model": "jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this message express urgency?"
}
}
}'
```
The response contains an `answers.is_urgent.noul` value between `0` and `1`.
See TypeSafe's [API reference](https://docs.typesafe.ai/api) for Choice, Score,
and Noul questions.