# UsageTokenTotals

Tokens by type.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `input` | `integer` | Input tokens, as the provider reported them. |
| `output` | `integer` | Output tokens the model wrote, reasoning included. |
| `cacheRead` | `integer` | Input tokens read from the provider's prompt cache. |
| `cacheWrite` | `integer` | Input tokens written to the provider's prompt cache. |
| `reasoning` | `integer` | Reasoning tokens: part of `output`, for the providers that report them. |
| `total` | `integer` | Input, output, cache reads and cache writes together. Reasoning is inside output, so it is not added again. Set by Maitento. |

## Example

```json
{
  "input": 0,
  "output": 0,
  "cacheRead": 0,
  "cacheWrite": 0,
  "reasoning": 0,
  "total": 0
}
```

## Where it's used

- Inside [`UsageRunRow`](https://docs.maitento.com/reference/types/usage-run-row.md)
- Inside [`UsageTotals`](https://docs.maitento.com/reference/types/usage-totals.md)
