# Retrieve a refund


Retrieves a single refund by ID, including its current status.
A failed refund carries `error_code` and `error_message`, but these are not yet the specific reason
recorded against the refund — every failure currently reports the same generic bank-failure value.
Do not branch on them.
The refund must belong to the merchant the API key authenticates as — an ID that exists but belongs
to another merchant returns `404`, not `403`. An ID that is not a well-formed refund ID is rejected
with `400` before any lookup happens.

Endpoint: GET /refunds/{id}
Version: 1.0.0
Security: JWT

## Security:

  - `JWT` (unknown)
    http bearer JWT

## Path parameters:

  - `id` (string, required)
    The unique identifier for the refund. Starts with `refund_` followed by letters and digits. An ID of any other shape is rejected with `400` and a message saying it must start with `refund_`; a well-formed ID that doesn't match a refund on your account returns `404`.

## Response 200:

  - `200` (unknown)
    Refund found

## Response 200 fields (application/json):

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

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

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

  - `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"

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

  - `fees.fx_fees` (object)

  - `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

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

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

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

  - `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

  - `documents` (array)

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

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

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

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

  - `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"

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

  - `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

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

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

  - `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

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

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

## Response 404:

  - `404` (unknown)
    Refund not found

## Response 404 fields (application/json):

  - `error` (string)
    Enum: "Not found"

  - `message` (string)
    Entity not found
    Enum: "Entity not found"

