> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Decisions Question Types

> Define predicates, choices, and scores and interpret the answers from Decisions

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.

| Type | Use it for | Result |
| - | - | - |
| `noul` | A statement that can be true or false | Estimated probability from 0 to 1 |
| `choice` | Selecting from named categories | One criteria key and probabilities for the options |
| `score` | Rating against ordered criteria | Probability-weighted mean of the level indices |

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.

```json theme={"system"}
{
  "state": {"company": "Clay", "website": "https://www.clay.com"},
  "questions": {
    "has_cli": {
      "type": "noul",
      "instructions": "Does Clay offer an official command-line interface (CLI)?",
      "criteria": {
        "true": "Clay documents an official CLI as available.",
        "false": "Clay explicitly states that no official CLI is available."
      }
    }
  }
}
```

The answer at `answers.has_cli` has this shape:

```json theme={"system"}
{
  "type": "noul",
  "noul": 0.98
}
```

`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.

```json theme={"system"}
{
  "state": {"company": "Clay", "website": "https://www.clay.com"},
  "questions": {
    "cli_availability": {
      "type": "choice",
      "instructions": "What is the availability of Clay's official CLI? Select unknown when evidence is insufficient.",
      "criteria": {
        "documented": "Clay publicly documents an official CLI.",
        "unavailable": "Clay explicitly states that no official CLI is offered.",
        "unknown": "The evidence does not establish whether Clay offers an official CLI."
      }
    }
  }
}
```

The answer at `answers.cli_availability` includes the selected key and the option probabilities:

```json theme={"system"}
{
  "type": "choice",
  "choice": "documented",
  "probabilities": {
    "documented": 0.97,
    "unavailable": 0.01,
    "unknown": 0.02
  }
}
```

## Scores

Use `type: "score"` and an ordered `criteria` list with 2–10 levels. Give each level a
concrete description.

```json theme={"system"}
{
  "state": {"company": "Clay", "website": "https://www.clay.com"},
  "questions": {
    "cli_fit": {
      "type": "score",
      "instructions": "Assess whether Clay's CLI supports a workflow that needs both company search and record enrichment.",
      "criteria": [
        "Neither company search nor record enrichment is documented for the CLI.",
        "Exactly one of company search and record enrichment is documented for the CLI.",
        "Both company search and record enrichment are documented for the CLI."
      ]
    }
  }
}
```

The answer at `answers.cli_fit` includes the score, a legend, and probabilities:

```json theme={"system"}
{
  "type": "score",
  "score": 1.7,
  "legend": {
    "0": "Neither company search nor record enrichment is documented for the CLI.",
    "1": "Exactly one of company search and record enrichment is documented for the CLI.",
    "2": "Both company search and record enrichment are documented for the CLI."
  },
  "probabilities": {
    "0": 0.1,
    "1": 0.1,
    "2": 0.8
  }
}
```

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:

```json theme={"system"}
{
  "type": "refusal"
}
```

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](https://docs.parallel.ai/decisions/best-practices.md) for input limits and evidence handling,
or return to the [Quickstart](https://docs.parallel.ai/decisions/decisions-quickstart.md).
