---
title: "List charges"
method: GET
path: "/v1/charges"
tags: ["Charges"]
---

# List charges

`GET /v1/charges`

Retrieve all charges for your business, sorted by creation date (newest first).

## Query parameters

- `limit` integer
- `offset` integer
- `status` 'PENDING' | 'PENDING_SETTLEMENT' | 'CONFIRMED' | 'FAILED' | 'REFUNDED' | 'REFUND_PENDING'
- `customerId` string

## Response `200`

List of charges

- object — List of charges
  - `data` object[]
    - `id` string — Unique charge identifier
    - `usageId` string — Associated usage event ID
    - `customerId` string — Customer ID
    - `customer` object — Customer details
      - `id` string
      - `onchainAddress` string
      - `externalCustomerId` string, nullable
    - `usageEvent` object — Usage event that triggered this charge
      - `id` string
      - `type` string — Usage type
      - `quantity` string — Quantity consumed
      - `metadata` object, nullable
    - `amountUsdc` string — Amount charged in USDC
    - `amountToken` string — Amount in token units (6 decimals)
    - `txHash` string, nullable — On-chain transaction hash
    - `blockNumber` string, nullable — Block number when confirmed
    - `status` 'PENDING' | 'PENDING_SETTLEMENT' | 'CONFIRMED' | 'FAILED' | 'REFUNDED' | 'REFUND_PENDING' — Current charge status
    - `failureReason` string, nullable — Reason if charge failed
    - `createdAt` string, date-time — When the charge was created
    - `confirmedAt` string, date-time, nullable — When the charge was confirmed on-chain
  - `count` integer — Total number of charges returned

## Other responses

- `400` — Invalid parameter
- `401` — Unauthorized
- `403` — Forbidden (secret key required)
- `429` — Rate limit exceeded
- `503` — Service temporarily unavailable

---

[API](https://skmtc.net/usedrip/apis/drip-api.md) · [All operations](https://skmtc.net/usedrip/apis/drip-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usedrip/drip-api/revisions/2cb1567969ca/schema)
