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

# Models

> Krun One v0.3 is the model behind the Krun API. List available models with GET /v1/models.

## Krun One v0.3

|                     |                                                            |
| ------------------- | ---------------------------------------------------------- |
| Model id            | `krun-one-v0.3`                                            |
| Status              | `available`                                                |
| Question types      | [`choice`, `noul`, `score`](/concepts/decision-primitives) |
| Task types (choice) | `intent` (default), `tool`                                 |
| Usage reported      | `input_tokens`                                             |

Krun One v0.3 is the default for every request. You don't need to set `model` in a request. If you do, use `krun-one-v0.3`; requests that still send `krun-one-v0` are accepted and answered by Krun One v0.3, which gives the same `choice` answers format.

Krun One is a decision model: it reads the context together with each question and scores the possible answers (options, true/false, or levels) against each other. It does not generate text. That is why every answer is one of your option ids, a probability or a distribution over your levels, and why usage reports only [input tokens](/concepts/usage-and-tokens).

Krun One v0.3 continues Krun One v0: it keeps v0's `choice` accuracy and adds [`noul`](/concepts/primitives/noul) and [`score`](/concepts/primitives/score), trained on public intent, function-calling, moderation and response-quality datasets. See [Benchmarks](/benchmarks) for how it was evaluated and [Limitations](/limitations) for what to watch out for.

## List models

<CodeGroup>
  ```python Python theme={null}
  from krun import Krun

  client = Krun()
  for model in client.models():
      print(model.id, model.status)  # krun-one-v0.3 available
  ```

  ```bash curl theme={null}
  curl https://api.krun.ai/v1/models \
    -H "Authorization: Bearer $KRUN_API_KEY"
  ```
</CodeGroup>

```json Response theme={null}
{
  "object": "list",
  "data": [
    { "id": "krun-one-v0.3", "object": "model", "status": "available" }
  ]
}
```

See [`GET /v1/models`](/api-reference/models) in the API reference.
