Skip to main content
Jev evaluates text or JSON against a set of questions and returns a structured answer for each question. Questions in one request share the same state. Send these fields with input to Create a Run. Use Inspect for the current input schema and Price. See API overview for authentication and Run handling.

Input

Each question has a type, instructions that describe what to evaluate, and criteria where required: Answers are returned in output.answers, keyed by the question IDs. See the TypeSafe API reference for question and answer formats.

Example

This request evaluates two statements about the same support ticket:

Token limits

Batch size depends on the content in state and the questions. Jev 1.13 checks both limits: Question content includes instructions and criteria. Token counts differ from character counts. See TypeSafe’s model limits for other model versions and current rate limits.

Provider errors

Read Jev’s HTTP status from provider_response.http_status and its error body from provider_response.error. A token-limit rejection has HTTP status 400 and this body:
The error does not identify which limit was exceeded. Shorten state or the longest question to meet the 32k limit; shorten or split the questions to meet the 64k total limit. Use a new Idempotency-Key for the revised request. Jev returns 429 for rate limits and 529 for temporary overload. Back off before creating a new Run. See Run response handling for status fields and retries.

Pricing

Jev charges for input tokens; output tokens are free. Each batch includes and bills state again. Token-limit rejections with no token usage have no Charge. Inspect the Endpoint for Glasser’s current Price. The Run’s charge_usd field contains its actual Charge.