# Get a specific transaction for a managed card

Returns a specific transaction on the managed card.

Endpoint: GET /managed_cards/{id}/transactions/{transactionId}
Version: v3
Security: auth_token, api-key

## Path parameters:

  - `id` (string, required)
    The unique identifier of the managed card.

  - `transactionId` (string, required)
    The unique identifier of the transaction.

## Response 200 fields (application/json):

  - `id` (string, required)
    The transaction identifier.

  - `type` (string, required)
    The type of transaction:
- transfers: Internal transfer between instruments of the same identity
- sends: Transfer between instruments of different identities
- outgoing_wire_transfers: Wire transfer to an external bank account
- correspondent_bank_transfers: Wire transfer on behalf of a third-party originator
- incoming_wire_transfers: Wire transfer received from an external bank account
- card_payments: Card payment (purchase, refund, OCT, etc.) with full lifecycle
- fees: Fee charged or reversed on an instrument
- system_transactions: System-generated transactions (balance adjustments, account closures, dispute outcomes, etc.)
    Enum: "transfers", "sends", "outgoing_wire_transfers", "correspondent_bank_transfers", "incoming_wire_transfers", "card_payments", "fees", "system_transactions"

  - `status` (string, required)
    Normalised lifecycle status of a transaction:
- DRAFT: Transaction ID has been created. There are additional user-actions required before the transaction is considered an “executable instruction” that is fully submitted. No balance movements have taken place on the target instrument yet.
- SUBMITTED: Transaction has been submitted and is awaiting processing. No balance movements have taken place yet. Transactions scheduled for processing on a future date remain in a submitted status.
- PROCESSING: The submitted transaction is being processed.
- COMPLETED: Executed and processed. Funds have moved, actual balance changed.
- CANCELLED: Transaction was cancelled before completion. Funds have been returned to the original instrument.
- RETURNED: The transaction was previously COMPLETED but has been returned. Funds have been returned to the original instrument. Note that card refunds may be separate transactions, not RETURNED purchases.
    Enum: "DRAFT", "SUBMITTED", "PROCESSING", "COMPLETED", "CANCELLED", "RETURNED"

  - `direction` (string)
    Whether funds were credited to or debited from the instrument.
    Enum: "CREDIT", "DEBIT"

  - `amount` (object, required)
    The object representing a monetary amount in a particular currency.

  - `amount.currency` (string, required)
    The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

  - `amount.amount` (integer, required)
    The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

  - `fee` (object)

  - `fee.id` (string, required)
    Identifier of the fee — same value used as entryId on the corresponding fees-type entry, and as the fee transaction id in the Transaction Activity API.

  - `fee.type` (string, required)
    Always `fees`. Aligns with the top-level transaction type.
    Enum: "fees"

  - `fee.subtype` (string)
    The category of fee — indicates the activity or instrument-lifecycle event the fee relates to.
    Enum: "fee_reversals", "incoming_wire_fees", "withdrawal_fees", "purchase_fees", "refund_fees", "atm_withdrawal_fees", "chargeback_fees", "transfer_fees", "send_fees", "outgoing_wire_transfer_fees", "custom_fees", "other_fees", "instrument_delete_fees", "funds_redemption_fees", "system_transaction_fees"

  - `creationTimestamp` (integer, required)

  - `lastUpdatedTimestamp` (integer)

  - `transaction` (any)
    The full transaction object. Schema matches the value of `type`.

  - `transaction.id` (string, required)
    The unique identifier of a Transfer transaction.

  - `transaction.profileId` (string, required)
    The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

  - `transaction.tag` (string)
    The tag field is a custom field that can be used to search and filter.

  - `transaction.source` (object, required)

  - `transaction.source.id` (string, required)

  - `transaction.source.type` (string, required)
    Enum: "managed_cards", "managed_accounts"

  - `transaction.description` (string)
    The description details that are included in the transaction as reference.

  - `transaction.state` (string, required)
    Status of the transaction.
    Enum: "INITIALISED", "COMPLETED", "REJECTED", "FAILED", "PENDING", "SCHEDULED", "CANCELLED"

  - `transaction.creationTimestamp` (integer, required)
    The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.

  - `transaction.scheduledTimestamp` (string)
    The epoch timestamp at which the transaction is scheduled to be executed.

  - `transaction.executionTimestamp` (string)
    The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED.

  - `transaction.cancellationReason` (string)
    The reason the scheduled transaction was cancelled.

  - `transaction.id` (string, required)
    The unique identifier of a send transaction.

  - `transaction.sourceFee` (object)
    The fee applied to the source.

  - `transaction.sourceFee.amount` (integer, required)
    The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

  - `transaction.destination` (any)
    The destination managed account or card to where the funds were sent.

  - `transaction.destinationFee` (object)
    The fee applied to the destination.

  - `transaction.destinationFee.amount` (integer, required)
    The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

  - `transaction.transactionAmount` (object, required)
    The original transaction amount before any fees were deducted.

  - `transaction.transactionAmount.amount` (integer, required)
    The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

  - `transaction.description` (string)
    The description details that are passed to the beneficiary.

  - `transaction.state` (string, required)
    The state of the send transaction, as follows:
- INVALID: The send transaction has failed initial validation checks.
- INITIALISED: The initial state of a send transaction when SCA is not required.
- PENDING_CHALLENGE: The send transaction requires the completion of a transaction confirmation challenge before it can be submitted.
- PENDING: The send transaction has exceeded the destination limit and is pending treasury approval.
- APPROVED: The send transaction that was submitted has been approved.
- COMPLETED: The requested funds have been sent from the source instrument.
- REJECTED: The send transaction that was submitted was rejected.
- FAILED: There was an issue with the send transaction, and the transaction has failed.
- RETURNED: The send transaction has been returned to the sender.
- SCHEDULED: The send transaction will be executed at the scheduled time.
- CANCELLED: The scheduled send transaction has been cancelled.
    Enum: "INVALID", "INITIALISED", "COMPLETED", "REJECTED", "FAILED", "PENDING", "PENDING_CHALLENGE", "APPROVED", "RETURNED", "SCHEDULED", "CANCELLED"

  - `transaction.challengeExemptionReason` (string)
    The Reason the transaction was exempted from SCA verification
    Enum: "LOW_VALUE", "TRUSTED_BENEFICIARY"

  - `transaction.id` (string, required)
    The unique identifier of an Outgoing Wire Transfer transaction.

  - `transaction.sourceInstrument` (object, required)
    The source managed account from where the funds were taken.

  - `transaction.sourceInstrument.type` (string, required)
    Enum: "managed_accounts"

  - `transaction.sourceInstrument.id` (string, required)

  - `transaction.purpose` (string)
    The purpose of the payment.

  - `transaction.description` (string)
    Transaction description.

  - `transaction.type` (string)
    The wire transfer rails used, from SEPA, Faster Payments, SWIFT or RIX.
    Enum: "SEPA", "FASTER_PAYMENTS", "SWIFT", "RIX"

  - `transaction.destination` (any)

  - `transaction.destination.name` (string, required)
    The beneficiary's full name. The allowed length and pattern is dependent on the bank account details type:
`IBANDetails`: >= `1` character and <= `150` characters. An extended character set is accepted to cater for all European languages. If `SEPA` does not support a particular character, it is automatically converted to an acceptable alternative, in line with `SEPA` scheme guidance.
`FasterPaymentsBankDetailsOrBACSBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;\{@\r\n]*$`
(please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe))

  - `transaction.destination.type` (string)
    The type of beneficiary account. Required only when `FasterPaymentsBankDetailsOrBACSBankDetails` are specified
    Enum: "PERSONAL", "BUSINESS"

  - `transaction.destination.address` (string)
    The beneficiary’s address. For `SEPA`, an extended character set is accepted to cater for all European languages. If `SEPA` does not support a particular character, it is automatically converted to an acceptable alternative, in line with `SEPA` scheme guidance.

  - `transaction.destination.bankName` (string)
    The beneficiary's bank name.

  - `transaction.destination.bankAddress` (string)
    The beneficiary's bank address.

  - `transaction.destination.bankCountry` (string)
    The beneficiary's bank country in ISO 3166 alpha-2 format.

  - `transaction.destination.bankAccountDetails` (any, required)
    Details of the beneficiary bank account, depending on the type of transfer chosen.

  - `transaction.destination.bankAccountDetails.iban` (string, required)
    International Bank Account Number, required for wire transfer over SEPA or RIX

  - `transaction.destination.bankAccountDetails.bankIdentifierCode` (string)
    BIC, for wire transfer over SEPA or RIX

  - `transaction.destination.bankAccountDetails.accountNumber` (string, required)
    Account number, required for wire transfer over Faster Payments.

  - `transaction.destination.bankAccountDetails.sortCode` (string, required)
    Sort code, required for wire transfer over Faster Payments.

  - `transaction.destination.bankAccountDetails.secondaryReference` (string)

  - `transaction.destination.nationality` (string)
    Nationality of the user - using ISO 3166 alpha-2.

  - `transaction.destination.dateOfBirth` (string)
    The date of birth in ISO 8601 format (YYYY-MM-DD).

  - `transaction.destination.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 150 characters.
An extended character set is accepted to cater for all European languages.
If SEPA does not support a particular character, it is automatically
converted to an acceptable alternative, in line with SEPA scheme guidance.

  - `transaction.destination.iban` (string, required)
    International Bank Account Number, required for wire transfer over SEPA.

  - `transaction.destination.bankIdentifierCode` (string)
    BIC (Bank Identifier Code) for wire transfer over SEPA.

  - `transaction.destination.address` (string)
    The beneficiary's address. An extended character set is accepted to cater
for all European languages. If SEPA does not support a particular character,
it is automatically converted to an acceptable alternative.

  - `transaction.destination.name` (string, required)
    The beneficiary's full name.

  - `transaction.destination.account` (string, required)
    Can be either an account number or an International Bank Account Number (IBAN).

  - `transaction.destination.bankIdentifierCode` (string)
    Required if account is not an IBAN. Bank Identifier Code (BIC).

  - `transaction.destination.address` (string, required)
    The beneficiary's address.

  - `transaction.destination.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 150 characters.
An extended character set is accepted to cater for all European languages.
If RIX does not support a particular character, it is automatically
converted to an acceptable alternative.

  - `transaction.destination.iban` (string, required)
    International Bank Account Number, required for wire transfer over RIX.

  - `transaction.destination.bankIdentifierCode` (string)
    BIC (Bank Identifier Code) for wire transfer over RIX.

  - `transaction.destination.address` (string)
    The beneficiary's address. An extended character set is accepted to cater
for all European languages. If RIX does not support a particular character,
it is automatically converted to an acceptable alternative.

  - `transaction.destination.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 140 characters.
Note: the ' symbol is the unicode value U+2019 (right single quotation mark)
and not the unicode value U+0027 (apostrophe).

  - `transaction.destination.type` (string, required)
    The type of beneficiary account. Required for Faster Payments.
    Enum: "PERSONAL", "BUSINESS"

  - `transaction.destination.accountNumber` (string, required)
    Account number, required for wire transfer over Faster Payments.

  - `transaction.destination.sortCode` (string, required)
    Sort code, required for wire transfer over Faster Payments.

  - `transaction.destination.secondaryReference` (string)
    Optional secondary reference for accounts without unique sort codes.

  - `transaction.destination.type` (string, required)
    Enum: "linked_accounts"

  - `transaction.destination.id` (string, required)

  - `transaction.state` (string, required)
    The state of the Outgoing wire transfer transaction, as follows:
- INVALID: The wire transfer has failed initial validation checks.
- PENDING_CHALLENGE: The wire transfer requires the completion of a transaction confirmation challenge before it can be submitted.
- SUBMITTED: The wire transfer has been submitted to the sending financial institution for processing.
- REJECTED: The wire transfer that was submitted was rejected.
- APPROVED: The wire transfer that was submitted has been approved and is being processed by the sending financial institution.
- FAILED: There was an issue with the wire transfer, and the transaction has failed.
- COMPLETED: The requested funds have been sent from the source instrument.
- RETURNED: The wire transfer has been returned to the sender.
- SCHEDULED: The wire transfer will be executed at the scheduled time.
- CANCELLED: The scheduled wire transfer has been cancelled.
- PENDING_CONFIRMATION: The wire transfer requires a manual confirmation by the user before proceeding.
    Enum: "INVALID", "PENDING_CHALLENGE", "SUBMITTED", "REJECTED", "APPROVED", "FAILED", "COMPLETED", "RETURNED", "SCHEDULED", "CANCELLED", "PENDING_CONFIRMATION"

  - `transaction.rejectedInfo` (string)
    Additional info when the outgoing wire transfer has been rejected, as follows:
- SYSTEM: The wire transfer was rejected by the system.
- USER: The wire transfer was rejected by the user.
    Enum: "SYSTEM", "USER"

  - `transaction.validationOutcomes` (array)

  - `transaction.validationOutcomes.category` (string, required)
    Enum: "UK_CONFIRMATION_OF_PAYEE", "SEPA_VERIFICATION_OF_PAYEE"

  - `transaction.validationOutcomes.categoryResult` (any, required)

  - `transaction.validationOutcomes.categoryResult.match` (string, required)
    The result of matching performed by the UK Confirmation of Payee responder
    Enum: "EXACT_MATCH", "CLOSE_MATCH", "NO_MATCH", "NOT_POSSIBLE"

  - `transaction.validationOutcomes.categoryResult.reasonCode` (string)
    The reason why the matching failed at the UK Confirmation of Payee responder:
- ANNM: The CoP responder confirms that the account `name` provided does not match;
- MBAM: The CoP responder indicates that the account `name` provided closely matches the actual account in its records, the actual account name is returned in the `accountName` field;
- BANM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that the actual account matching the `name` provided is actually BUSINESS;
- PANM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that the actual account matching the `name` provided is actually PERSONAL;
- BAMM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that an account closely matching the `name` provided is BUSINESS;
- PAMM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that an account closely matching the `name` provided is PERSONAL;
- AC01: The account does not exist in the CoP responders books, the `accountNumber` specified is likely incorrect;
- IVCR: The CoP responder was unable to locate an account based on the `secondaryReference` field;
- ACNS: The account is not supported for CoP by the CoP responder;
- OPTO: The owner of the account has opted out of CoP service by the CoP responder;
- CASS: The account has been switched using the Current Account Switch Service;
- SCNS: The `sortCode` provided is not supported at endpoint;
    Enum: "ANNM", "MBAM", "BANM", "PANM", "BAMM", "PAMM", "AC01", "IVCR", "ACNS", "OPTO", "CASS", "SCNS"

  - `transaction.validationOutcomes.categoryResult.accountName` (string)
    CoP: Returned when the `match` is a `CLOSE_MATCH` and the `reasonCode` is MBAM, BAMM or PAMM
VoP: Returned when the `match` is a `CLOSE_MATCH`

  - `transaction.validationOutcomes.categoryResult.match` (string, required)
    The result of the SEPA Verification of Payee check performed by the responding PSP.
    Enum: "MATCH", "NO_MATCH", "CLOSE_MATCH", "NOT_POSSIBLE"

  - `transaction.validationOutcomes.categoryResult.accountName` (string)
    The name of the account holder as registered with the responding PSP.
Returned when the match result is CLOSE_MATCH to help the payer verify the payee.

  - `transaction.id` (string, required)
    The unique identifier of the Correspondent Banking OWT.

  - `transaction.originator` (any, required)

  - `transaction.originator.name` (string, required)
    Full name of the individual as documented on official ID.

  - `transaction.originator.address` (string, required)
    Full residential address of the individual.

  - `transaction.originator.country` (string, required)
    ISO 3166-1 alpha-2 country code.

  - `transaction.originator.bankAccountDetails` (object, required)
    Bank account details for the originator.

  - `transaction.originator.bankAccountDetails.account` (string, required)
    Can be either an account number or an International Bank Account Number (IBAN).

  - `transaction.originator.bankAccountDetails.financialInstitution` (string, required)
    Bank Identifier Code (BIC) of the originator's financial institution.

  - `transaction.originator.supplementaryInformation` (any)

  - `transaction.originator.supplementaryInformation.documentType` (string, required)
    Type of personal identification document.
    Enum: "NATIONAL_ID", "PASSPORT", "TAX_ID", "OTHER"

  - `transaction.originator.supplementaryInformation.documentNumber` (string, required)
    Personal identification document number.

  - `transaction.originator.supplementaryInformation.dateOfBirth` (string, required)
    Date of birth in YYYY-MM-DD format.

  - `transaction.originator.supplementaryInformation.placeOfBirth` (string, required)
    Place of birth - city and country.

  - `transaction.originator.name` (string, required)
    Full legal name of the business entity.

  - `transaction.originator.registrationAddress` (string, required)
    Registered address of the business entity.

  - `transaction.originator.registrationCountry` (string, required)
    ISO 3166-1 alpha-2 country code of registration.

  - `transaction.originator.supplementaryInformation` (object)
    Business identification for a business originator.

  - `transaction.originator.supplementaryInformation.documentType` (string, required)
    Type of business identification document.
    Enum: "LEI", "REGISTRATION_NUMBER", "TAX_ID", "OTHER"

  - `transaction.originator.supplementaryInformation.documentNumber` (string, required)
    Business identification document number (e.g. LEI code, company registration number).

  - `transaction.beneficiary` (any, required)

  - `transaction.beneficiary.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 35 characters.
An extended character set is accepted to cater for all European languages.
If SEPA does not support a particular character, it is automatically
converted to an acceptable alternative, in line with SEPA scheme guidance.

  - `transaction.beneficiary.iban` (string, required)
    International Bank Account Number, required for wire transfer over SEPA.

  - `transaction.beneficiary.bankIdentifierCode` (string)
    BIC (Bank Identifier Code) for wire transfer over SEPA.

  - `transaction.beneficiary.address` (string, required)
    The beneficiary's address. Required for correspondent banking transfers.
Maximum 105 characters (split into 3x35-char lines by the provider).

  - `transaction.beneficiary.bankName` (string)
    The beneficiary's bank name.

  - `transaction.beneficiary.bankAddress` (string)
    The beneficiary's bank address.

  - `transaction.beneficiary.bankCountry` (string)
    The beneficiary's bank country in ISO 3166 alpha-2 format.

  - `transaction.beneficiary.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 35 characters.
An extended character set is accepted to cater for all European languages.
If RIX does not support a particular character, it is automatically
converted to an acceptable alternative.

  - `transaction.beneficiary.iban` (string, required)
    International Bank Account Number, required for wire transfer over RIX.

  - `transaction.beneficiary.bankIdentifierCode` (string)
    BIC (Bank Identifier Code) for wire transfer over RIX.

  - `transaction.beneficiary.name` (string, required)
    The beneficiary's full name. >= 1 character and <= 35 characters.
Note: the ' symbol is the unicode value U+2019 (right single quotation mark)
and not the unicode value U+0027 (apostrophe).

  - `transaction.beneficiary.type` (string, required)
    The type of beneficiary account. Required for Faster Payments.
    Enum: "PERSONAL", "BUSINESS"

  - `transaction.beneficiary.accountNumber` (string, required)
    Account number, required for wire transfer over Faster Payments.

  - `transaction.beneficiary.sortCode` (string, required)
    Sort code, required for wire transfer over Faster Payments.

  - `transaction.beneficiary.secondaryReference` (string)
    Optional secondary reference for accounts without unique sort codes.

  - `transaction.description` (string)
    These details are passed to the beneficiary as the `reference`. This field is mandatory for wire transfers executed over `SEPA`. The allowed length is dependent on the payment type:
`SEPA` <= `35` characters. An extended character set is accepted to cater for all European languages. If `SEPA` does not support a particular character, it is automatically converted to an acceptable alternative, in line with `SEPA` scheme guidance.
`Faster Payments` <= `18` characters

  - `transaction.externalData` (array)
    Additional external data as key-value pairs.

  - `transaction.externalData.name` (string, required)
    Name/key of the external data.

  - `transaction.externalData.value` (string, required)
    Value of the external data.

  - `transaction.state` (string, required)
    The state of the correspondent bank transfer transaction, as follows:
- INVALID: The transfer has failed initial validation checks.
- PENDING_CHALLENGE: The transfer requires the completion of a transaction confirmation challenge before it can be submitted.
- SUBMITTED: The transfer has been submitted to the sending financial institution for processing.
- REJECTED: The transfer that was submitted was rejected.
- APPROVED: The transfer that was submitted has been approved and is being processed by the sending financial institution.
- FAILED: There was an issue with the transfer, and the transaction has failed.
- COMPLETED: The requested funds have been sent from the source instrument.
- RETURNED: The transfer has been returned to the sender.
- SCHEDULED: The transfer will be executed at the scheduled time.
- CANCELLED: The scheduled transfer has been cancelled.
- PENDING_CONFIRMATION: The transfer requires a manual confirmation by the user before proceeding.
    Enum: "INVALID", "PENDING_CHALLENGE", "SUBMITTED", "REJECTED", "APPROVED", "FAILED", "COMPLETED", "RETURNED", "SCHEDULED", "CANCELLED", "PENDING_CONFIRMATION"

  - `transaction.id` (string, required)
    The unique identifier of the incoming wire transfer.

  - `transaction.state` (string, required)
    The state of an incoming wire transfer:
- PENDING: The transfer has been received and is being processed. Funds have not yet been credited to the destination account.
- COMPLETED: Funds have been credited to the destination account.
- REJECTED: The transfer was not accepted; funds were not credited.
    Enum: "PENDING", "COMPLETED", "REJECTED"

  - `transaction.paymentNetwork` (string)
    The payment network over which the transfer was received.
    Enum: "SEPA", "FASTER_PAYMENTS", "SWIFT", "RIX", "BACS", "CHAPS", "TARGET"

  - `transaction.senderName` (string)
    The name of the sender.

  - `transaction.senderIban` (string)
    The IBAN of the sender.

  - `transaction.senderReference` (string)
    The payment reference provided by the sender.

  - `transaction.forex` (object)
    Foreign exchange details when the transaction involved currency conversion.

  - `transaction.forex.exchangeRate` (object)
    A floating point number, represented as a value and its scale. Its actual value can be obtained using the equation: value * pow(10, -scale).

  - `transaction.forex.exchangeRate.value` (integer)

  - `transaction.forex.exchangeRate.scale` (integer)

  - `transaction.isInstant` (boolean)
    Whether this was an instant payment.

  - `transaction.createdAt` (integer, required)
    When the IWT was received, expressed in Epoch timestamp using millisecond precision.

  - `transaction.executedAt` (integer)
    When the IWT was settled, expressed in Epoch timestamp using millisecond precision.

  - `transaction.id` (string, required)
    Stable identifier across the entire payment lifecycle.

  - `transaction.type` (string, required)
    High-level type of card payment, derived from the first event.
- `PURCHASE` — standard purchase at a merchant. A purchase of zero is the check a merchant runs to prove the card is live before storing it on file: no money moves, no hold is placed, and it is `SETTLED` on arrival since nothing further will follow. If the merchant later charges the same purchase, the card payment adopts the real type and amount.
- `REFUND` — refund from a merchant to the cardholder.
- `ORIGINAL_CREDIT` — push credit to the cardholder (OCT).
- `ACCOUNT_FUNDING` — load funds onto an account.
- `CASH_WITHDRAWAL` — cash withdrawn at ATM or scheme cash service.
- `BALANCE_INQUIRY` — non-financial balance check.
    Enum: "PURCHASE", "REFUND", "ORIGINAL_CREDIT", "ACCOUNT_FUNDING", "CASH_WITHDRAWAL", "BALANCE_INQUIRY"

  - `transaction.card` (object, required)
    Information about a managed card — used wherever a card appears (the card on a card payment, or the access instrument that initiated a transaction).

  - `transaction.card.id` (string, required)
    The unique identifier of the managed card.

  - `transaction.card.type` (string, required)
    Enum: "managed_cards"

  - `transaction.card.mode` (string)
    The mode the card was created in.
- `prepaid`: The card has its own balance and can have funds transferred to or from it.
- `debit`: The card has no balance of its own; it draws on its parent managed account up to a configurable spend limit.
    Enum: "prepaid", "debit"

  - `transaction.card.friendlyName` (string)
    The friendly name chosen for the card.

  - `transaction.card.nameOnCard` (string)
    The cardholder name printed on the card.

  - `transaction.card.cardBrand` (string)
    The scheme of the card. Restricted to schemes supported by card payments.
    Enum: "MASTERCARD", "VISA"

  - `transaction.card.cardNumberFirstSix` (string)
    The first six digits of the card number (BIN range).

  - `transaction.card.cardNumberLastFour` (string)
    The last four digits of the card number.

  - `transaction.card.linkedUserId` (string)
    Identifier of the authorised user the card is assigned to. Populated only when the card has been assigned to a specific user.

  - `transaction.card.parentManagedAccountId` (string)
    Identifier of the managed account this card draws funds from. Populated only when `mode` is `debit`.

  - `transaction.merchant` (object, required)
    Information about a merchant — used wherever a merchant appears in card-payment flows, statement entries, and transaction activity.

  - `transaction.merchant.id` (string, required)
    Merchant identifier (MID) — the acquirer-assigned code that identifies the merchant on card-scheme messages (ISO 8583 DE 42 Card Acceptor Identification Code).

  - `transaction.merchant.name` (string, required)
    Merchant name (DBA name).

  - `transaction.merchant.nameOther` (string)
    Alternative merchant name as supplied by the card network, when present.

  - `transaction.merchant.networkId` (string)
    Identifier assigned by the acquirer or scheme to the merchant.

  - `transaction.merchant.categoryCode` (string)
    ISO 18245 merchant category code (MCC).

  - `transaction.merchant.description` (string)
    Free-text description of the merchant.

  - `transaction.merchant.street` (string)
    Street address of the merchant terminal.

  - `transaction.merchant.city` (string)
    City of the merchant terminal.

  - `transaction.merchant.state` (string)
    Subdivision (state, province, region) of the merchant terminal.

  - `transaction.merchant.postalCode` (string)
    Postal code of the merchant terminal.

  - `transaction.merchant.country` (string)
    ISO 3166-1 alpha-2 country code of the merchant terminal.

  - `transaction.merchant.telephone` (string)
    Merchant telephone.

  - `transaction.merchant.url` (string)
    Merchant website.

  - `transaction.merchant.contact` (string)
    Merchant contact (name or email of a representative, when present).

  - `transaction.merchant.reference` (string)
    Merchant-supplied reference for the transaction (the merchant's own identifier for what they billed).

  - `transaction.merchant.logoUrl` (string)
    Merchant logo URL, when available.

  - `transaction.status` (string, required)
    Lifecycle status of a CardPayment.
- `SETTLEMENT_IN_PROGRESS` — authorised, not yet (or not fully) settled. The hold is still on the card.
- `SETTLED` — terminal; nothing further is expected. The customer has been charged, except for a zero-amount card check, which settles on arrival without a charge.
- `DECLINED` — the latest authorisation was declined; no money moved.
- `CANCELLED` — the authorisation was cancelled/reversed before settlement; no charge applied.
- `EXPIRED` — the authorisation timed out without settling.
    Enum: "SETTLEMENT_IN_PROGRESS", "SETTLED", "DECLINED", "CANCELLED", "EXPIRED"

  - `transaction.relatedCardPaymentId` (string)
    Direct parent linkage — id of the single prior card payment that this payment derives from. Set on:
- `REFUND` payments referring to the original purchase
- `ORIGINAL_CREDIT` payments referring to the prior purchase being credited
- Tip / add-on payments referring to the original ride / fare / service
- Installment / recurring payments referring to the initial setup transaction

Corresponds to Visa's "Original Transaction ID" linkage and Mastercard's DE 105 subelement 002 (Economically Related Transaction Identifier). Not used for messages that share a single lifecycle — those are events on the same card payment.

  - `transaction.events` (array, required)
    Ordered event stream — every scheme message in this card payment's lifecycle. For headline display use `displayAmount`; walk this when you need scheme-level detail (per-event amounts, fees, reason codes, reversals).

  - `transaction.events.type` (string, required)
    Type of event recorded against a CardPayment. The `reversal` flag on each event distinguishes a reversal from the original action.
    Enum: "AUTHORISATION", "SETTLEMENT", "REFUND", "ORIGINAL_CREDIT"

  - `transaction.creationTimestamp` (integer, required)
    When the first event for this payment was received, Epoch millis.

  - `transaction.lastUpdatedTimestamp` (integer)
    When the most recent event for this payment was received, Epoch millis.

  - `transaction.id` (string, required)
    The unique identifier of the fee transaction.

  - `transaction.status` (string, required)
    Lifecycle status of a fee transaction:
- PENDING: Fee accompanies a transaction that is still processing; it may still be cancelled.
- COMPLETED: Fee was charged and posted to the instrument balance.
- CANCELLED: Fee was cancelled before being charged.
- REVERSED: Fee was previously charged and has been reversed.
    Enum: "PENDING", "COMPLETED", "CANCELLED", "REVERSED"

  - `transaction.description` (string)

  - `transaction.relatedTransactionId` (string)
    The parent transaction this fee relates to, if any.

  - `transaction.creationTimestamp` (integer, required)

  - `transaction.lastUpdatedTimestamp` (integer)

  - `transaction.id` (string, required)
    The unique identifier of the system transaction.

  - `transaction.subtype` (string)
    The specific kind of system-generated transaction.
    Enum: "account_closures", "chargebacks_represented", "chargebacks_won", "manual_auth_expiries", "negative_card_balances", "balance_adjustments", "lost_stolen_replacement_balance_transfers"

  - `transaction.reason` (string)
    Operational reason or context for the system transaction.

  - `transaction.relatedTransactionId` (string)
    A related transaction this system event corrects or compensates, if any.

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "STEP_UP_REQUIRED", "ACCESS_TOKEN_REQUIRED", "INSUFFICIENT_PERMISSIONS"

## Response 404 fields (application/json):

  - `code` (string)

  - `message` (string)

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

