---
title: "Request details API: usage, charge and timing per request"
description: "Look up a single request by its ID: normalized token usage, the customer charge, cache fields and public timing."
source: https://lazu.ai/docs/endpoints/usage-requests
updated: 2026-10-02
---

# Request details

**GET** `/api/usage/requests/{request_id}`

Fetch the customer receipt for one completed request, including normalized usage dimensions, billing line items and public timing.

## Example request

```bash
curl https://api.lazu.ai/api/usage/requests/req_lazu_01ABCDEF \
  -H "Authorization: Bearer $LAZU_API_KEY"
```

## Example response

```json
{
  "object": "usage.request",
  "id": "req_lazu_01ABCDEF",
  "created_at": 1765980000,
  "model": "gpt-6-luna",
  "endpoint": "/v1/chat/completions",
  "usage": {
    "prompt_tokens": 1200,
    "completion_tokens": 300,
    "total_tokens": 1500,
    "dimensions": [
      { "name": "input", "quantity": 1200, "unit": "token" },
      { "name": "cache_read", "quantity": 300, "unit": "token" },
      { "name": "output", "quantity": 300, "unit": "token" }
    ]
  },
  "billing": {
    "currency": "USD",
    "amount_microusd": 480,
    "pricing_version": 3,
    "line_items": [
      {
        "dimension": "input",
        "quantity": 1200,
        "unit_microusd": 150,
        "amount_microusd": 180
      }
    ]
  },
  "routing": {
    "status_code": 200,
    "total_duration_ms": 1840,
    "ttft_ms": 420,
    "was_streaming": true
  },
  "provider_usage": {
    "family": "openai",
    "raw_fields": { "prompt_tokens": 1200, "completion_tokens": 300 }
  },
  "log_id": "log_01ABCDEF"
}
```

## Path parameters

- `request_id` `string` (required) — Request ID for a request made by the same API key. Lazu rejects attempts to
  read another key's request details.

## Response fields

- `id` `string` — The requested request ID.
- `model` `string` — Requested model or route name.
- `usage.measurement` `object` (optional) — Input and output provenance: `provider`, `local_estimate`, or `unavailable`. This optional field is absent on historical or unclassified records; absence does not prove provider measurement.
- `usage.dimensions` `object[]` — Normalized dimensions such as `input`, `output`,
  `cache_read`, `cache_write_5m`,
  `cache_write_1h`, `cache_miss`, audio and image
  dimensions.
- `billing.line_items` `object[]` — Billable usage lines with price, quantity and total charge.
- `routing` `object` (optional) — Public status and timing only. Internal routing decisions and provider identities are not exposed.

## Cache field guidance

OpenAI-compatible responses may show cache reads as

`usage.prompt_tokens_details.cached_tokens` or
`usage.input_tokens_details.cached_tokens`. Cache writes may appear
as `cache_write_tokens`, `cache_write_5m_tokens` or
`cache_write_1h_tokens` only when the upstream reports them.

For billing and reconciliation, this endpoint is the more complete source.

## See also

- [Billing and cache fields](https://lazu.ai/docs/billing)
- [Model catalog](https://lazu.ai/docs/models/catalog)
- [Chat completions](https://lazu.ai/docs/endpoints/chat)
