---
title: "List lifetime settled credit consumption"
method: GET
path: "/v1/billing/credit-ledger"
tags: ["Billing"]
---

# List lifetime settled credit consumption

`GET /v1/billing/credit-ledger`

## Request

- Base URL: `https://api.inth.com`
- URL: `https://api.inth.com/v1/billing/credit-ledger`
- Auth: HTTP bearer

Requires billing.read and owner access. Lists all retained settled consumption without a recent-history cutoff, ordered by settledAt and ID descending. Excludes pending/released holds, top-up purchases and balances. Attribution status distinguishes missing evidence from unavailable lookups. initiatedBy is null when unknown. Cursor binds organization/product/time range and freezes until; omitted filters inherit it. No count or total aggregation is required.

## Query parameters

- `organizationId` string
- `cursor` string
- `limit` integer
- `product` 'agent' | 'code-audit' | 'website-audit'
- `since` string, date-time
- `until` string, date-time

## Response `200`

List lifetime settled credit consumption

- object
  - `success` true, required
  - `data` BillingCreditLedger, required
    - `organizationId` string, required
    - `items` object[], required
      - `id` string, required
      - `activity` string, required
      - `credits` integer, required
      - `detail` string, nullable, required
      - `groupKey` string, nullable, required
      - `href` string, nullable, required
      - `product` 'agent' | 'code-audit' | 'website-audit', required
      - `productLabel` string, required
      - `settledAt` string, required
      - `initiatedBy` object, nullable, required
        - `label` string, required
        - `type` 'automation' | 'former-member' | 'member' | 'system', required
      - `attribution` object, required
        - `evidenceStatus` 'available' | 'missing' | 'unavailable', required
        - `initiatorStatus` 'known' | 'unknown' | 'unavailable', required
    - `pageSize` integer, required
    - `nextCursor` string, nullable, required
    - `window` object, required
      - `since` string, required
      - `until` string, required
    - `coverage` 'retained-settled-consumption', required

## Other responses

- `400`: The request payload or parameters are invalid.
- `401`: Authentication is missing, invalid, or expired.
- `403`: The credential is valid but may not perform the operation. `INSUFFICIENT_SCOPE`: the credential was never granted the capability the operation needs. `details.requiredScope` names it, and the `WWW-Authenticate` header carries `Bearer error="insufficient_scope"`. An OAuth client fixes this by requesting the scope; an organization API key cannot gain it. `FORBIDDEN`: the capability is present but the membership behind the credential lacks the role, or the resource belongs to another organization.
- `404`: The requested resource was not found.
- `503`: The capability is temporarily paused by an operator. Retry later.

## Changes

- **2026-10-31** `a3f4100e14c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/inth/apis/inth-api/changes/v1/billing/credit-ledger/get.md)

---

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