Skip to main content
The questions object maps names you choose to questions. The answers object uses the same names, so your application can retrieve a result without relying on its position. All three types can return a refusal instead of an answer. Examples on this page show illustrative outputs.

Predicates

Use type: "noul" for a condition such as whether a product supports a feature. Provide instructions and, optionally, criteria with both true and false descriptions.
The answer at answers.has_cli has this shape:
noul estimates the probability that the statement is true. Do not treat missing evidence as proof that it is false. If your application needs an explicit insufficient-evidence outcome, use a choice question with an unknown option.

Choices

Use type: "choice" and a criteria object with 2–255 options. Each key is a possible output value; each description explains when that option applies.
The answer at answers.cli_availability includes the selected key and the option probabilities:

Scores

Use type: "score" and an ordered criteria list with 2–10 levels. Give each level a concrete description.
The answer at answers.cli_fit includes the score, a legend, and probabilities:
Levels are indexed from zero. The score is their probability-weighted mean, so it can be fractional: 0 × 0.1 + 1 × 0.1 + 2 × 0.8 = 1.7. It ranges from zero to the number of levels minus one. The legend and probabilities use string indices.

Refusals

For any question type, an unanswered question can have this answer:
A downstream provider can return a refusal, including because of safety filtering. A refusal does not contain a value or probabilities. Handle it as a separate outcome; do not turn it into a negative predicate, the first choice, or a zero score. Other questions in the same response can still have answers.

Multiple Questions

Add more named questions to the same questions object to mix types. Each request supports 1–100 questions over one shared evidence set. Group questions about a single entity or related topic, and send separate requests for unrelated entities. See Best Practices for input limits and evidence handling, or return to the Quickstart.