Provided by TypeSafe
Jev API
Jev is a fast inference API built for classification, scoring, and structured decision-making. It can evaluate text or JSON against your instructions, choose between multiple options, assign scores, or make yes/no judgments with confidence probabilities. It’s designed for workflows where you need reliable decisions without the latency and token cost of long-form LLM generation.
Contract snapshot: 2026-09-29. Inspect in Glasser for current terms.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"state",
"questions"
],
"properties": {
"model": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"state": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object"
},
{
"type": "array"
}
]
},
"questions": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": [
"type",
"instructions"
],
"properties": {
"type": {
"enum": [
"noul",
"choice",
"score"
],
"type": "string"
},
"criteria": {
"anyOf": [
{
"type": "object"
},
{
"type": "array"
}
]
},
"instructions": {
"anyOf": [
{
"type": "string",
"maxLength": 20000,
"minLength": 1
},
{
"type": "object"
},
{
"type": "array"
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"state": "I was charged twice for my subscription this month. Please fix this ASAP.",
"questions": {
"urgency": {
"type": "score",
"criteria": [
"Can wait a week",
"Answer within a day",
"Answer within an hour"
],
"instructions": "How urgently does this ticket need a human?"
},
"category": {
"type": "choice",
"criteria": {
"other": "Anything else",
"billing": "Charges, invoices, refunds or payment methods",
"technical": "The product is broken, slow or unavailable"
},
"instructions": "What is this support ticket about?"
},
"asks_for_refund": {
"type": "noul",
"instructions": "The customer is asking for money back."
}
}
}This Endpoint publishes no output schema. You get the Provider's own response body, unchanged — we do not warrant a shape we cannot guarantee.
How to run it
Two fields identify it: the Provider and the endpoint key. The key looks like a path because it usually mirrors the Provider's own, but it is an opaque identifier — not a URL you can open. The same provider:endpoint pair is what your Policy lists.
Once: paste this into your agent's chat. The Skill installs the CLI and logs in by itself. For an agent that cannot use a shell, connect it over MCP instead.
set up https://glasser.ai/SKILL.mdThen ask for this Endpoint:
Run the TypeSafe Endpoint /v1/systemone on Glasser with input {"state":"I was charged twice for my subscription this month. Please fix this ASAP.","questions":{"urgency":{"type":"score","criteria":["Can wait a week","Answer within a day","Answer within an hour"],"instructions":"How urgently does this ticket need a human?"},"category":{"type":"choice","criteria":{"other":"Anything else","billing":"Charges, invoices, refunds or payment methods","technical":"The product is broken, slow or unavailable"},"instructions":"What is this support ticket about?"},"asks_for_refund":{"type":"noul","instructions":"The customer is asking for money back."}}}glasser run -p typesafe -e '/v1/systemone' -i '{"state":"I was charged twice for my subscription this month. Please fix this ASAP.","questions":{"urgency":{"type":"score","criteria":["Can wait a week","Answer within a day","Answer within an hour"],"instructions":"How urgently does this ticket need a human?"},"category":{"type":"choice","criteria":{"other":"Anything else","billing":"Charges, invoices, refunds or payment methods","technical":"The product is broken, slow or unavailable"},"instructions":"What is this support ticket about?"},"asks_for_refund":{"type":"noul","instructions":"The customer is asking for money back."}}}' --endpoint-version 1Pinned to version 1, the one this page shows: if a newer version is published first, the Run is refused instead of charged under new terms. Install and log in first on Get Started.
Once per Run:
IDEMPOTENCY_KEY=$(uuidgen)Run it, and copy this same block to send it again:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"typesafe","endpoint":"/v1/systemone","input":{"state":"I was charged twice for my subscription this month. Please fix this ASAP.","questions":{"urgency":{"type":"score","criteria":["Can wait a week","Answer within a day","Answer within an hour"],"instructions":"How urgently does this ticket need a human?"},"category":{"type":"choice","criteria":{"other":"Anything else","billing":"Charges, invoices, refunds or payment methods","technical":"The product is broken, slow or unavailable"},"instructions":"What is this support ticket about?"},"asks_for_refund":{"type":"noul","instructions":"The customer is asking for money back."}}},"endpoint_version":1}'Reuse the same Idempotency-Key to send it again: the second send is a read of the first Run. A new key is a new Run and a new Charge. Pinned to version 1 for the same reason as the CLI.
What each outcome charges
| No result | The Provider answered: nothing matched. | $0.00 |
|---|---|---|
| Provider error | The Provider failed to answer. | $0.00 |
| Timed out | The deadline won. | $0.00 |
| Internal failure | Our defect. | $0.00 |