---
title: "Usage Summary Csv"
method: GET
path: "/v1/usage/summary.csv"
tags: ["usage"]
---

# Usage Summary Csv

`GET /v1/usage/summary.csv`

Download every breakdown the summary reports, as one CSV.

One row per (dimension, key): model, user, API key, source, session
(``source_label``), endpoint, and provider. A dedicated route rather than a
``format=csv`` flag on ``/summary`` so that endpoint keeps a single JSON
response model and a clean OpenAPI schema. The export is **uncapped** (no
top-N fold): finance wants every row. Kept separate from the bare-array
``/v1/usage`` contract, which is untouched.

## Query parameters

- `start_date` string, date-time, nullable — Return logs with timestamp >= start_date (ISO 8601 or Unix epoch seconds)
- `end_date` string, date-time, nullable — Return logs with timestamp < end_date (ISO 8601 or Unix epoch seconds)
- `user_id` string, nullable — Filter to a single user
- `status` string, nullable — Filter to a single status (e.g. 'success' or 'error')
- `model` string, nullable — Filter to a single model
- `endpoint` string, nullable — Filter to a single endpoint (e.g. '/v1/chat/completions')
- `provider` string, nullable — Filter to a single provider (e.g. 'openai')
- `source` string, nullable — Filter to a single provenance source (e.g. 'gateway' or 'claude_code')
- `source_label` string, nullable — Filter to a single session/project label (the source_label carried by imported usage)
- `api_key_id` string, nullable — Filter to a single API key id
- `priced` boolean, nullable — Filter by pricing state: true = only rows with a cost, false = only unpriced rows (cost is null)
- `counts_toward_budget` boolean, nullable — Filter by budget participation: true = only enforced gateway rows, false = only imported rows that never touch a budget

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-03** `18e6c426d62c` — 2 info
  - added the new optional `query` request parameter `provider`
  - added the new optional `query` request parameter `source_label`
- **2026-07-24** `fa738a5ab2a5` — 2 info
  - added the new optional `query` request parameter `counts_toward_budget`
  - added the new optional `query` request parameter `priced`
- **2026-07-23** `2a163c690f59` — 2 info
  - added the new optional `query` request parameter `api_key_id`
  - added the new optional `query` request parameter `source`
- **2026-07-21** `b58ece3074c8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mozilla-ai/apis/otari/changes/v1/usage/summary.csv/get.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mozilla-ai/otari/revisions/d3b3a0f427b2/schema)
