---
title: "get_usage"
method: GET
path: "/v1/usage"
tags: ["operations"]
---

# get_usage

`GET /v1/usage`

## Request

- Base URL: `https://ndi-api.nace.ai`
- URL: `https://ndi-api.nace.ai/v1/usage`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/nace/apis/ndi-platform-api/docs/v1/usage/get.ts> (a function with typed inputs; its response is checked against the schema)

Aggregate job units for a billing period. Cost class: fast.

``credits`` is what the period bills; ``units`` are measured work, including
failed and cancelled jobs that are not billed. The admission allowance also counts failed and cancelled
work and in-flight reservations, so a ``quota_exceeded`` ``credits_used`` can
exceed ``credits_total``.

``pages`` and ``bytes_ingested`` aggregate the per-job processing volume
the workers record at completion time. ``credits`` sums only jobs whose
usage is final; ``unfinalized_jobs`` counts the ones still open.

## Query parameters

- `period_start` string, date, required: Start of the billing window, inclusive.
- `period_end` string, date, required: End of the billing window, inclusive.
- `workspace_id` string, uuid, nullable: Restrict to one workspace. Omit to aggregate all jobs for this API key.
- `group_by` 'day' | 'kind' | 'workspace' | 'tenant': Aggregation key: calendar day, job kind, or workspace. `tenant` is for a partner key sent without `X-NDI-Tenant`: one bucket per child tenant, keyed by its `external_ref`.

## Response `200`

Successful Response

- NdiServiceAppPlatformApiOperationsSchemasUsageResponse: Usage report covering ``[period_start, period_end]``. ``units_total`` sums measured work, including free failed and cancelled jobs. ``credits_total`` sums final billable credits for the period.
  - `buckets` UsageBucket[], required
    - `bytes_ingested` integer, required
    - `credits` integer, required: Final credits of the jobs in this bucket whose usage is final. What a bill charges.
    - `jobs` integer, required
    - `key` string, required
    - `pages` integer, required
    - `unfinalized_jobs` integer, required: Jobs in this bucket whose usage is not final yet, so they are not in `credits`.
    - `units` integer, required
  - `credits_total` integer, required: Sum of `credits` across all buckets: final credits for the period.
  - `group_by` string, required
  - `period_end` string, date, required
  - `period_start` string, date, required
  - `units_total` integer, required

## Other responses

- `504`: Gateway Timeout
- `default`: Typed error envelope used by every 4xx and 5xx. ``error.code`` distinguishes the failure; HTTP status is a consequence of the code.

---

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