# List card transactions

Retrieve a list of card transactions for a specific card. Transactions are ordered by transaction ID in descending order.

Use in conjunction with the V2.1.0 card transaction state change webhook.

{% admonition type="warning" %}
Only transactions created in the past 90 days can be accessed. A 422 error code will be returned otherwise.
{% /admonition %}

The debits and credits fields are not included in list responses. Use the Get card transaction endpoint to retrieve these fields.

Endpoint: GET /v4/spend/profiles/{profileId}/cards/{cardToken}/transactions
Security: UserToken

## Path parameters:

  - `profileId` (integer, required)
    The ID of the profile that owns the card.
    Example: 123456

  - `cardToken` (string, required)
    The unique token identifying the card.
    Example: "59123122-223d-45f9-b840-0ad4a4f80937"

## Query parameters:

  - `fromCreationTime` (string, required)
    Start of range for transaction creation time in UTC, in ISO-8601 format.
    Example: "2025-12-15T00:00:00Z"

  - `toCreationTime` (string, required)
    End of range for transaction creation time in UTC, in ISO-8601 format.
    Example: "2026-01-15T00:00:10Z"

  - `pageSize` (integer)
    Page size of query between 10 and 100 inclusive, defaults to 20.
    Example: 10

  - `lastId` (integer)
    A pagination cursor that marks your position in the list. Include the ID of the last transaction from the previous page to retrieve the next page (transactions with IDs less than the provided value).
    Example: 342672

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.
    Example: "f47ac10b-58cc-4372-a567-0e02b2c3d479"

## Response 200 fields (application/json):

  - `transactions` (array)

  - `transactions.id` (integer)
    ID of the transaction
    Example: 342671

  - `transactions.cardToken` (string)
    Unique identifier of the card
    Example: "59123122-223d-45f9-b840-0ad4a4f80937"

  - `transactions.type` (string)
    [Type](/api-reference/card-transaction#card-transaction-type) of the transaction. One of:
- ACCOUNT_CREDIT
- ACCOUNT_FUNDING
- CASH_ADVANCE
- CASH_WITHDRAWAL
- CHARGEBACK
- CREDIT_TRANSACTION
- ECOM_PURCHASE
- POS_PURCHASE
- REFUND
    Enum: "ACCOUNT_CREDIT", "ACCOUNT_FUNDING", "CASH_ADVANCE", "CASH_WITHDRAWAL", "CHARGEBACK", "CREDIT_TRANSACTION", "ECOM_PURCHASE", "POS_PURCHASE", "REFUND"

  - `transactions.state` (string)
    The current [state](/api-reference/card-transaction#card-transaction-state) of the transaction. One of:
- IN_PROGRESS
- COMPLETED
- DECLINED
- CANCELLED
- UNKNOWN
    Enum: "IN_PROGRESS", "COMPLETED", "DECLINED", "CANCELLED", "UNKNOWN"

  - `transactions.declineReason` (string,null)
    Code of the [decline reason](/api-reference/card-transaction#card-transaction-decline-reasons) if applicable

  - `transactions.detailedDeclineReason` (string,null)
    Code of the [detailed decline reason](/api-reference/card-transaction#card-transaction-detailed-decline-reasons) if applicable

  - `transactions.creationTime` (string)
    When the transaction was created
    Example: "2022-11-28T08:17:54.241Z"

  - `transactions.modificationTime` (string)
    When the transaction was last updated
    Example: "2022-11-28T08:17:54.241Z"

  - `transactions.purgeTime` (string,null)
    Time at which reserved funds will be released after the authorisation hold expires
    Example: "2022-11-28T08:17:54.241Z"

  - `transactions.transactionAmount` (object)
    Transaction amount, including any embedded fees such as ATM fees that are not applied by Wise

  - `transactions.transactionAmount.amount` (number)
    Transaction amount
    Example: 1.4

  - `transactions.transactionAmount.currency` (string)
    Currency code
    Example: "SGD"

  - `transactions.fees` (array)
    Array of fees

  - `transactions.fees.amount` (number)
    Fee amount
    Example: 0.1

  - `transactions.fees.currency` (string)
    Currency code
    Example: "SGD"

  - `transactions.fees.fee_type` (string)
    Fee type
    Example: "ATM_ACQUIRER"

  - `transactions.transactionAmountWithFees` (object)
    Transaction amount including all fees

  - `transactions.transactionAmountWithFees.amount` (number)
    Transaction amount including all fees
    Example: 1.5

  - `transactions.transactionAmountWithFees.currency` (string)
    Currency code
    Example: "SGD"

  - `transactions.merchant` (object)
    Merchant information

  - `transactions.merchant.name` (string)
    Name of the merchant
    Example: "Test Payment"

  - `transactions.merchant.location` (object)
    Merchant location

  - `transactions.merchant.location.country` (string,null)
    Country where merchant is located
    Example: "France"

  - `transactions.merchant.location.city` (string,null)
    City where merchant is located
    Example: "Rouen"

  - `transactions.merchant.location.zipCode` (string,null)
    Zip code where merchant is located
    Example: "00000"

  - `transactions.merchant.location.region` (string,null)
    Region where merchant is located

  - `transactions.merchant.location.state` (string,null)
    State where merchant is located

  - `transactions.merchant.category` (object)
    Merchant category

  - `transactions.merchant.category.name` (string)
    Category of the merchant
    Example: "MISCELLANEOUS_FOOD_STORES_CONVEN"

  - `transactions.merchant.category.code` (string)
    MCC code of the merchant
    Example: "5999"

  - `transactions.merchant.category.description` (string)
    Description of the merchant category
    Example: "5999 R Miscellaneous and Special"

  - `transactions.authorisationMethod` (string)
    Authorisation method
    Example: "MANUAL_ENTRY"

  - `transactions.approvalCode` (string,null)
    Also called authorization code. This can be used to prove ownership of a customer's card/account to a merchant
    Example: "913647"

  - `transactions.billingAmount` (object)
    Billing amount

  - `transactions.billingAmount.amount` (number)
    Billing amount
    Example: 1.1

  - `transactions.billingAmount.currency` (string)
    Currency code
    Example: "EUR"

  - `transactions.arn` (string,null)
    Acquirer reference number
    Example: "04300014127798385983852"

  - `transactions.pinValidationResult` (string,null)
    PIN validation result. One of:
- ONLINE_PIN_VALIDATED
- ONLINE_PIN_INVALID
- OFFLINE_PIN_VALIDATED
- OFFLINE_PIN_INVALID
- NOT_RECEIVED
    Enum: "ONLINE_PIN_VALIDATED", "ONLINE_PIN_INVALID", "OFFLINE_PIN_VALIDATED", "OFFLINE_PIN_INVALID", "NOT_RECEIVED"

  - `transactions.balanceChannelReferenceId` (string,null)
    Balance channel reference ID associated with the card transaction
    Example: "6e71018d-2f4d-4fc3-6711-f517f4664712"

  - `transactions.debits` (array)
    Array of debits. Only present when retrieving a single transaction by ID.

The debits list is a non-aggregated list of debit movements, meaning that the balanceId is not unique in the list. For example, a cancelled transaction may have a list of 2 debits where the absolute values of debitedAmount.amount, forAmount.amount and fee.amount are the same, but one is the negation of the other due to a reservation (first debit) which was then released (second debit with negated amounts). You can choose to perform the aggregation in your system or display the full list of debits to the end customer.

  - `transactions.debits.balanceId` (integer)
    Balance ID
    Example: 52832

  - `transactions.debits.debitedAmount` (object)
    Amount taken from the balance

  - `transactions.debits.debitedAmount.amount` (number)
    Amount
    Example: 1.1

  - `transactions.debits.debitedAmount.currency` (string)
    Currency code
    Example: "EUR"

  - `transactions.debits.forAmount` (object)
    Amount converted to

  - `transactions.debits.forAmount.amount` (number)
    Amount
    Example: 1.5

  - `transactions.debits.forAmount.currency` (string)
    Currency code
    Example: "SGD"

  - `transactions.debits.rate` (number)
    Exchange rate of debitedAmount to forAmount
    Example: 1.36363636364

  - `transactions.debits.fee` (object)
    Conversion fee

  - `transactions.debits.fee.amount` (number)
    Conversion fee amount
    Example: 0.04

  - `transactions.debits.fee.currency` (string)
    Currency code
    Example: "EUR"

  - `transactions.debits.creationTime` (string)
    Creation time of debit
    Example: "2022-11-28T08:17:54.241Z"

  - `transactions.credits` (array)
    Array of credits. Only present when retrieving a single transaction by ID

  - `transactions.credits.balanceId` (integer)
    Balance ID
    Example: 52832

  - `transactions.credits.creditedAmount` (object)
    Amount credited to the balance

  - `transactions.credits.creditedAmount.amount` (number)
    Amount
    Example: 1.5

  - `transactions.credits.creditedAmount.currency` (string)
    Currency code
    Example: "SGD"

  - `transactions.credits.creationTime` (string)
    Creation time of credit
    Example: "2022-11-28T08:17:54.241Z"

  - `transactions.relayAuthorisationData` (object,null)
    Relayed authorisation response data, only available if the partner has opted in for [relayed authorisation](/guides/product/issue-cards/relayed-authorisation)

  - `transactions.relayAuthorisationData.responseCode` (string)
    [ResponseCode](/guides/product/issue-cards/relayed-authorisation#authorisation-response) of the relayed authorisation. One of:
- APPROVED
- PROCESSING_ERROR
- NON_SUPPORTED_CURRENCY
- NON_SUPPORTED_MCC_FOR_COUNTRY
- BLOCKED_COUNTRY
- TRANSACTION_TYPE_NOT_SUPPORTED
- SUSPECTED_FRAUD
    Enum: "APPROVED", "PROCESSING_ERROR", "NON_SUPPORTED_CURRENCY", "NON_SUPPORTED_MCC_FOR_COUNTRY", "BLOCKED_COUNTRY", "TRANSACTION_TYPE_NOT_SUPPORTED", "SUSPECTED_FRAUD"

  - `transactions.relayAuthorisationData.fallback` (boolean)
    Indicating whether there was a fallback applied by Wise
    Example: true


