---
title: "List credit ledger movements"
method: GET
path: "/billing/ledger"
tags: ["billing"]
---

# List credit ledger movements

`GET /billing/ledger`

## Request

- Base URL: `https://api.whoisgeni.us` (the document declares no server; this is the origin it was published from)
- URL: `https://api.whoisgeni.us/billing/ledger`
- Auth: HTTP bearer

Return a page of the user's credit-ledger movements, newest first.

Each entry is one grant/debit/refund/follower-free event with the signed
delta, reason, and resulting balance -- the legible audit trail behind the
balance (Dissent 1). User-scoped; never exposes another account's rows.
``limit``/``offset`` page the journal so a long history can be fully
retrieved for reconciliation (B-18).

## Query parameters

- `limit` integer: Max rows to return (1-500).
- `offset` integer: Rows to skip for pagination.

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- ApiResponseListLedgerEntry
  - `data` LedgerEntry[], nullable
    - `id` string, required
    - `delta` integer, required
    - `reason` string, required
    - `balance_after` integer, required
    - `created_at` string, required
  - `error` ErrorDetail: Structured error information for API error responses. Attributes: code: Machine-readable error code (e.g. "JOB_NOT_FOUND"). message: Human-readable error description. details: Optional additional context for debugging.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` object, nullable

## Other responses

- `401`: Unauthorized — missing or invalid API key/JWT.
- `422`: Validation Error

---

[API](https://skmtc.dev/whoisgeni/apis/whoisgenius.md) · [All operations](https://skmtc.dev/whoisgeni/apis/whoisgenius/llms.txt) · [OpenAPI document](https://skmtc.dev/whoisgeni/apis/whoisgenius/revisions/707f1c34f6b3?raw)
