---
title: "Usage time series"
method: GET
path: "/v1/usage"
tags: ["Account"]
---

# Usage time series

`GET /v1/usage`

## Request

- Base URL: `https://api-eu.dynamicdocumentapi.com`
- URL: `https://api-eu.dynamicdocumentapi.com/v1/usage`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Query parameters

- `from` string, date
- `granularity` 'day' | 'hour'
- `group_by` 'key_id' | 'kind' | 'region' | 'source' | 'template_id'
- `to` string, date

## Response `200`

- Usage
  - `from` string, date-time: Start of the range (UTC).
  - `granularity` 'hour' | 'day'
  - `group_by` string, nullable: template_id · key_id · source · region · kind
  - `object` 'usage'
  - `series` object[]
    - `key` string, nullable
    - `points` object[]
      - `billed_renders` integer
      - `pages` integer
      - `renders_failed` integer
      - `renders_succeeded` integer
      - `ts` string, date-time
  - `to` string, date-time: End of the range (exclusive).

## Other responses

- `400`: Invalid `from`/`to`, `granularity` or `group_by`.
- `401`: Missing, invalid, expired or revoked credentials.
- `403`: Insufficient scope, IP not allowed, workspace suspended or scheduled for deletion, or email not verified.
- `429`: Rate limited (`Retry-After`).
- `503`: Control plane unavailable.

---

[API](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api.md) · [All operations](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api/revisions/0f14bc0000f4?raw)
