# Question types

Choose the smallest question that expresses your decision.

All question types use `POST /v1/decide`. Supply a `model`, a nonblank `situation`, and a clear `question`. Set `type` explicitly in new integrations.

| Type | Request-specific field | Result-specific field |
| --- | --- | --- |
| [`choice`](/primitives/choice) | `options`: 2–255 named alternatives | `choice`, `probabilities` |
| [`score`](/primitives/score) | `levels`: 2–10 ordered levels, numeric string IDs from 1 through 10 | `expected_score`, level probabilities |
| [`noul`](/primitives/true-false) | No options or levels; ask one true/false proposition | `probabilities.true`: probability of true |

Every type returns `choice`, `probability` (of the chosen answer), `probabilities`, `action`, `threshold`, `gate`, and `usage`. `choice` is always a string ID, including numeric levels and `true` or `false`.

The model chooses among supplied answers. Include a real fallback option when your categories are not exhaustive; there is no hidden abstention class. A routing action of `ask_human` is separate from an answer option.

Unknown fields are rejected. Few-shot `examples` are not supported: omit that field. Text-only decisions are documented here; do not send image assets or multipart bodies.
