---
title: "GET /transaction/{transactionId}"
method: GET
path: "/transaction/{transactionId}"
---

# GET /transaction/{transactionId}

`GET /transaction/{transactionId}`

Fetch details for a single transaction by ID

## Response `200`

OK

- Transaction
  - `id` string, required
  - `date` string, required — The date in UTC time when the transaction was posted. If the transaction is pending or failed, this is the date the transaction was created.
  - `description` string, required
  - `memo` string — The memo associated with the transaction. For virtual account transfers, this is the memo provided when creating the transfer. For ACH transactions, this is the company entry description. For wire transactions, this is the sender reference.
  - `merchantDescription` string — DEPRECATED. Use `merchantData.description` instead. For card transactions, the description of the transaction as reported by the merchant. For other transactions, this field is undefined.
  - `merchantData` TransactionMerchant
    - `description` string, required — The raw description provided by the merchant for the transaction.
    - `categoryCode` string, required — The merchant's category code (MCC)
    - `location` TransactionMerchantLocation
      - `city` string, required — The city of the merchant.
      - `state` string, required — The state/province of the merchant.
      - `country` string, required — The country of the merchant.
      - `zip` string, required — The ZIP/postal code of the merchant.
  - `amountCents` number, required — The amount of the transaction in cents in USD. If the transaction amount is negative, the transaction is a debit. If the transaction amount is positive, the transaction is a credit.
  - `status` 'pending' | 'posted' | 'failed', required — - `pending`: The transaction is pending and has not been posted to the account yet (the account's posted balance doesn't reflect the transaction yet, but the account's available balance does). - `posted`: The transaction has been posted to the account and the account's posted balance and available balances both reflect the transaction. - `failed`: The transaction failed to post to the account and no longer affects the account's available or posted balances.
  - `detailedStatus` 'pending' | 'pending_approval' | 'in_review' | 'canceled' | 'failed' | 'settled' | 'declined' | 'refund' | 'reversed' | 'returned' | 'dispute', required — - `pending_approval`: Used for any transaction type that is pending approval. This does not affect the account's available or posted balances. - `pending`: Used for any transaction type that has not posted to the account yet, but is affecting the account's available balance. - `canceled`: Used for any transaction that was canceled. - `failed`: Used for any transaction that failed to post to the account. - `settled`: Used for any transaction that has posted to the account, except for card refunds, which use the `refund` status, and ACH returns, which use the `returned` status. - `declined`: Used for card transactions that were declined. - `refund`: Used for card transactions that were refunded, increasing the account's available and posted balances. - `reversed`: Used for card transactions that were authorized, but reversed by the merchant. - `returned`: Used for ACH returns. In the case of an ACH return, there are two possibilities: (1) if the ACH settled and then returned, then there will be one transaction with status `settled` for the ACH settling, and one transaction with status `returned` for the ACH return. Both of these are posted transactions. (2) if the ACH returned before settling, then there will only be one transaction with status `canceled`. - `dispute`: Used for disputed card transactions.
  - `accountId` unknown, required
  - `virtualAccountId` string — The virtual account ID where the transaction occurred
  - `accountSubtype` 'cash' | 'credit', required — For charge cards, specifies if the transaction belongs to the cash or credit account. For debit accounts, this field is always cash.
  - `cardId` string — The card ID associated with the transaction. If the transaction is not associated with a card, this field is not sent.
  - `originalCurrency` OriginalCurrency — The original currency of the transaction. This is only applicable to transactions. If this field is not sent, the original currency is in USD.
    - `code` string, required — The original currency code of the transaction
    - `amountCents` number, required — The amount of the transaction in its original currency in cents.
    - `conversionRate` number, required — The conversion rate used to convert the transaction amount from its original currency to the account currency. The currency rate is computed at the time of the transaction.
  - `orderId` string — The order ID, as reported by the merchant, associated with the specific transaction.
  - `referenceNumber` string — The reference number provided by Visa for this transaction.
  - `authorizedAt` string — The UTC timestamp of when the transaction was authorized. Only exists for card transactions.
  - `declineReason` string — The reason for the decline. Only exists for card transactions with `detailedStatus` = `declined`.
  - `approvalReason` string — The reason for the approval. Only exists for card transactions with `detailedStatus` = `pending` or `settled`.
  - `providerAuthorizationId` string — The provider authorization ID for the transaction. Only exists for card transactions.
  - `wireInfo` object — Information about the associated wire transfer if the transaction is a wire transfer.
    - `counterpartyBank` string — The name of the bank or financial institution of the counterparty in the wire transfer
    - `typeCode` string, required — A code that identifies the type of wire transfer (e.g., domestic, international)
    - `subtypeCode` string, required — A code that identifies the specific type or subtype of the wire transfer
    - `omad` string, required — Outgoing Message Authentication Data - a unique identifier assigned by the originating bank for the outgoing wire transfer. If the other bank is an account with Column N.A., this field is empty.
    - `imad` string, required — Incoming Message Authentication Data - a unique identifier assigned by the receiving bank for the incoming wire transfer. If the other bank is an account with Column N.A., this field is empty.
    - `senderReference` string, required — A reference number or identifier provided by the sender of the wire transfer for tracking purposes
    - `businessFunctionCode` string, required — A code that identifies the business function or purpose of the wire transfer (e.g., customer transfer, bank transfer, etc.)
  - `achInfo` object — Information about the associated ACH transfer if the transaction is an ACH transfer.
    - `counterpartyBank` string — The name of the bank or financial institution of the counterparty in the ACH transfer
    - `receiverId` string, required — The unique identifier for the receiver of the ACH transfer
    - `companyId` string, required — The company identification number assigned by the originating depository financial institution
    - `companyDiscretionaryData` string, required — Optional data field that can be used by the originating company for internal purposes
    - `companyEntryDescription` string — An optional description of the purpose of the ACH entry as provided by the originating company
    - `traceNumber` string, required — A unique number assigned by the originating depository financial institution to identify the ACH entry
    - `entryClassCode` string, required — A three-character code that identifies the type of ACH entry (e.g., PPD for Prearranged Payment and Deposit, CCD for Corporate Credit or Debit)
    - `paymentRelatedInfo` string, required — Additional information related to the payment, such as invoice numbers, payment references, or other payment-specific details
  - `rtpInfo` object — Information about the associated Real-Time Payment (RTP) transfer if the transaction is a real-time transfer.
    - `counterpartyBank` string — The name of the bank or financial institution of the counterparty in the real-time transfer
    - `endToEndId` string — A unique end-to-end identifier for the real-time payment transaction that remains with the payment throughout its lifecycle
    - `routingNumber` string — The routing number of the counterparty's bank
    - `originatorName` string — The name of the originator of the real-time payment
    - `description` string — Additional description or purpose of the real-time payment
  - `feeInfo` object — Information populated if this transaction is a fee assessed by Slash.
    - `relatedTransaction` object
      - `id` string, required
      - `amount` number, required
  - `cryptoInfo` object — Information populated if this transaction is a crypto on/off-ramp transaction.
    - `txHash` string — The transaction hash of the crypto on/off-ramp transaction.
    - `senderAddress` string — The sender address of the crypto on/off-ramp transaction.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `429` — TooManyRequests
- `500` — Internal Error

---

[API](https://skmtc.net/slashfi/apis/slash-public-api.md) · [All operations](https://skmtc.net/slashfi/apis/slash-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slashfi/slash-public-api/versions/773c90f079c5/schema)
