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 requirestypeandinstructions.
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
Route a support request
answers.team:
Score urgency
answers.urgency:
Choose a model
Discover evaluation models with: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 containsmodel, 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.