Skip to main content
Two pages cover this. Usage is the aggregate view, charts and totals. Metrics is the raw log, one row per request.

Usage

Everything here is scoped to the current workspace and to a date range you pick. Requests over time, split by model. Cost over time, in US dollars. Token split across input, output, cached read and cache creation. Model breakdown, a table of every model you called with its requests, tokens and cost. Distribution, which share of the workspace each model accounts for. The budget panel sits here too, showing spend against the workspace cap for the current month. See Quotas. You can filter to a single API key, which is the practical way to answer what one application is costing you.

Export

Any range exports as CSV or JSON, one row per request, carrying the model, the key that made the call, tokens, cost, latency and whether it succeeded.

Metrics

The request log. Every call through the gateway lands here, successful or not, including the ones that were refused before reaching a provider. On a narrow screen each row folds into two lines. Rows page 30 at a time by default, or 10, 50 or 100. Sort by time, latency, status or method, in either direction.

Search and filters

All, Success and Errors above the list narrow it to every request, statuses below 400, or 400 and above. Plain text in the search box matches the endpoint, the key name, the address and the method. Name a field to search only that one, and mix fields with plain text freely: Put ! in front of a value to leave it out. For example chat status:>=500 response_time:>5000 finds slow server errors on chat completions.

Origin

Calls made from your own code show their public address. Calls from our own products show a label instead: From chat for anything the chat product issued, From the SDK for an SDK client, Internal for a call that never left our network.
Because the gateway sits behind Cloudflare, the address shown is the original client address rather than the edge one.

Blocked requests

A blocked row tells you why in plain language: a plan limit, a workspace budget, a quota rule, a request too large, too many at once. Nothing is charged for a blocked request, but it is still logged, which is what lets you see a client hammering a limit.

Detail

Opening a row shows the full record: the request, the response with any blocked reason, and every model used within that request with its own tokens, cost and latency. Request ids and reasons can be copied, and Copy as JSON copies the whole record. A single gateway call can involve more than one model when a mapping or a workflow routes it.

What is not here

Metrics record what a request was and what it cost. They do not record prompt or response content. Message bodies are never written to this log.