Skip to main content
GET
Returns a card movement with the amount and the events of the whole operation, not of the single event you asked for. Ask for any event of a purchase — its authorization, one of its clearings, its refund — and you get the same consolidated answer. This is version 2 of Get transaction, selected with the X-API-Version header. See API Versioning. Enterprise cards only. Requires an API key with access level 1 or higher.

Headers

string
required
Must be 2. Any other value — including omitting the header — serves version 1, which returns the single event and no lifecycle. On 1 October 2026 version 1 is removed: this becomes the only shape and the header is ignored, so sending it stays harmless.

Path parameters

string
required
Card identifier.
string
required
Identifier of any movement of the operation.

Response

string
Identifier of the event the data is taken from (UUID). For a purchase, its approval — or its decline, if it was never approved.
string
Timestamp of that event (ISO-8601).
string
PURCHASE for anything belonging to a purchase — ask for the id of one of its clearings and you still get PURCHASE. Movements that are not purchases keep their own operation: WALLET_DEPOSIT, WALLET_WITHDRAWAL, WARRANTY_DEPOSIT, WARRANTY_WITHDRAWAL, OVERRIDE_VIRTUAL_BALANCE, VISA_DIRECT_DEPOSIT. The individual events keep their own operation inside lifecycle.events.
number
Current amount of the operation in billing currency, fees included. Can be 0 after a full reversal, or negative if a refund exceeded what was charged.
string
Billing currency code (e.g. USD).
number
Current amount of the operation in its original currency.
string
Original transaction currency code (e.g. EUR).
number
Exchange rate applied, rounded to 6 decimal places. It is the rate of the event, not recalculated over the consolidated amount.
string
Name of the merchant.
string
City of the merchant. Not returned by version 1.
object
Present when the transaction was declined. Contains code, simple_reason and detailed_reason. See Card decline codes.
number
FX fee charged by the provider.
number
FX fee charged to the client.
number
ATM fee charged by the provider.
number
ATM fee charged to the client.
number
Deposit fee charged by the provider.
number
Deposit fee charged to the client.
object
The states the operation went through.
Events carry no amount. The net of an operation depends on the fee regime it closed under, so adding up the events does not reproduce bill_amount. Read the amount from the operation.

State and outcome together

The two fields answer different questions — how the clearing added up, and whether anything came back — so neither one alone tells you how a purchase ended. Of the twenty possible pairs, thirteen occur: What each one means: The seven combinations that never occur follow from how the two fields are computed:
  • SIMPLE always comes with NONE. When nothing is consolidated there is no return to report.
  • PARTIALLY_REVERSED only ever comes with PARTIAL. Part of a hold released with nothing settled always leaves something authorized and nothing settled against it.
  • REVERSED never comes with PARTIAL. Releasing the whole hold leaves nothing authorized, so there is nothing left for a partial settlement to fall short of.
state compares the two amounts exactly, with no tolerance. A rounding difference of one cent between what was authorized and what was settled — possible on foreign-currency purchases — is enough to report PARTIAL or OVER_CAPTURE on a purchase that otherwise looks ordinary.
Version 1 returns status, original_balance and new_balance; version 2 does not. A single event has a status, an operation made of several does not — a purchase that was authorized, partly settled and partly refunded is not in any one of those states. Use lifecycle.state and lifecycle.outcome instead.