---
title: "Get usage breakdown"
method: GET
path: "/api/v1/usage/breakdown"
tags: ["Cost Controls"]
---

# Get usage breakdown

`GET /api/v1/usage/breakdown`

## Request

- Base URL: `https://orchestrator.getaxonflow.com`
- URL: `https://orchestrator.getaxonflow.com/api/v1/usage/breakdown`
- Auth: none declared. Required headers: `X-Org-ID`
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/docs/api/v1/usage/breakdown/get.ts> (a function with typed inputs; its response is checked against the schema)

Get usage broken down by a specific dimension.

Enterprise only. These routes are not registered in Community
edition, which returns 404 Not Found.

## Query parameters

- `group_by` 'provider' | 'model' | 'agent' | 'team' | 'user', required
- `period` 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly'

## Headers

- `X-Org-ID` string, required

## Response `200`

Usage breakdown

- UsageBreakdown
  - `group_by` string
  - `total_cost_usd` number, double
  - `items` UsageBreakdownItem[]
    - `group_by` string: Dimension name (provider, model, agent, etc.)
    - `group_value` string: Value of the dimension
    - `cost_usd` number, double
    - `tokens_in` integer
    - `tokens_out` integer
    - `request_count` integer
    - `percentage` number, double
  - `period` string: Bucket label for the rolled-up period (e.g. `2026-04`, `2026-W17`). Same field as `UsageSummary.period`.
  - `period_start` string, date-time: Inclusive start of the rolled-up period.
  - `period_end` string, date-time: Exclusive end of the rolled-up period.

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/revisions/f408ef3ec9dd?raw)
