> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ca.cryptoprocessing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get transaction details

> Get the current details of one of your transactions, such as a withdrawal, an exchange or a deposit.

> [!TIP]
>
> Invoices and payment requests can't be looked up with this endpoint, even by their own ID or `foreign_id`. To track them, use their callbacks.

For every error this endpoint returns and what it means, see [API errors: Get transaction details](https://docs.ca.cryptoprocessing.com/api-reference/errors.md#get-transaction-details).


## OpenAPI

````yaml GET /v2/transactions/info
openapi: 3.1.0
info:
  title: Merchant Backend V2
  version: '1.0'
  description: Documentation for merchant backend processing endpoints
servers:
  - url: https://app.ca.cryptoprocessing.com/api
security:
  - xProcessingKey: []
tags:
  - name: Status
  - name: Balance
  - name: Currencies
  - name: Deposit addresses
  - name: Withdrawal
  - name: Exchange
  - name: Invoices
  - name: Transactions
paths:
  /v2/transactions/info:
    get:
      tags:
        - Transactions
      summary: Fetch transaction metadata
      description: >-
        Get the current details of one of your transactions, such as a
        withdrawal, an exchange or a deposit.
      parameters:
        - $ref: '#/components/parameters/XProcessingSignatureHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: By ID
                  type: object
                  properties:
                    id:
                      type: integer
                      minimum: 1
                      description: >-
                        The transaction's ID, a number. It's the `id` in the
                        response to the request that created the transaction,
                        and in the transaction's callbacks. Use it to find a
                        deposit, or one specific transaction among several with
                        the same `txid`.
                      example: 717535
                  required:
                    - id
                - title: By foreign ID
                  type: object
                  properties:
                    foreign_id:
                      type: string
                      description: >-
                        The `foreign_id` you sent when creating a withdrawal or
                        an exchange. Case-insensitive. Deposits can't be found
                        this way (a deposit address's `foreign_id` is shared by
                        every deposit to it), so search by `id` instead.
                      example: withdrawal_123
                  required:
                    - foreign_id
                - title: By transaction hash
                  type: object
                  properties:
                    txid:
                      type: string
                      description: >-
                        The `txid` of one of the transaction's `transactions`
                        entries. For an on-chain transaction it's the blockchain
                        transaction hash; for an off-chain transfer (an
                        `internal` entry) it's an internal transfer ID, which
                        isn't a blockchain hash. Neither is the transaction's
                        `id`. Case-insensitive. Send the full value, including a
                        `0x` prefix if it has one. If several transactions share
                        the `txid` (for example, a withdrawal and the deposit it
                        produced, or several withdrawals sent in one blockchain
                        transaction), only one of them is returned, so use `id`
                        to find a specific one.
                      example: >-
                        3950ad8149421a850d01dff88f024810e363ac18c9e8dd9bc0b9116e7937ad93
                  required:
                    - txid
            examples:
              Find a deposit by its ID:
                value:
                  id: 134702831
              Find a deposit with conversion by its ID:
                value:
                  id: 134702845
              Find a top-up of your merchant wallet by its ID:
                value:
                  id: 134702860
              Find a withdrawal by its foreign ID:
                value:
                  foreign_id: withdrawal_123
              Find an off-chain withdrawal by its internal txid:
                value:
                  txid: CP:USDCW3880412
              Find a withdrawal with conversion by its foreign ID:
                value:
                  foreign_id: withdrawal_125
              Find a withdrawal waiting for approval by its foreign ID:
                value:
                  foreign_id: withdrawal_126
              Find a declined withdrawal by its foreign ID:
                value:
                  foreign_id: withdrawal_127
              Find an instant withdrawal by its foreign ID:
                value:
                  foreign_id: withdrawal_128
              Find an exchange by its foreign ID:
                value:
                  foreign_id: exchange_123
      responses:
        '200':
          description: >-
            The response has the same fields as the transaction's
            [callback](/api-reference/callbacks/callbacks-overview), except a
            few that only callbacks have, such as `origin` in the callbacks for
            top-ups of your merchant wallet and a deposit's `sender`. Use it to
            check a transaction's status, or to get the details of a callback
            your server missed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    minimum: 1
                    description: >-
                      Transaction ID, the same `id` as in the transaction's
                      callbacks.
                    example: 717535
                  foreign_id:
                    type:
                      - string
                      - 'null'
                    description: >-
                      The withdrawal's unique identifier in your system. Present
                      only for withdrawals, and `null` for an automatic
                      withdrawal to a cold address; omitted for deposits and
                      exchanges (an exchange can still be found by its
                      `foreign_id`).
                  end_user_reference:
                    type:
                      - string
                      - 'null'
                    description: >-
                      For a withdrawal, the `end_user_reference` from the
                      request that created it; for a deposit, the
                      `end_user_reference` of the deposit address. Omitted for
                      exchanges, and for a deposit to an address that has none.
                      Can be `null` for some deposits, such as top-ups of your
                      merchant wallet.
                  type:
                    type: string
                    description: >
                      Transaction type, the same as in the transaction's
                      callback:

                      - `withdrawal`: a withdrawal without conversion.

                      - `withdrawal_exchange`: a withdrawal with conversion.

                      - `withdrawal_instant`: an instant withdrawal without
                      conversion.

                      - `withdrawal_instant_exchange`: an instant withdrawal
                      with conversion.

                      - `exchange`: an exchange.

                      - `deposit`: a deposit without conversion.

                      - `deposit_exchange`: a deposit converted to another
                      currency.

                      - `deposit_wallet_client`: a top-up of your merchant
                      wallet.

                      - `withdrawal_to_cold_client`: an [automatic withdrawal to
                      your cold
                      address](/merchant-administration/configure-automatic-withdrawals-to-cold-addresses).
                    example: withdrawal
                  crypto_address:
                    type: object
                    description: >-
                      Address details: the destination of a withdrawal, or the
                      address that received a deposit. Omitted for exchanges.
                    required:
                      - id
                      - currency
                      - address
                      - tag
                    properties:
                      id:
                        type: integer
                        minimum: 1
                        description: >-
                          Address ID. For a deposit in a different currency than
                          the one assigned to the address (a cross-currency
                          deposit), this is the ID of a separate record for the
                          deposited currency, not the `id` that
                          [/v2/addresses/take](/api-reference/endpoints/addresses-take)
                          returned, so use `foreign_id` to identify the address.
                        example: 176
                      currency:
                        type: string
                        description: >-
                          Code of the address's currency: the currency sent to
                          the address by a withdrawal, or the deposited
                          currency. For a cross-currency deposit, this is the
                          currency actually deposited, not the one assigned to
                          the address.
                        example: BTC
                      convert_to:
                        type: string
                        description: >-
                          Conversion target currency. Present only when address
                          has conversion logic.
                        example: USD
                      address:
                        type: string
                        description: >-
                          The withdrawal's destination address, or the address
                          that received the deposit.
                        example: bc1qgussp48sq8mwz040dz49pjy6nauu6sucxjwylm
                        minLength: 1
                      tag:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Destination tag or memo. `null` if the transaction has
                          none, for example for a currency that doesn't use one.
                      foreign_id:
                        type: string
                        description: >-
                          The `foreign_id` of the deposit address. Present only
                          for deposits to an address from
                          [/v2/addresses/take](/api-reference/endpoints/addresses-take).
                          Use it to identify which customer made the deposit,
                          also for a cross-currency deposit.
                  currency_sent:
                    type: object
                    description: >-
                      The currency and amount the transaction starts from: for a
                      deposit, what the customer sent; for a withdrawal, the
                      amount withdrawn (in the currency converted from, for a
                      withdrawal with conversion); for an exchange, the currency
                      exchanged from. Omitted while a withdrawal is `pending`
                      approval, and for a `cancelled` or `declined` withdrawal.
                    required:
                      - currency
                      - amount
                    properties:
                      currency:
                        type: string
                        description: Currency ISO code.
                      amount:
                        type: string
                        description: Amount sent, in `currency`.
                  currency_received:
                    type: object
                    description: >-
                      The currency and amount the transaction results in: for a
                      deposit, the amount received (after the conversion, for a
                      deposit with conversion), before fees; for a withdrawal,
                      what's sent to the address; for an exchange, the currency
                      exchanged to, before fees. Omitted in the same cases as
                      `currency_sent`. For a withdrawal with conversion that's
                      still `verifying`, `amount` can be `0.00000000` until the
                      exchange is done.
                    required:
                      - currency
                      - amount
                    properties:
                      currency:
                        type: string
                        description: Currency ISO code.
                      amount:
                        type: string
                        description: Amount received, in `currency`.
                      amount_minus_fee:
                        type: string
                        description: >-
                          Amount received minus fees. Present only for deposits
                          (every `deposit*` type).
                  transactions:
                    type: array
                    description: >
                      Transaction entries. Each entry has a `transaction_type`
                      that determines which fields are present:

                      - `blockchain`: On-chain transactions (has address, tag,
                      txid and confirmations, and can have riskscore)

                      - `internal`: Transfers between addresses managed by the
                      platform (has address, tag, txid, confirmations). The
                      `txid` is an internal transfer ID rather than a blockchain
                      hash, shared by the withdrawal and the deposit it
                      produces.

                      - `exchange`: Currency exchanges (has currency_to,
                      amount_to)
                    items:
                      type: object
                      required:
                        - id
                        - currency
                        - transaction_type
                        - type
                        - amount
                      properties:
                        id:
                          type: integer
                          description: >-
                            ID of this entry, not of the transaction. To look up
                            the transaction, use the top-level `id`.
                        currency:
                          type: string
                          description: >-
                            Code of the entry's currency: the currency sent or
                            received at the address, or, for an `exchange`
                            entry, the currency converted from.
                        currency_to:
                          type: string
                          description: >-
                            Destination currency. Present only for `exchange`
                            entries.
                        transaction_type:
                          type: string
                          enum:
                            - blockchain
                            - internal
                            - exchange
                        type:
                          type: string
                          description: >
                            What the entry records:

                            - `deposit`: funds received at the address, in the
                            `blockchain` or `internal` entry of a deposit.

                            - `deposit_wallet_client`: funds received at a
                            top-up address of your merchant wallet.

                            - `withdrawal`: funds sent to the address, in the
                            `blockchain` or `internal` entry of any withdrawal,
                            instant withdrawals included.

                            - `withdrawal_to_cold_client`: funds sent to your
                            cold address by an automatic withdrawal.

                            - `exchange`: a conversion between currencies, in an
                            `exchange` entry: the exchange itself, or the
                            conversion of a deposit or withdrawal with
                            conversion.
                        address:
                          type: string
                          description: >-
                            Cryptocurrency address. Present for `blockchain` and
                            `internal` entries.
                        tag:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Destination tag. Present for `blockchain` and
                            `internal` entries.
                        amount:
                          type: string
                          description: >-
                            Amount of the entry, in `currency`: the amount sent
                            or received at the address, or, for an `exchange`
                            entry, the amount converted.
                        amount_to:
                          type: string
                          description: >-
                            Amount obtained from the conversion, in
                            `currency_to`, before fees. Present only for
                            `exchange` entries.
                        txid:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Transaction hash, or the internal transfer ID for
                            `internal` entries. `null` until a withdrawal is
                            sent to the blockchain.
                        riskscore:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Risk score (0-100). Only `blockchain` entries can
                            have one; it's `null` or omitted when the
                            transaction wasn't scored.
                        confirmations:
                          type: string
                          description: >-
                            Number of blockchain confirmations. Present for
                            `blockchain` and `internal` entries; always `"0"`
                            for `internal` entries.
                  fees:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Fee type identifier, for example `mining`,
                            `fee_crypto_deposit`, `fee_crypto_deposit_internal`,
                            `fee_crypto_deposit_to_fiat_internal`,
                            `fee_crypto_deposit_wallet_client`,
                            `fee_crypto_withdrawal_from_crypto`,
                            `fee_crypto_sell_for_fiat` or
                            `fee_crypto_exchange_to_crypto`. `fees` is an empty
                            array when no fee was charged.
                        currency:
                          type: string
                          description: Fee currency ISO code.
                        amount:
                          type: string
                          description: >-
                            Fee amount. Returns '0' when system pays network
                            fees.
                      required:
                        - type
                        - currency
                        - amount
                  error:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Empty string, unless the transaction was cancelled,
                      declined or failed: then the reason, for example
                      ``Withdrawal to the address `<address>` is forbidden``.
                  status:
                    type: string
                    description: >
                      Transaction status:

                      - `verifying`: the transaction was accepted and is being
                      checked.

                      - `not_confirmed`: the transaction is being processed:
                      waiting for blockchain confirmations, or, for a
                      withdrawal, to be sent to the blockchain (`txid` can still
                      be `null`).

                      - `pending`: the withdrawal is waiting for approval in the
                      portal.

                      - `confirmed`, `cancelled`, `declined`: final statuses.


                      Callbacks aren't sent for `verifying` or, for withdrawals,
                      `not_confirmed`, so this endpoint is the only way to see
                      them.
                    enum:
                      - verifying
                      - not_confirmed
                      - pending
                      - confirmed
                      - cancelled
                      - declined
                  additional_details:
                    type:
                      - object
                      - 'null'
                    description: >-
                      Additional transaction details. Present only when
                      available.
                required:
                  - id
                  - type
                  - transactions
                  - fees
                  - error
                  - status
              examples:
                Find a deposit by its ID:
                  value:
                    id: 134702831
                    end_user_reference: user_12345
                    type: deposit
                    crypto_address:
                      id: 4769782
                      currency: BTC
                      address: 39mFf3X46YzUtfdwVQpYXPCMydc74ccbAZ
                      tag: null
                      foreign_id: user_12345
                    currency_sent:
                      currency: BTC
                      amount: '0.06531575'
                    currency_received:
                      currency: BTC
                      amount: '0.06531575'
                      amount_minus_fee: '0.06511980'
                    transactions:
                      - id: 3879601
                        currency: BTC
                        transaction_type: blockchain
                        type: deposit
                        address: 39mFf3X46YzUtfdwVQpYXPCMydc74ccbAZ
                        tag: null
                        amount: '0.06531575'
                        txid: >-
                          3950ad8149421a850d01dff88f024810e363ac18c9e8dd9bc0b9116e7937ad93
                        riskscore: '0.5'
                        confirmations: '3'
                    fees:
                      - type: fee_crypto_deposit
                        currency: BTC
                        amount: '0.00019595'
                    error: ''
                    status: confirmed
                Find a deposit with conversion by its ID:
                  value:
                    id: 134702845
                    end_user_reference: user_12345
                    type: deposit_exchange
                    crypto_address:
                      id: 4769790
                      currency: BTC
                      convert_to: USD
                      address: bc1q9h7garjxqn8chx3hwqd0zu0snkkxg3kg6d2fpf
                      tag: null
                      foreign_id: user_12345
                    currency_sent:
                      currency: BTC
                      amount: '0.00500000'
                    currency_received:
                      currency: USD
                      amount: '462.44773593'
                      amount_minus_fee: '455.51101989'
                    transactions:
                      - id: 3879640
                        currency: BTC
                        transaction_type: blockchain
                        type: deposit
                        address: bc1q9h7garjxqn8chx3hwqd0zu0snkkxg3kg6d2fpf
                        tag: null
                        amount: '0.00500000'
                        txid: >-
                          8d2f6b1a4c9e3f7d0b5a2e8c6f1d4b9a7e3c0f5d2b8a6e4c1f9d7b3a5e0c2f81
                        riskscore: null
                        confirmations: '2'
                      - id: 3879641
                        currency: BTC
                        currency_to: USD
                        transaction_type: exchange
                        type: exchange
                        amount: '0.00500000'
                        amount_to: '462.44773593'
                    fees:
                      - type: fee_crypto_deposit_to_fiat
                        currency: USD
                        amount: '6.93671604'
                    error: ''
                    status: confirmed
                Find a top-up of your merchant wallet by its ID:
                  value:
                    id: 134702860
                    end_user_reference: null
                    type: deposit_wallet_client
                    crypto_address:
                      id: 3461330
                      currency: USDC
                      address: '0x4E9b2c7D1a5F8e3B6d0C9A2F7e4d1B8c5a3F6e9d'
                      tag: null
                    currency_sent:
                      currency: USDC
                      amount: '500.00000000'
                    currency_received:
                      currency: USDC
                      amount: '500.00000000'
                      amount_minus_fee: '499.00000000'
                    transactions:
                      - id: 3879655
                        currency: USDC
                        transaction_type: blockchain
                        type: deposit_wallet_client
                        address: '0x4E9b2c7D1a5F8e3B6d0C9A2F7e4d1B8c5a3F6e9d'
                        tag: null
                        amount: '500.00000000'
                        txid: >-
                          0x5b8e1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b3d6a9c2f5e8b
                        confirmations: '12'
                    fees:
                      - type: fee_crypto_deposit_wallet_client
                        currency: USDC
                        amount: '1.00000000'
                    error: ''
                    status: confirmed
                Find a withdrawal by its foreign ID:
                  value:
                    id: 134702871
                    foreign_id: withdrawal_123
                    end_user_reference: user_12345
                    type: withdrawal
                    crypto_address:
                      id: 4769801
                      currency: BTC
                      address: 115Mn1jCjBh1CNqug7yAB21Hq2rw8PfmTA
                      tag: null
                    currency_sent:
                      currency: BTC
                      amount: '0.02000000'
                    currency_received:
                      currency: BTC
                      amount: '0.02000000'
                    transactions:
                      - id: 3879670
                        currency: BTC
                        transaction_type: blockchain
                        type: withdrawal
                        address: 115Mn1jCjBh1CNqug7yAB21Hq2rw8PfmTA
                        tag: null
                        amount: '0.02000000'
                        txid: >-
                          bb040d895ef7141ea0b06b04227d8f5dd4ee12d5b890e6e5633f6439393a666b
                        riskscore: null
                        confirmations: '0'
                    fees:
                      - type: mining
                        currency: BTC
                        amount: '0.00007402'
                    error: ''
                    status: confirmed
                Find an off-chain withdrawal by its internal txid:
                  value:
                    id: 134702880
                    foreign_id: withdrawal_124
                    end_user_reference: user_12345
                    type: withdrawal
                    crypto_address:
                      id: 4769812
                      currency: USDC
                      address: '0x8c3a6F1D9b4E2a7c5D0F8e3b1a6d9C4F2E7b5A0d'
                      tag: null
                    currency_sent:
                      currency: USDC
                      amount: '250.00000000'
                    currency_received:
                      currency: USDC
                      amount: '250.00000000'
                    transactions:
                      - id: 3880412
                        currency: USDC
                        transaction_type: internal
                        type: withdrawal
                        address: '0x8c3a6F1D9b4E2a7c5D0F8e3b1a6d9C4F2E7b5A0d'
                        tag: null
                        amount: '250.00000000'
                        txid: CP:USDCW3880412
                        confirmations: '0'
                    fees: []
                    error: ''
                    status: confirmed
                Find a withdrawal with conversion by its foreign ID:
                  value:
                    id: 134702893
                    foreign_id: withdrawal_125
                    end_user_reference: user_12345
                    type: withdrawal_exchange
                    crypto_address:
                      id: 4769825
                      currency: ETH
                      address: '0x2F7d4A9C1E6b3d8F5a0C7E2B9d4f1A6C3E8b5d0a'
                      tag: null
                    currency_sent:
                      currency: USDC
                      amount: '100.00000000'
                    currency_received:
                      currency: ETH
                      amount: '0.04057700'
                    transactions:
                      - id: 3880431
                        currency: ETH
                        transaction_type: blockchain
                        type: withdrawal
                        address: '0x2F7d4A9C1E6b3d8F5a0C7E2B9d4f1A6C3E8b5d0a'
                        tag: null
                        amount: '0.04057700'
                        txid: >-
                          0x9a4c7e2b5d8f1a3c6e9b2d5f8a1c4e7b0d3f6a9c2e5b8d1f4a7c0e3b6d9f2a5c
                        riskscore: null
                        confirmations: '0'
                      - id: 3880432
                        currency: USDC
                        currency_to: ETH
                        transaction_type: exchange
                        type: exchange
                        amount: '100.00000000'
                        amount_to: '0.04057700'
                    fees:
                      - type: fee_crypto_withdrawal_from_crypto
                        currency: ETH
                        amount: '0.00040577'
                    error: ''
                    status: confirmed
                Find a withdrawal waiting for approval by its foreign ID:
                  value:
                    id: 134702904
                    foreign_id: withdrawal_126
                    end_user_reference: user_12345
                    type: withdrawal
                    crypto_address:
                      id: 4769838
                      currency: USDC
                      address: '0x6B1e8D3a5c0F7e2b4A9D6C1F8E3B5D0A7C2E9f4B'
                      tag: null
                    transactions:
                      - id: 3880447
                        currency: USDC
                        transaction_type: blockchain
                        type: withdrawal
                        address: '0x6B1e8D3a5c0F7e2b4A9D6C1F8E3B5D0A7C2E9f4B'
                        tag: null
                        amount: '5000.00000000'
                        txid: null
                        confirmations: '0'
                    fees: []
                    error: ''
                    status: pending
                Find a declined withdrawal by its foreign ID:
                  value:
                    id: 134702915
                    foreign_id: withdrawal_127
                    end_user_reference: user_12345
                    type: withdrawal
                    crypto_address:
                      id: 4769849
                      currency: USDC
                      address: '0x9ee2df6f7fe598aed8274ce4990d780c0a117d8d'
                      tag: null
                    transactions:
                      - id: 3880460
                        currency: USDC
                        transaction_type: blockchain
                        type: withdrawal
                        address: '0x9ee2df6f7fe598aed8274ce4990d780c0a117d8d'
                        tag: null
                        amount: '1500.00000000'
                        txid: null
                        confirmations: '0'
                    fees: []
                    error: Declined by user ID:777
                    status: declined
                Find an instant withdrawal by its foreign ID:
                  value:
                    id: 134702926
                    foreign_id: withdrawal_128
                    end_user_reference: user_12345
                    type: withdrawal_instant
                    crypto_address:
                      id: 4769860
                      currency: BTC
                      address: bc1qsvsmurhcghcvdcqnzwv9tu8kdpmdhstwa5z7ju
                      tag: null
                    currency_sent:
                      currency: BTC
                      amount: '0.00500000'
                    currency_received:
                      currency: BTC
                      amount: '0.00500000'
                    transactions:
                      - id: 3880470
                        currency: BTC
                        transaction_type: blockchain
                        type: withdrawal
                        address: bc1qsvsmurhcghcvdcqnzwv9tu8kdpmdhstwa5z7ju
                        tag: null
                        amount: '0.00500000'
                        txid: >-
                          06a8a2f950d93c4cbcd0a24527d8cdc22b7e2d5c327b0ea29f6f235eb6a5e1e6
                        riskscore: null
                        confirmations: '0'
                    fees:
                      - type: mining
                        currency: BTC
                        amount: '0.00004120'
                    error: ''
                    status: confirmed
                Find an exchange by its foreign ID:
                  value:
                    id: 132541744
                    type: exchange
                    currency_sent:
                      currency: USDC
                      amount: '100.00000000'
                    currency_received:
                      currency: USD
                      amount: '99.97813400'
                    transactions:
                      - id: 3788929
                        currency: USDC
                        currency_to: USD
                        transaction_type: exchange
                        type: exchange
                        amount: '100.00000000'
                        amount_to: '99.97813400'
                    fees:
                      - type: fee_crypto_sell_for_fiat
                        currency: USD
                        amount: '0.99978134'
                    error: ''
                    status: confirmed
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationOrMalformedJson'
              examples:
                No identifier sent:
                  value:
                    errors:
                      id: >-
                        The id field is required when none of foreign id / txid
                        are present.
                      foreign_id: >-
                        The foreign id field is required when none of id / txid
                        are present.
                      txid: >-
                        The txid field is required when none of id / foreign id
                        are present.
                ID not an integer:
                  value:
                    errors:
                      id: The id must be an integer.
                ID zero or negative:
                  value:
                    errors:
                      id: The id must be at least 1.
                Foreign ID not a string:
                  value:
                    errors:
                      foreign_id: The foreign id must be a string.
                Txid not a string:
                  value:
                    errors:
                      txid: The txid must be a string.
                More than one identifier:
                  value:
                    errors:
                      id: The id field is prohibited unless foreign id is in null.
                      foreign_id: The foreign id field is prohibited unless id is in null.
                Malformed JSON:
                  value:
                    error: Bad content format
                    code: bad_content_format
        '403':
          $ref: '#/components/responses/HeaderAuthorization'
        '404':
          description: Transaction not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: string
              examples:
                No matching transaction:
                  value:
                    errors:
                      - No transaction found.
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    XProcessingSignatureHeader:
      name: X-Processing-Signature
      in: header
      required: true
      description: >-
        Hex-encoded HMAC-SHA512 signature of the request body, [generated using
        your secret key](/api-reference/authentication).
      schema:
        type: string
  schemas:
    ValidationOrMalformedJson:
      oneOf:
        - type: object
          title: ValidationError
          description: One or more request parameters failed validation.
          properties:
            errors:
              type: object
              description: >
                A map of request field names to a human-readable validation
                error message for that field. The exact set of possible keys and
                messages is endpoint-specific — see [API
                errors](/api-reference/errors#errors-by-endpoint) for the full
                reference.
              additionalProperties:
                type: string
                description: Human-readable validation error message for this field.
        - type: object
          title: MalformedJson
          description: >-
            The request body is not valid JSON or the Content-Type header is not
            set to `application/json`.
          properties:
            error:
              type: string
            code:
              type: string
  responses:
    HeaderAuthorization:
      description: |
        Forbidden
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                description: Human-readable error message.
              code:
                type: string
                description: Error code.
            description: >-
              Invalid or missing headers, or the API key does not have access to
              the endpoint. Refer to
              [Errors](/api-reference/errors#general-errors) for troubleshooting
              steps.
          examples:
            Bad signature header:
              value:
                error: Bad signature header
                code: bad_header_signature
            API key does not have the required ability:
              value:
                error: The API key does not have access to this endpoint.
                code: api_key_ability_required
            No signature header:
              value:
                error: No signature header
                code: required_header_signature
            No key header:
              value:
                error: No key header
                code: required_header_key
    TooManyRequests:
      description: >
        Too Many Requests


        You sent too many requests in a short time. The limit is counted per API
        key, so requests from all your servers that use the same key count
        together. Wait before you send the request again, increasing the delay
        if you get `429` again, and handle this error by its status code, not by
        a particular response body. See [Too many
        requests](/api-reference/errors#too-many-requests-429-too-many-requests).
  securitySchemes:
    xProcessingKey:
      type: apiKey
      description: Your [API key](/merchant-administration/generate-and-activate-api-keys).
      in: header
      name: X-Processing-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.