Skip to main content
TypeSafe System One evaluates text or structured context against named questions. Use it to detect intent, route a support request, or score urgency. Opper preserves TypeSafe’s native answers, including probabilities, confidence, and score legends. Send requests to POST https://api.opper.ai/v3/compat/v1/systemone with your project-scoped Opper API key. TypeSafe credentials are managed by Opper. A paid plan is required, and your project’s model access rules and provider access requirements apply. Existing TypeSafe HTTP clients can change their base URL to https://api.opper.ai/v3/compat and authenticate with Authorization: Bearer $OPPER_API_KEY. Send the native state and questions format to /v1/systemone.

Question types

Every request contains:
  • model: a TypeSafe model ID.
  • state: the context to evaluate, as a string, object, or array.
  • questions: a nonempty object of named questions. Each question requires type and instructions.
choice requires a criteria object with 1–255 categories. score requires an ordered criteria array with 2–10 levels. noul does not require criteria; you can optionally describe the true and false outcomes in a criteria object. You can include several questions in one request. Answers use the same keys as your questions.

Examples

Set a project API key from the platform:

Detect a refund request

Example response:
Choose a probability threshold in your application if you need a Boolean decision. Opper returns the probability without applying a threshold.

Route a support request

An example answers.team:

Score urgency

An example answers.urgency:
With these three levels, scores range from 0 to 2. Answers and token counts can vary between calls.

Choose a model

Discover evaluation models with:
Use typesafe/jev-1.13.0 to select the catalog endpoint for Jev 1.13. Native names such as jev-1.13.0, jev-latest, and jev-preview also resolve to TypeSafe catalog entries. The qualified aliases typesafe/jev-latest and typesafe/jev-preview are supported too. Aliases follow Opper’s approved catalog mapping. They do not automatically follow a new upstream TypeSafe release. The response’s model identifies the upstream model that answered. Jev 1.13 has a 64k total context limit, with a separate 32k limit for the state plus the longest question. TypeSafe enforces these limits using its own tokenizer.
Use the System One endpoint for evaluation models. Chat Completions and the other generation protocols do not accept these models. This endpoint accepts synchronous text and structured context; streaming, tools, and additional request fields are unsupported.

Usage, cost, and traces

The native response contains model, answers, and usage.input_tokens / usage.output_tokens. Opper does not add a response envelope. Billing uses the selected endpoint’s catalog input and output token prices. See the model catalog for current pricing. Add -i to a curl call to see these response headers: Usage and billing are recorded for successful calls. Full input/output traces depend on your Opper retention rule. Provider data policies are configured separately through model access; EU gateway hosting does not make every provider EU-hosted.

Errors

See the API reference for the request and response schemas, or TypeSafe’s API documentation for the native protocol.