Get Virtual Card Transactions
Retrieve transactions for one or more virtual cards, with support for filtering and pagination.
Use getVirtualCardTransactions to query virtual card activity by card ID, transaction type, date range, or pagination options.
- Provide
virtualCardIdsto fetch transactions for specific cards. - Omit
virtualCardIdsto fetch transactions across all cards on the authenticated account.
Required scopes: PCI_COMPLIANCE, REVEAL_VIRTUALCARD
Arguments
input — GetVirtualCardTransactionsInput
input — GetVirtualCardTransactionsInput| Field | Type | Required | Description |
|---|---|---|---|
virtualCardIds | [UUID!] | No | List of virtual card IDs to retrieve transactions for. Limited to 10 IDs when provided. If omitted, transactions are returned across all virtual cards on the authenticated account. |
filters | VirtualCardTransactionFiltersInput | No | Filters used to narrow the transaction results. |
paginate | OffsetInput | No | Pagination controls for limiting and offsetting results. |
Filters
| Field | Type | Required | Description |
|---|---|---|---|
transactionTypes | [VirtualCardTransactionListType!] | No | Filter by transaction type. Supported values include PURCHASE, REFUND, and DECLINE. |
dateRangeStart | String | No | Inclusive start of the transaction date range in ISO 8601 format. Must be used with dateRangeEnd. |
dateRangeEnd | String | No | Inclusive end of the transaction date range in ISO 8601 format. Must be greater than or equal to dateRangeStart. |
Pagination
| Field | Type | Description |
|---|---|---|
limit | Int | Maximum number of transactions to return. Capped at 500. |
offset | Int | Number of transactions to skip. |
Defaults:
- When
virtualCardIdsis omitted andlimitis not specified, the defaultlimitis 100. - When
virtualCardIdsis provided andlimitis not specified, all matching transactions for each card may be returned. We recommend specifying alimitto control response size.
Behavior:
- When
virtualCardIdsis provided,limitandoffsetapply per card. - When
virtualCardIdsis omitted,limitandoffsetapply across the authenticated account.
Note: Requesting multiple cards with a high
limitmay result in large responses.
Validation Errors
The following inputs are rejected before execution:
dateRangeStartanddateRangeEndmust be provided together.dateRangeEndmust be greater than or equal todateRangeStart.- Both must be valid ISO 8601 timestamps.
paginate.limitcannot exceed 500.virtualCardIds, when provided, must contain between 1 and 10 valid UUIDs.
Example: Specific cards
query GetVirtualCardTransactions {
getVirtualCardTransactions(
input: {
virtualCardIds: [
"2ed71ba0-d457-47ed-8ceb-d3fe6ce5c900"
"bd3be748-a0fb-4193-80a7-88419bc72dab"
]
filters: {
transactionTypes: [PURCHASE, REFUND]
}
paginate: {
limit: 20
offset: 0
}
}
) {
virtualCardId
transactions {
transactionDate
transactionType
transactionStatus
transactionAmount
merchantName
mcc
merchantCountryCode
originalCurrencyCode
originalCurrencyAmount
currencyConversionRate
}
}
}Example: All cards (date range)
Use this when you do not know which cards had activity during a specific time period.
query GetAccountTransactionsByDate {
getVirtualCardTransactions(
input: {
filters: {
dateRangeStart: "2026-04-01T00:00:00Z"
dateRangeEnd: "2026-04-30T23:59:59Z"
}
paginate: {
limit: 100
offset: 0
}
}
) {
virtualCardId
transactions {
transactionDate
transactionType
transactionAmount
merchantName
mcc
merchantCountryCode
originalCurrencyCode
originalCurrencyAmount
currencyConversionRate
}
}
}cURL Example
curl -X POST \
https://transactional-graph.staging.fluzapp.com/api/v1/graphql \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_USER_ACCESS_TOKEN' \
-d '{
"query": "query { getVirtualCardTransactions(input: { filters: { dateRangeStart: \"2026-04-01T00:00:00Z\", dateRangeEnd: \"2026-04-30T23:59:59Z\" }, paginate: { limit: 100, offset: 0 } }) { virtualCardId transactions { transactionDate transactionType transactionAmount merchantName mcc merchantCountryCode originalCurrencyCode originalCurrencyAmount currencyConversionRate } } }"
}'Response Fields
virtualCardId(UUID) — The virtual card associated with the returned transactions.transactions([VirtualCardTransaction!]) — List of transactions for the virtual card.transactionDate(String) — Date and time the transaction occurred in ISO 8601 format.transactionType(String) — Transaction type, such asPURCHASE,REFUND, orDECLINE.transactionAmount(Float) — Transaction amount in USD. May benull.transactionStatus(String) — Lifecycle status, such asCLEAREDorPROCESSING.transactionApproval(String) — Approval status of the transaction.transactionResponseCode(String) — Card network response code.merchantName(String) — Merchant name when available. May benull.paymentMethod(String) — Payment method used for the transaction.mcc(Int) — Merchant category code. May benull.merchantCountryCode(String) — Merchant country code. May benull.originalCurrencyCode(String) — ISO 4217 currency code of the original transaction (e.g. USD, HKD, EUR). May be null when the original currency is unknown or not applicable.originalCurrencyAmount(Float) — Original amount in the currency’s minor units. For example,6300for HKD meansHK$63.00.currencyConversionRate(Float) — FX conversion rate used to convert the original currency to USD.1.0for USD transactions.
Notes
- FX fields are returned together. They are either all populated or all null.
originalCurrencyAmountis returned in minor units:- HKD 6300 = HK$63.00
- JPY 100 = ¥100
- KWD 1000 = 1.000 KD
Code Example:
Want to learn more? Contact us at [email protected]
Speak with our experts for more info or to request a demo.
Updated 16 days ago
