---
title: "Charge records (paginated)"
method: GET
path: "/charges"
tags: ["Billing"]
---

# Charge records (paginated)

`GET /charges`

## Request

- Base URL: `https://console-api.blockvectra.com/v1`
- URL: `https://console-api.blockvectra.com/v1/charges`
- Auth: HTTP bearer

One record per settlement period, sorted in descending order of `charge_id`.

## Query parameters

- `limit` integer
- `before` string

## Response `200`

Page of charge records.

- ChargeListResponse
  - `items` ChargeView[], required
    - `charge_id` string, required
    - `period_start` string, date-time, required: RFC 3339 UTC, second precision, ending in `Z` (`2026-09-26T08:00:00Z`); no fractional seconds, without `+00:00` timezone offsets.
    - `period_end` string, date-time, required: RFC 3339 UTC, second precision, ending in `Z` (`2026-09-26T08:00:00Z`); no fractional seconds, without `+00:00` timezone offsets.
    - `cu` integer, required
    - `amount_units` integer, required: floor((carry_in + cu * 1) / 1000): carry_in is fractional remainder below 1 unit from previous period (0 for initial period), settled 15 minutes after period close; remainder carries forward (cumulative charges equal floor(cumulative_cu / 1000)). Example: 508 CU carry-in + 2557 CU period = 3 units charged, 65 CU remainder carried forward; charges do not expose remainder fields.
    - `created_at` string, date-time, required: RFC 3339 UTC, second precision, ending in `Z` (`2026-09-26T08:00:00Z`); no fractional seconds, without `+00:00` timezone offsets.
  - `next_before` string, nullable, required

## Other responses

- `400`: Invalid `limit` or `before`.
- `401`: Missing or invalid session (without distinguishing cause).
- `429`: Rate limit exceeded.
- `500`: Internal server error.

---

[API](https://skmtc.dev/blockvectra/apis/blockvectra-console-api.md) · [All operations](https://skmtc.dev/blockvectra/apis/blockvectra-console-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blockvectra/apis/blockvectra-console-api/revisions/28c91298f433?raw)
