---
title: "Get monthly usage and credits per billable unit"
method: GET
path: "/test_framework/billing/unit-usage-report/"
tags: ["test_framework"]
---

# Get monthly usage and credits per billable unit

`GET /test_framework/billing/unit-usage-report/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/test_framework/billing/unit-usage-report/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer

Returns an organization's usage per billable unit (voice and text simulations, monitored calls, metric evaluations, triage, insights, Labs and AI metric building) with the credits billed for each, one column per calendar month (UTC) plus a total. The range may span at most 12 months. Each row's `values` maps a month (`YYYY-MM`) to a number; `other_credits` covers any remaining billed item and refunds are a negative row, so credit rows sum to `total_credits`. With an organization-scoped API key the organization comes from the key; with a user session pass `organization_id` (organization admins only). Pass `format=csv` to download the same table as CSV. Results may lag usage by up to 30 minutes.

## Query parameters

- `format` 'csv' | 'json'
- `organization_id` integer
- `start_date` string, date, required
- `end_date` string, date, required
- `group_by` 'month'

## Response `200`

- UnitUsageReportResponse
  - `organization_id` integer, required
  - `start_date` string, date, required
  - `end_date` string, date, required
  - `group_by` string, required
  - `timezone` string, required: Timezone of the month boundaries (UTC).
  - `untyped_scheme` boolean, required: True when the organization's charges in this range weren't recorded per unit; per-unit credit rows are then null and only counts and totals apply.
  - `old_text_pricing` boolean, required: True when text simulations are billed at a flat rate, so `#Responses` is null.
  - `periods` string[], required: Month keys (`YYYY-MM`) in order.
  - `rows` UnitUsageReportRow[], required
    - `key` string, required: Stable row identifier, e.g. `voice_credits`.
    - `group` string, required: Section, e.g. Simulations or Monitoring.
    - `unit` string, required: Billable unit, e.g. Voice Simulations.
    - `field` string, required: Measure, e.g. #Minutes or Credits.
    - `kind` 'count' | 'number' | 'credits', required: * `count` - count * `number` - number * `credits` - credits
    - `values` object, required: Value per month key; null when not recoverable.
    - `total` number, double, nullable, required

## Other responses

- `400`: Invalid parameters
- `404`: Billing information not found

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/test_framework/billing/unit-usage-report/get.md)

---

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