# List all refunds

Returns a list of refunds in response. The refunds are returned sorted by creation date, with the most recent refund appearing first.

Endpoint: GET /refunds
Version: 1.0.0
Security: JWT

## Security:

  - `JWT` (unknown)
    http bearer JWT

## Query parameters:

  - `customer_id` (string)
    Refunds of customer to filter

  - `payment_method` (string)
    Refunds of payment_methods to filter

  - `payment_id` (string)
    Refunds of payment_id to filter

  - `request_id` (string)
    Return only the refund created with this `request_id`.

  - `status` (string)
    Return only refunds in this status. Uses the same values as the refund's `status` field.

  - `before` (string)
    Return only resources created at or before this time. Send an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp with an offset, such as `2025-02-18T12:03:44Z` or `2025-02-18T17:33:44+05:30`. A timestamp without an offset is read as UTC. A bare date (`YYYY-MM-DD`) means the end of that day in UTC (`23:59:59.999999Z`). An invalid value returns `400 Bad Request`. Use this to avoid page drift. See [Pagination parameters](/platform/pagination#parameters) for more details.

  - `after` (string)
    Return only resources created at or after this time. Send an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp with an offset, such as `2025-01-18T12:03:44Z` or `2025-01-18T17:33:44+05:30`. A timestamp without an offset is read as UTC. A bare date (`YYYY-MM-DD`) means the start of that day in UTC (`00:00:00Z`). An invalid value returns `400 Bad Request`. Use this to avoid page drift. See [Pagination parameters](/platform/pagination#parameters) for more details.

  - `per_page` (integer)
    Number of resources per page. Should be between 1 and 100.

  - `page` (integer)
    Page number for pagination. Starts from 1. Get the next page number from the `next` field in the response.

## Response 200:

  - `200` (unknown)
    List of Refunds matching the filters

## Response 200 fields (application/json):

  - `data` (array)

  - `data.id` (string)
    The unique identifier for the refund.
    Example: refund_6776d57dnbTWj

  - `data.customer_id` (string)
    The unique identifier of customer linked to refund.
    Example: cust_E602dMzgjpDC

  - `data.payment_id` (string)
    The unique identifier of payment linked to refund.
    Example: payt_E602dMzgjpDC

  - `data.reason` (string)
    The reason for the refund. For a refund you created, this is the `reason` you sent.
Glomo also refunds some payments itself, and those refunds appear in your refund list with one of
two further reasons that you cannot send:
- `Refunded For Subscription Verification` — the refund of a small charge used to verify the card
when a subscription was set up.
- `Refunded For Subscription Card Update` — the refund of a small charge used to verify a new card
when the card on a subscription was replaced.
    Enum: "Requested By Customer", "Fraudulent", "Duplicate", "Others", "Refunded For Subscription Verification", "Refunded For Subscription Card Update"

  - `data.fees` (object)
    The fees charged for the refund.

  - `data.fees.fx_fees` (object)

  - `data.fees.fx_fees.amount` (number)
    A positive integer representing the smallest currency unit.  For example, if the amount is $299.00, then pass 29900 in this field.  In the case of three decimal currencies, such as KWD, BHD and OMR, to represent an amount of 295.991, pass the value as 295990.  And in the case of zero decimal currencies such as JPY, for amount ￥295, pass the value as 295.
    Example: 1000

  - `data.fees.fx_fees.currency` (string)
    The currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. For example, USD.
    Example: USD

  - `data.balance_used` (object)
    The balance deducted to process the refund, with `amount` in the smallest unit of `currency`.

  - `data.balance_used.currency` (string)
    The currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format.
    Example: USD

  - `data.balance_used.amount` (integer)
    The amount deducted, in the smallest unit of `balance_used.currency` (cents for USD). `1000` is $10.00 when that currency is USD.
    Example: 1000

  - `data.documents` (array)

  - `data.documents.id` (string)
    The unique identifier for the Document.
    Example: doc_nYUqLpuYQ0M8

  - `data.documents.type` (string)
    The type of the document.
    Example: rfi

  - `data.documents.status` (string)
    The status of the document.
    Enum: "pending", "uploaded", "approved", "rejected"

  - `data.documents.rfi_doc_id` (string)
    The identifier that needs to be sent when responding to rfi.
    Example: rfidoc_nYUqLpuYQ0M8

  - `data.status` (string)
    The status of the refund.
- `in_progress` — the refund has been accepted and is being sent back to the customer.
- `under_review` — the refund is being reviewed by Glomo before it is processed.
- `action_required` — Glomo needs more information before the refund can proceed. Respond to the
open RFI to continue.
- `success` — the refund has been paid out. Terminal.
- `failed` — the refund could not be completed. Terminal.
- `cancelled` — the refund was stopped before it was paid out. Terminal.
    Enum: "in_progress", "under_review", "action_required", "success", "failed", "cancelled"

  - `data.currency` (string)
    The currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. For example, USD.
    Example: USD

  - `data.amount` (number)
    The refund amount, in the smallest unit of `currency` (cents for USD). `1000` is $10.00 when `currency` is USD. `currency` is the payment's `payment_currency` (the currency the customer paid in), or its `converted_currency` when the payment has no `payment_currency`, so it can differ from the currency of the `amount` you send when creating the refund.
    Example: 1000

  - `data.utr` (string)
    The Unique Transaction Reference (UTR) number associated with the refund.
    Example: UTR123456789

  - `data.partial_refund` (boolean)
    Indicates whether the refund is a partial refund.
    Example: false

  - `data.request_id` (string | null)
    The `request_id` you sent when creating this refund; `null` if you sent none. Look the refund up with `GET /v1/refunds?request_id=<your_request_id>`.
    Example: your-internal-id

  - `data.created_at` (string)
    When the refund was created, as an ISO 8601 date-time in UTC.
    Example: 2021-06-01T12:00:00Z

  - `data.updated_at` (string)
    When the refund was last updated, as an ISO 8601 date-time in UTC.
    Example: 2021-06-01T12:00:00Z

  - `page_meta` (object)

  - `page_meta.current` (integer)
    The current page number.
    Example: 2

  - `page_meta.previous` (integer | null)
    The previous page number.
    Example: 1

  - `page_meta.next` (integer | null)
    The next page number.
    Example: 3

  - `page_meta.per_page` (integer)
    The number of items per page.
    Example: 20

  - `page_meta.pages` (integer)
    The total number of pages.
    Example: 10

  - `page_meta.count` (integer)
    The total number of items.
    Example: 200

## Response 401:

  - `401` (unknown)
    Unauthorized

