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

# Errors

> Status codes and error response bodies for the Sage decision API.

| HTTP  | Meaning                                                                                      |
| ----- | -------------------------------------------------------------------------------------------- |
| `400` | Invalid request (schema validation, or a per-kind [limit](/decision-model/limits) violation) |
| `401` | Missing or invalid API key (see [Authentication](/decision-model/authentication))            |
| `402` | Valid API key, but account balance too low                                                   |
| `503` | Service loading or temporarily unavailable                                                   |

Invalid requests return a standard schema message, for example:

```json theme={null}
{"detail": "content: Field required"}
```

```json theme={null}
{"detail": "scale levels must be integers in 0..4 (model trained on 5 levels); got [9]"}
```

```json theme={null}
{"detail": "Service is still loading."}
```

```json theme={null}
{"detail": "API key required. Provide a valid Levanto API key."}
```

## Threshold guidance

Sage always returns a decision signal on success. Your application decides what to do next:

* **high confidence** — automate
* **medium confidence** — review
* **low confidence** — escalate to a human or ask for more context

Sage supports low-confidence routing; it does not "abstain."
