---
title: "Get a transaction by ID"
method: GET
path: "/api/v1/transactions/{id}"
tags: ["Transactions"]
---

# Get a transaction by ID

`GET /api/v1/transactions/{id}`

Get a transaction by ID

## Path parameters

- `id` string, uuid, required — The unique identifier of the transaction

## Response `200`

Success

- TransactionResponse
  - `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
    - `status_message` string, nullable, 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
    - `payment_request` object, nullable, required
      - `id` string, uuid, required
      - `order_id` string, required — Merchant order ID
      - `merchant` object, nullable, required
        - `id` string, uuid, required
        - `partner` object, nullable, required
          - `id` string, uuid, required
      - `customer` object, nullable, required
        - `id` string, uuid, required
        - `name` string, required
        - `email` string, required
      - `payment_token` string, required — Payment token
      - `authorization_agreement_record_id` string, uuid, nullable, required — AgreementRecord id documenting the customer acceptance that authorised this payment request (ACH click-wrap).
    - `destination_account` string, nullable, required
    - `destination_account_type` string, nullable, required
    - `remittance_information` string, nullable, required
    - `payment_scheme` string, 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
    - `related_transaction` object, nullable, required
      - `id` string, uuid, required
      - `transaction_number` string, required
    - `provider_status_events` object[], required
      - `id` string, uuid, required
      - `source` 'webhook' | 'polling' | 'finalization' | 'admin', required
      - `provider_name` string, required
      - `provider_status` string, required
      - `processing_status` 'received' | 'processed' | 'ignored' | 'failed' | 'conflict' | 'stale', required
      - `provider_updated_at` string, date-time, nullable, required
      - `created_at` string, date-time, required
      - `observed_at` string, date-time, required
      - `signature_valid` boolean, required
      - `event_id` string
      - `event_type` string
      - `processing_error` string
      - `provider_request_id` string
    - `merchant_webhook_deliveries` object[], required
      - `id` string, uuid, required
      - `payment_provider_status_id` string, uuid, nullable, required — Optional ID of the PaymentProviderStatus event that triggered this delivery
      - `webhook_url` string, required — The URL the webhook was sent to
      - `platform` 'embedded' | 'shopify' | 'woocommerce', required — Platform type
      - `event_type` string, required — Event type sent
      - `status` 'delivered' | 'failed', required — Delivery status
      - `response_status_code` number, nullable, required — HTTP response status code from merchant endpoint
      - `error_message` string — Error message if delivery failed
      - `duration_ms` number, nullable, required — Request duration in milliseconds
      - `created_at` string, date-time, required
    - `fees` object, required
      - `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
    - `refunds` object[] — Refund transactions with full details including fees (only present for payment transactions with refunds)
      - `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
      - `status_message` string, nullable, 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
      - `payment_request` object, nullable, required
        - `id` string, uuid, required
        - `order_id` string, required — Merchant order ID
        - `merchant` object, nullable, required
          - `id` string, uuid, required
          - `partner` object, nullable, required
            - `id` string, uuid, required
        - `customer` object, nullable, required
          - `id` string, uuid, required
          - `name` string, required
          - `email` string, required
        - `payment_token` string, required — Payment token
        - `authorization_agreement_record_id` string, uuid, nullable, required — AgreementRecord id documenting the customer acceptance that authorised this payment request (ACH click-wrap).
      - `destination_account` string, nullable, required
      - `destination_account_type` string, nullable, required
      - `remittance_information` string, nullable, required
      - `payment_scheme` string, 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
      - `related_transaction` object, nullable, required
        - `id` string, uuid, required
        - `transaction_number` string, required
      - `provider_status_events` object[], required
        - `id` string, uuid, required
        - `source` 'webhook' | 'polling' | 'finalization' | 'admin', required
        - `provider_name` string, required
        - `provider_status` string, required
        - `processing_status` 'received' | 'processed' | 'ignored' | 'failed' | 'conflict' | 'stale', required
        - `provider_updated_at` string, date-time, nullable, required
        - `created_at` string, date-time, required
        - `observed_at` string, date-time, required
        - `signature_valid` boolean, required
        - `event_id` string
        - `event_type` string
        - `processing_error` string
        - `provider_request_id` string
      - `merchant_webhook_deliveries` object[], required
        - `id` string, uuid, required
        - `payment_provider_status_id` string, uuid, nullable, required — Optional ID of the PaymentProviderStatus event that triggered this delivery
        - `webhook_url` string, required — The URL the webhook was sent to
        - `platform` 'embedded' | 'shopify' | 'woocommerce', required — Platform type
        - `event_type` string, required — Event type sent
        - `status` 'delivered' | 'failed', required — Delivery status
        - `response_status_code` number, nullable, required — HTTP response status code from merchant endpoint
        - `error_message` string — Error message if delivery failed
        - `duration_ms` number, nullable, required — Request duration in milliseconds
        - `created_at` string, date-time, required
      - `fees` object, required
        - `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
    - `reversals` object[] — Reversal transactions with full details (only present for payment transactions with reversals)
      - `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
      - `status_message` string, nullable, 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
      - `payment_request` object, nullable, required
        - `id` string, uuid, required
        - `order_id` string, required — Merchant order ID
        - `merchant` object, nullable, required
          - `id` string, uuid, required
          - `partner` object, nullable, required
            - `id` string, uuid, required
        - `customer` object, nullable, required
          - `id` string, uuid, required
          - `name` string, required
          - `email` string, required
        - `payment_token` string, required — Payment token
        - `authorization_agreement_record_id` string, uuid, nullable, required — AgreementRecord id documenting the customer acceptance that authorised this payment request (ACH click-wrap).
      - `destination_account` string, nullable, required
      - `destination_account_type` string, nullable, required
      - `remittance_information` string, nullable, required
      - `payment_scheme` string, 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
      - `related_transaction` object, nullable, required
        - `id` string, uuid, required
        - `transaction_number` string, required
      - `provider_status_events` object[], required
        - `id` string, uuid, required
        - `source` 'webhook' | 'polling' | 'finalization' | 'admin', required
        - `provider_name` string, required
        - `provider_status` string, required
        - `processing_status` 'received' | 'processed' | 'ignored' | 'failed' | 'conflict' | 'stale', required
        - `provider_updated_at` string, date-time, nullable, required
        - `created_at` string, date-time, required
        - `observed_at` string, date-time, required
        - `signature_valid` boolean, required
        - `event_id` string
        - `event_type` string
        - `processing_error` string
        - `provider_request_id` string
      - `merchant_webhook_deliveries` object[], required
        - `id` string, uuid, required
        - `payment_provider_status_id` string, uuid, nullable, required — Optional ID of the PaymentProviderStatus event that triggered this delivery
        - `webhook_url` string, required — The URL the webhook was sent to
        - `platform` 'embedded' | 'shopify' | 'woocommerce', required — Platform type
        - `event_type` string, required — Event type sent
        - `status` 'delivered' | 'failed', required — Delivery status
        - `response_status_code` number, nullable, required — HTTP response status code from merchant endpoint
        - `error_message` string — Error message if delivery failed
        - `duration_ms` number, nullable, required — Request duration in milliseconds
        - `created_at` string, date-time, required
      - `fees` object, required
        - `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

- `400` — Bad Request
- `401` — Unauthorized

---

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