---
title: "Get Latency Distribution"
method: GET
path: "/api/latency_distribution"
---

# Get Latency Distribution

`GET /api/latency_distribution`

Get latency distribution with percentiles (p1, p5, p10, p25, p50, p75, p90, p95, p99)
aggregated by day and model.

Returns latency percentiles for:
- proxy_latency: Time from request received to upstream call initiated
- ttft_latency: Time from upstream call to first byte received (Time To First Token)

Defaults to the caller's own data. Admin users (with @quadrillion.io email)
may opt into cross-user data by passing user_id (specific user) or
all_users=true (everyone). Non-admin requests for other users' data are
silently scoped to the caller.

## Query parameters

- `user_id` integer, nullable — Filter by user ID (admin only)
- `all_users` boolean — Return data for all users (admin only opt-in)
- `model` string, nullable — Filter by model name
- `start_date` string, date-time, nullable — Start date (ISO 8601)
- `end_date` string, date-time, nullable — End date (ISO 8601)

## Response `200`

Successful Response

- LatencyDistributionResponse — Response model for latency distribution query.
  - `buckets` LatencyDistributionBucket[], required — Latency distributions by day and model
    - `date` string, date, required — The date for this bucket
    - `model` string, nullable — Model name
    - `proxy_latency` LatencyPercentiles, required — Percentile values for a latency metric (in milliseconds).
      - `p1` number, nullable — 1st percentile
      - `p5` number, nullable — 5th percentile
      - `p10` number, nullable — 10th percentile
      - `p25` number, nullable — 25th percentile
      - `p50` number, nullable — 50th percentile (median)
      - `p75` number, nullable — 75th percentile
      - `p90` number, nullable — 90th percentile
      - `p95` number, nullable — 95th percentile
      - `p99` number, nullable — 99th percentile
      - `count` integer, required — Number of samples
    - `ttft_latency` LatencyPercentiles, required — Percentile values for a latency metric (in milliseconds).
      - `p1` number, nullable — 1st percentile
      - `p5` number, nullable — 5th percentile
      - `p10` number, nullable — 10th percentile
      - `p25` number, nullable — 25th percentile
      - `p50` number, nullable — 50th percentile (median)
      - `p75` number, nullable — 75th percentile
      - `p90` number, nullable — 90th percentile
      - `p95` number, nullable — 95th percentile
      - `p99` number, nullable — 99th percentile
      - `count` integer, required — Number of samples

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/quadrillion/quadrillion-cloud-api/versions/399077308c86/schema)
