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

# List Charges

`GET /charges`

List charges with cursor-based pagination.

Filters:
- customer_id: Filter by customer UUID
- instrument_id: Filter by instrument UUID
- reference: Filter by exact reference match
- created_at_from: Filter charges created on or after this date
- created_at_to: Filter charges created on or before this date
- result_at_from: Filter charges with result on or after this date
- result_at_to: Filter charges with result on or before this date
- instrument_identifier: Filter by instrument identifier (inline or linked)

Pagination:
- cursor: Opaque cursor from previous response
- Use `next_cursor` from response for next page

## Query parameters

- `limit` integer — Maximum number of records to return
- `cursor` string, nullable — Cursor for pagination (use next_cursor from previous response)
- `customer_id` string, uuid, nullable — Filter by customer ID
- `instrument_id` string, uuid, nullable — Filter by instrument ID
- `reference` string, nullable — Filter by reference
- `created_at_from` string, date-time, nullable — Filter charges created on or after this date
- `created_at_to` string, date-time, nullable — Filter charges created on or before this date
- `result_at_from` string, date-time, nullable — Filter charges with result on or after this date
- `result_at_to` string, date-time, nullable — Filter charges with result on or before this date
- `instrument_identifier` string, nullable — Filter by instrument identifier (searches both inline and linked instruments)

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- ChargeListResponse — Schema for paginated charge list responses.
  - `charges` ChargeResponse[], required
    - `org_id` string, uuid, required — ID of the organization
    - `instrument_id` string, uuid, nullable — ID of the payment instrument
    - `customer_id` string, uuid, nullable — ID of the customer
    - `amount` number, required — Charge amount
    - `currency` 'mxn' | 'cop' | 'brl' | 'usd' | 'eur' | 'gbp' — Currency enum.
    - `reference` string, nullable — Reference provided by tenant
    - `inline_instrument` object, nullable — Inline instrument data
    - `inline_customer` object, nullable — Inline customer data
    - `id` string, uuid, required
    - `status` 'verification_in_progress' | 'pending' | 'processing' | 'confirmed' | 'declined' | 'chargeback' | 'canceled', required — Charge status enum.
    - `declined_reason` 'insufficient_funds' | 'account_blocked' | 'undetermined' | 'risk_engine' | 'account_does_not_exist' | 'account_canceled' | 'account_in_other_currency' | 'account_not_belongs_to_bank' | 'transaction_duplicated' | 'client_order_declined_pay_to_issuer' | 'client_order_amount_is_more_than_authorized' | 'client_order_canceled' | 'client_service_not_authorized' | 'payment_order_expired' | 'client_rejected_charge' — Declined reason enum.
    - `declined_reason_rail` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, nullable
    - `chargeback_at` string, date-time, nullable
    - `result_at` string, date-time, nullable
    - `risk_status` 'pending' | 'ok' | 'cancelled_by_risk' — Risk evaluation outcome for a charge.
    - `risk_evaluated_at` string, date-time, nullable
    - `risk_reasons` string[], nullable
  - `limit` integer, required
  - `has_next` boolean
  - `has_previous` boolean
  - `next_cursor` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/monato/apis/direct-debit-service.md) · [All operations](https://skmtc.net/monato/apis/direct-debit-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monato/direct-debit-service/revisions/23bb85042119/schema)
