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

> ## Agent Instructions
> Krun API base URL: https://api.krun.ai. Authenticate server-side with `Authorization: Bearer $KRUN_API_KEY`; never put a Krun API key in browser code.
> Prefer the Python SDK in examples: `pip install krun-ai`, `from krun import Krun`. The TypeScript SDK `@krun-ai/sdk` is not published on npm yet: do not tell users to `npm install` it.
> The only question type is `choice`. `confidence` is the top-1 minus top-2 probability margin, not the probability that the answer is correct. `choice` is null when `abstain` is true.
> Usage reports `input_tokens` only. There are no output tokens.

# Multi

> Upcoming in Krun One V1: select every option that applies, with an independent probability per option. Not yet available on api.krun.ai.

<Warning>
  **Upcoming.** The `multi` question type ships with Krun One V1 and is not yet available on api.krun.ai. Until it is,
  ask one [`noul`](/concepts/primitives/noul) question per label.
</Warning>

A `multi` question selects **every option that applies** to the context. Each option gets its own probability. It
works with text and with [multimodal inputs](/concepts/multimodal-inputs).

## Example

```json theme={null}
{
  "context": "Invoice #4471, due 2026-08-01. Payment reminder: this invoice is 30 days overdue.",
  "questions": {
    "tags": {
      "type": "multi",
      "instructions": "Select every label that applies to the document.",
      "options": {"invoice": null, "receipt": null, "overdue": null}
    }
  }
}
```

The answer has the selected option ids and a probability per option (values below are illustrative):

```json theme={null}
{
  "tags": {
    "type": "multi",
    "values": ["invoice", "overdue"],
    "probabilities": {"invoice": 0.97, "receipt": 0.04, "overdue": 0.93}
  }
}
```

## Question fields

| Field | Required | Description |
| - | - | - |
| `type` | Yes | `"multi"` |
| `options` | Yes | Map of option id to description, 2 to 64 options. Use `""` or `null` for label-only options. |
| `instructions` | No | What to select, 1 to 1,000 characters, for example "Select every element present in the document". |

## Answer fields

| Field | Description |
| - | - |
| `type` | `"multi"` |
| `values` | The option ids that apply, in request order. Can be empty. |
| `probabilities` | Probability that each option applies, in \[0, 1], in request order. |

The probabilities are **independent**: they don't sum to 1. Several options can be close to 1, or none can. To use your
own threshold instead of `values`, read `probabilities` directly.

## Multi, choice or noul

* Exactly one option applies: [`choice`](/concepts/primitives/choice).
* Any number of options can apply: `multi`.
* A single yes/no proposition: [`noul`](/concepts/primitives/noul).
