API
Endpoint, request shape, SDKs, aliases, and the first working call.
Endpoint, request shape, SDKs, aliases, and the first working call.
Actions are verbs your code executes after Jev answers. The API does not document an action field that runs tools.
Test Jev integrations with the Playground, official examples, and fixture-based contract tests — not live keys on jev.pro.
Async Jev jobs are your workers. The public API is a synchronous POST /v1/systemone.
There is no documented Jev batch HTTP endpoint — batch many questions or loop states yourself.
Bulk import of states is your ETL plus a paced loop of official evaluation calls.
Citation checks are Choice questions over source text. No documented Jev cite endpoint.
Classification uses Choice (or Noul) on POST /v1/systemone — not a separate classify URL.
Choice and Score answers include confidence and probabilities. Noul returns only noul.
Jev evaluation requests use application/json. State is text-shaped JSON — no image or audio content types.
POST /v1/systemone field table, jev-1.13 vs jev-1.13.0, and what the response model id means. Cite docs.typesafe.ai only.
JSON error body plus a symptom tree. 402 and customer_verification are channel callouts, not a cloned per-status IA.
Evaluate with the documented System One route. An extra /evaluate URL is not in the public API reference.
Evidence lives in state you send. Jev responses do not document a separate evidence array.
Jev does not document an explain endpoint. It does not generate reasoning text — log probabilities instead.
Extraction is a cookbook pattern (candidates in code, Jev selects). No documented extract HTTP route.
No documented Jev feedback HTTP route. Store reviewer labels in your system; Jev is not fine-tuned per customer.
TypeSafe does not document a public Jev health route — probe via GET /v1/models or a canary evaluation.
Human-review fields belong in your review API. Jev returns confidence you can use to hold a case.
Idempotency for Jev is an application concern — the public API reference does not document idempotency keys.
Put your metadata in state or in your database. The public Jev request schema does not document a metadata bag that changes inference.
Moderation is Choice/Noul/Score questions you define — there is no documented Jev moderate endpoint.
System One responses are not paginated. List-style pagination is not documented on the evaluation API.
Policy decisions are your rules on Jev answers. No documented policy HTTP endpoint.
Published Jev rate limits: 250,000 tokens/second and 1,200 requests/minute. 429 when exceeded; limits can change.
Replay a Jev decision by storing the original request and calling POST /v1/systemone again. No documented replay route.
Developer field table for state, model, and questions — including structured instructions and jev-1.13 vs jev-1.13.0.
Learn the documented Jev response schema: resolved model, answers map, and token usage.
OpenAPI-style map of Jev answers: noul, choice, score, usage, and the jev-1.13 vs jev-1.13.0 model field.
Retry Jev 429 and 529 with exponential backoff. Official SDKs implement RetryPolicy; do not retry 401 or 422.
Routing is an application pattern: Jev Choice/Noul plus your handlers. No documented /route endpoint.
Scoring uses the Score primitive on the System One endpoint, not a dedicated score HTTP route.
Integrate official TypeSafe SDKs: typesafe-sdk (Python) and @typesafe-ai/sdk (JavaScript).
Jev is not a search API. Use your retriever, then score hits with System One questions.
There is no documented Jev job-status endpoint. Persist status in your store after POST /v1/systemone.
Jev has no documented streaming evaluation endpoint. Use the synchronous System One JSON response.
Configure Jev client timeouts via official SDKs. The HTTP error table does not define a timeout status code.
Trace Jev calls with your correlation ids. The public API does not document a required trace header.
Validation is 422 on the wire plus your own checks. No documented Jev validate endpoint.
Jev versioning: /v1/ on the HTTP path and jev-* model aliases. Pin versioned model ids when thresholds matter.
Verify signatures on webhooks you receive. TypeSafe does not document a Jev webhook signature scheme.
401, 422, 429, and 529 are the documented HTTP failures. Official SDKs back off; raw HTTP must do the same.
jev-1.13.0 is the versioned model. jev-latest and jev-preview currently resolve to it. Pin versions when thresholds matter.
Required fields: model, state, questions. Each question has type, instructions, and type-specific criteria.
Responses echo a resolved model id, an answers map keyed like your questions, and token usage.
One evaluation URL: POST /v1/systemone. List aliases with GET /v1/models. Same host: api.typesafe.ai.
Official skill for Claude Code and other agents: batch questions, use primitives, stop one-call-per-question habits.
npm install @typesafe-ai/sdk on Node 20+. TypeSafeClient.systemOne infers answer types from your questions.
pip/uv install typesafe-sdk. TypeSafeClient and AsyncTypeSafeClient read TYPESAFE_API_KEY and default to jev-latest.
POST https://api.typesafe.ai/v1/systemone with a bearer key, jev-latest, a state string, and one Noul.