---
title: "Usage"
description: "Request counts, token breakdowns, and latency for every inference request in a project."
---

`arkor.ai/<org>/<project>/usage` aggregates chat completions made through the project: endpoint traffic, playground messages, and CLI calls alike. One request equals one row, recorded when the request finishes. Only requests that pass ingress validation, authentication, and quota checks are counted — attempts rejected before dispatch (bad API key, malformed body, an Arkor `429` quota rejection) produce no row, so usage is not a record of every call your endpoint received. Requests that fail **after** dispatch do count: a request an external provider rejected with its own `429`/`529` backpressure, or one that failed mid-generation, appears as a failed row.

![The usage dashboard with summary tiles, the daily chart, and the model breakdown](/images/cloud/usage-light.png "www.arkor.ai/oddphin-org/support-bot/usage")
![The usage dashboard with summary tiles, the daily chart, and the model breakdown](/images/cloud/usage-dark.png "www.arkor.ai/oddphin-org/support-bot/usage")

## Summary tiles

- **Requests** in the selected range.
- **Tokens**, split three ways with no overlap: input, output, and reasoning. Output counts only visible completion tokens; reasoning tokens are separated out.
- **Avg TTFT** — time to first token, measured from provider dispatch, with the end-to-end figure (from when Arkor first received the request) shown alongside.
- **Avg total** — full generation time, same two measurements.

## Daily chart

A per-day bar chart over the range, toggleable between request counts and stacked token breakdowns. Days are UTC buckets of request arrival time.

## Breakdown table

Group requests by:

| Dimension | Meaning |
| --------- | ------- |
| `model` | Base model served |
| `deployment` | Which endpoint received the traffic |
| `user` | Cloud / CLI account that made the request |
| `endUser` | Your `X-Arkor-End-User-Id` header values |
| `session` | Your `X-Arkor-Session-Id` header values |

The `endUser` and `session` dimensions are high-cardinality and limited to 31-day windows; on the 90-day preset the dashboard falls back to the model breakdown and says so.

## Filters

- **Range presets:** 24h, 7d, 30d, 90d (UTC).
- **Endpoint filter:** narrow every tile, chart, and breakdown to one endpoint.

## Attributing traffic to your users

To make the `endUser` and `session` dimensions useful, send the attribution headers with your API calls. They are free-form labels, capped at 256 characters, and never affect authorization. See [Attribution headers](/docs/cloud/chat-completions#attribution-headers).
