# Usage & observability

> Read request outcomes, latency, and provider-reported token measurements.

Open [Usage](/dashboard/usage) to inspect requests made with your API keys. The dashboard supports 7-day and 30-day views, per-key filtering, daily outcomes, reported token charts, and paginated request details.

## What each request records

* Request ID, API key name, endpoint, model, and start time.
* HTTP status, outcome, and error code when present.
* Total duration and time to first response when measured.
* Provider-reported prompt and completion tokens when supplied.

Prompts, answers, and API key secrets are excluded from usage records.

## Outcomes and HTTP status

| Outcome        | Meaning                                                       |
| -------------- | ------------------------------------------------------------- |
| `completed`    | The request reached its normal terminal response.             |
| `failed`       | Validation, routing, dependency, or generation failed.        |
| `cancelled`    | The client closed the request before completion.              |
| `rate_limited` | An account request or concurrency limit rejected the request. |

A streaming request can return HTTP 200 and still record a failed outcome if generation stops after response headers have been sent. Read the terminal stream event instead of treating the initial status as completion.

## Correlate requests

Chat completions return an `X-Request-Id` header. Log that ID with your application trace and user-visible error reference. Do not log bearer tokens or full prompt content.

## Understand token measurements

Token counts come from the participating provider's runtime and are not independently verified. Missing usage stays missing rather than becoming zero. The usage dashboard is operational history; use the owner-scoped `GET /v1/credits/requests/{request_id}` receipt for the reserved amount, settlement status, accepted provider-reported counts used for charging, and final credits charged.

> **Playground traffic is separate**
> The Playground uses your signed-in account. Its requests do not appear in API-key usage history. Use an application API key when validating production-style telemetry.

For request failures, pair the usage record with the [error code reference](https://router.optimai.network/docs/api/errors.md).
