---
title: "List all refunds for a transaction"
method: GET
path: "/api/v1/merchants/{merchantId}/transactions/{transactionId}/refunds"
tags: ["Transactions"]
---

# List all refunds for a transaction

`GET /api/v1/merchants/{merchantId}/transactions/{transactionId}/refunds`

## Request

- Base URL: `https://core.quidkey.com`
- URL: `https://core.quidkey.com/api/v1/merchants/{merchantId}/transactions/{transactionId}/refunds`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/banqzinc/apis/quidkey-api/docs/api/v1/merchants/:merchantId/transactions/:transactionId/refunds/get.ts> (a function with typed inputs; its response is checked against the schema)

List all refunds for a transaction

## Path parameters

- `merchantId` string, uuid, required: The unique identifier of the merchant
- `transactionId` string, uuid, required: The unique identifier of the original transaction

## Response `200`

Success

- TransactionRefundListResponse
  - `success` boolean, required
  - `data` object[], required
    - `id` string, required
    - `transaction_number` string, required
    - `amount` number, required: Transaction amount in decimal format
    - `currency` object, required
      - `code` string, required: ISO 4217 currency code
      - `symbol` string, required: Currency symbol
      - `name` string, required: Currency name
      - `minor_unit` number, required: Number of decimal places
    - `transaction_type` 'payment' | 'refund' | 'reversal', required
    - `status` 'pending' | 'received' | 'fee_paid' | 'converted' | 'completed' | 'failed' | 'cancelled' | 'error' | 'unknown', required
    - `cross_border` boolean, required
    - `deposit_country` string, required
    - `payout_country` string, required
    - `payout_currency` object, nullable, required
      - `code` string, required: ISO 4217 currency code
      - `symbol` string, required: Currency symbol
      - `name` string, required: Currency name
      - `minor_unit` number, required: Number of decimal places
    - `exchange_rate` number, nullable, required: FX rate applied for cross-border conversion
    - `converted_amount` number, nullable, required: Amount in payout currency after FX conversion
    - `payout_at` string, date-time, nullable, required: When the payout settled
    - `payout_batch_id` string, uuid, nullable, required: ID of the payout batch this transaction belongs to
    - `test` boolean, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `settled_at` string, date-time, nullable, required
    - `platform` 'shopify' | 'woocommerce' | 'embedded' | 'payment_link', nullable, required
    - `problems` object[]
      - `code` string, required: Error code identifying the problem
      - `message` string, required: Human-readable description of the problem
      - `label` string, required: Display label for the problem
      - `is_resolvable` boolean, required: Whether the problem can be resolved by providing additional data
    - `target_status` union
      - 'pending'
      - 'received'
      - 'fee_paid'
      - 'converted'
      - 'completed'
      - 'failed'
      - 'cancelled'
      - 'error'
      - 'unknown'
    - `refund_status` union, required: Current refund status for payment transactions
      - 'refunding'
      - 'refunding_stuck'
      - 'refunding_failed'
      - 'partially_refunded'
      - 'fully_refunded'
    - `can_refund` boolean, required: Whether a refund can be initiated for this transaction
    - `payment_request` object, nullable, required
      - `id` string, uuid, required
      - `order_id` string, required: Merchant order ID
      - `customer` object, nullable, required
        - `name` string, required
        - `email` string, required
      - `payment_token` string, required: Payment token
    - `fees` object
      - `total` number, required: Total fees in decimal format
      - `currency` object, required
        - `code` string, required: ISO 4217 currency code
        - `symbol` string, required: Currency symbol
        - `name` string, required: Currency name
        - `minor_unit` number, required: Number of decimal places
      - `items` object[], required
        - `id` string, uuid, required
        - `amount` number, required: Fee amount in decimal format
        - `currency` object, required
          - `code` string, required: ISO 4217 currency code
          - `symbol` string, required: Currency symbol
          - `name` string, required: Currency name
          - `minor_unit` number, required: Number of decimal places
        - `fee_type` string, required
        - `rate_type` string, required
        - `rate_value` string, required
        - `rate_unit` string, required
        - `rate_base` string, required
        - `notes` string, nullable, required
        - `settlement_status` string, required
        - `invoice_id` string, uuid, nullable, required
        - `settled_at` string, date-time, nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `404`: Not Found

## Changes

- **2026-06-17** `b372e7d5563d`: 1 info
  - endpoint added
- **2025-11-02** `919eb7a392aa`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/banqzinc/apis/quidkey-api/changes/api/v1/merchants/:merchantId/transactions/:transactionId/refunds/get.md)

---

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