Card Transactions
Retrieve a paginated list of transactions on a single card — fees, funding, purchases, refunds. Pagination is cursor-based.
Request
Retrieve a paginated list of transactions on a single card via GET /api/cards/:cardId/transactions. Pagination is cursor-based.
Query Parameters
Opaque base64 pagination cursor. Pass data.page_info.next_cursor from the previous response to fetch the next page, or data.page_info.previous_cursor to go back. Omit on the first request.
Maximum number of records to return per page. Default 20.
Filter by transaction type (e.g. 'fee', 'funding', 'purchase', 'refund', 'withdrawal').
Filter by transaction status (e.g. 'pending', 'completed', 'failed').
Response Fields
Page of card transaction records.
Unique identifier of the transaction.
Identifier of the card this transaction belongs to.
Identifier of the company that owns the card.
Transaction type: 'fee', 'funding', 'purchase', 'refund', 'withdrawal'.
Lifecycle status: 'pending', 'completed', or 'failed'.
Transaction amount as an integer string in the card's smallest unit (e.g. '5000000' = $50.00 on a USD card).
Currency of the transaction.
Transaction amount as a decimal number for display.
Card balance immediately before this transaction, in the smallest unit.
Card balance immediately after this transaction, in the smallest unit.
Fee charged for this transaction, in the smallest unit. Zero when no fee applies.
Category of the fee (e.g. 'CARD_CREATION_FEE', 'CARD_TOPUP_FEE'). Empty when fee_amount is zero.
Server-generated reference string for this transaction.
Human-readable description of the transaction (e.g. 'Card creation fee', 'Initial card funding').
Stringified JSON of metadata attached at transaction time.
Name on the card at the time of the transaction.
Last four digits of the card PAN at the time of the transaction. Present on transactions against a provisioned card.
Identifier returned by the downstream card processor (e.g. Miden). Use it when opening support tickets with the provider. Not present on purely internal transactions like creation fees.
Identifier of the user or operator that initiated the transaction.
RFC 3339 / ISO 8601 timestamp of when the transaction was recorded.
RFC 3339 / ISO 8601 timestamp of when the transaction record was created.
RFC 3339 / ISO 8601 timestamp of the most recent update to the record.
Machine-readable failure code. Only present when status is 'failed' (e.g. 'PROVIDER_REJECTED').
Human-readable explanation of the failure, often surfaced from the underlying card processor. Only present when status is 'failed'.
Cursor-based pagination metadata.
True when more records are available via next_cursor.
True when prior records are available via previous_cursor.
Opaque base64 cursor for fetching the next page.
Opaque base64 cursor for stepping back one page.
Total number of transactions for this card matching the current filters.
Get Card Transaction
Retrieve a single card transaction by its ID, scoped to a specific card. Use this to re-fetch an updated status after a webhook, or to confirm a specific provider_transaction_id / fee_amount before reconciling.
Path Parameters
The card the transaction belongs to.
The transaction to retrieve (from ID on the listing endpoint).
The returned data.transaction object uses the identical schema as entries in the Card Transactions list response — refer to that section for per-field docs, including the provider_transaction_id, failure_code, and failure_reason fields that may or may not be present depending on transaction type and status.