---
title: "List all transactions"
method: GET
path: "/transactions"
tags: ["Transactions"]
---

# List all transactions

`GET /transactions`

Retrieve a paginated list of all transactions across all accounts. Supports advanced filtering by date ranges, status, categories, and cursor-based pagination.

## Query parameters

- `status` string[]
- `search` string — Search term to look for in transaction descriptions.
- `start` string — Earliest createdAt date to filter for. If not provided, it defaults to the date of your first transaction. Format: YYYY-MM-DD or an ISO 8601 string. Please note that your Mercury transactions on your Dashboard might have their postedAt date displayed, as opposed to createdAt
- `end` string — Latest createdAt date to filter for. If it’s not provided, it defaults to current day. Format: YYYY-MM-DD or an ISO 8601 string. Please note that your Mercury transactions on your Dashboard might have their postedAt date displayed, as opposed to createdAt
- `postedStart` string — Earliest postedAt date to filter for. Format: YYYY-MM-DD or an ISO 8601 string
- `postedEnd` string — Latest postedAt date to filter for. Format: YYYY-MM-DD or an ISO 8601 string
- `accountId` string[]
- `cardId` string[]
- `mercuryCategory` string — Name of mercuryCategory you want to filter on. Merchant Type in the UI.
- `categoryId` string — UUID of a custom category. Can be returned from /categories endpoint.
- `start_at` string — The ID of the resource to start the page at (inclusive). When provided, results will begin with and include the resource with this ID. Use this to retrieve a specific page when you know the exact starting point. Cannot be combined with start_after or end_before.
- `start_after` string, uuid — The ID of the transaction to start the page after (exclusive). When provided, results will begin with the transaction immediately following this ID. Use this for standard forward pagination to get the next page of results. Cannot be combined with end_before.
- `end_before` string, uuid — The ID of the transaction to end the page before (exclusive). When provided, results will end just before this ID and work backwards. Use this for reverse pagination or to retrieve previous pages. Cannot be combined with start_after.
- `limit` integer — Maximum number of results to return. Allowed range: 1 to 1000. Defaults to 1000
- `order` 'asc' | 'desc' — Sort order. Can be 'asc' or 'desc'. Defaults to 'asc'

## Response `200`

- TransactionsPaginatedResponse
  - `page` object, required
    - `nextPage` string, uuid
    - `previousPage` string, uuid
  - `transactions` Transaction[], required
    - `accountId` string, uuid, required — The external-facing account identifier for the Mercury account that owns this transaction
    - `amount` number, required
    - `attachments` TransactionAttachment[], required
      - `attachmentType` 'checkImage' | 'receipt' | 'other', required
      - `fileName` string, required
      - `url` string, required
    - `bankDescription` string, nullable
    - `categoryData` CategoryData — Represents an expense category for transaction classification.
      - `id` string, uuid, required — The ID of the category
      - `name` string, required — The name of the category
      - `visibleForCardSpend` boolean, required — Whether this category is applicable to card transactions
      - `visibleForOther` boolean, required — Whether this category is applicable to all other transaction kinds
      - `visibleForReimbursements` boolean, required — Whether this category is applicable to expense reimbursement transactions
    - `checkNumber` string, nullable — Present for check deposits and mailed checks; Nothing otherwise.
    - `compliantWithReceiptPolicy` boolean, required
    - `counterpartyId` string, uuid, required — ID for a Mercury account.
    - `counterpartyName` string, required
    - `counterpartyNickname` string, nullable
    - `createdAt` string, yyyy-mm-ddThh:MM:ssZ, required
    - `creditAccountPeriodId` string, uuid — ID for the credit statement period
    - `currencyExchangeInfo` CurrencyExchangeInfo
      - `convertedFromAmount` number, required
      - `convertedFromCurrency` string, required
      - `convertedToAmount` number, required
      - `convertedToCurrency` string, required
      - `exchangeRate` number, required — Exchange rate goes from "from currency" to "to currency" (ie from currency * exchange rate = to currency)
      - `feeAmount` number, required
      - `feePercentage` number, required
      - `feeTransactionId` string, uuid — ID for this transaction
    - `dashboardLink` string, required
    - `details` TransactionMethodData
      - `address` AddressData
        - `address1` string, required
        - `address2` string, nullable
        - `city` string, required
        - `postalCode` string, required
        - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'DC' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY'
      - `creditCardInfo` CreditCardInfo
        - `email` string, nullable
        - `id` string, uuid, required
        - `paymentMethod` string, required
      - `debitCardInfo` DebitCardInfo
        - `id` string, uuid, required
      - `domesticWireRoutingInfo` DomesticWireRoutingInfo
        - `accountNumber` string, required
        - `address` AddressWithoutName
          - `address1` string, required
          - `address2` string, nullable
          - `city` string, required
          - `country` string, required
          - `postalCode` string, required
          - `region` string, required
        - `bankName` string, nullable
        - `routingNumber` string, required
      - `electronicRoutingInfo` ElectronicRoutingInfo
        - `accountNumber` string, required
        - `address` AddressWithoutName
          - `address1` string, required
          - `address2` string, nullable
          - `city` string, required
          - `country` string, required
          - `postalCode` string, required
          - `region` string, required
        - `bankName` string, nullable
        - `electronicAccountType` 'businessChecking' | 'businessSavings' | 'personalChecking' | 'personalSavings', required
        - `routingNumber` string, required
      - `internationalWireRoutingInfo` InternationalWireRoutingInfo
        - `address` AddressWithoutName
          - `address1` string, required
          - `address2` string, nullable
          - `city` string, required
          - `country` string, required
          - `postalCode` string, required
          - `region` string, required
        - `bankDetails` SwiftCodeData
          - `bankCityState` string, required
          - `bankCountry` string, required
          - `bankName` string, required
        - `correspondentInfo` InternationalWireCorrespondentInfo
          - `bankName` string, nullable
          - `routingNumber` string, nullable
          - `swiftCode` string, nullable
        - `countrySpecific` InternationalWireCountrySpecificData, required
          - `australia` InternationalWireAustraliaSpecificData
            - `bsbCode` string, required
          - `brazil` InternationalWireBrazilSpecificData
            - `legalId` string, required
          - `canada` InternationalWireCanadaSpecificData
            - `bankCode` string, required
            - `transitNumber` string, required
          - `chile` InternationalWireChileSpecificData
            - `legalId` string, required
          - `colombia` InternationalWireColombiaSpecificData
            - `legalId` string, required
          - `dominicanRepublic` InternationalWireDominicanRepublicSpecificData
            - `accountType` 'checking' | 'savings', required
            - `legalId` string, required
          - `honduras` InternationalWireHondurasSpecificData
            - `accountType` 'checking' | 'savings', required
            - `legalId` string, required
          - `india` InternationalWireIndiaSpecificData
            - `ifscCode` string, required
          - `kazakhstan` InternationalWireKazakhstanSpecificData
            - `legalId` string, required
          - `pakistan` InternationalWirePakistanSpecificData
            - `legalId` string, required
            - `legalIdType` 'CNIC' | 'SNIC' | 'Passport' | 'NTN', required
          - `paraguay` InternationalWireParaguaySpecificData
            - `legalId` string, required
          - `philippines` InternationalWirePhilippinesSpecificData
            - `routingNumber` string, required
          - `russia` InternationalWireRussiaSpecificData
            - `inn` string, required
          - `southAfrica` InternationalWireSouthAfricaSpecificData
            - `branchCode` string, required
        - `emailAddress` string, nullable
        - `iban` string, required
        - `phoneNumber` string, nullable
        - `swiftCode` string, required
    - `estimatedDeliveryDate` string, yyyy-mm-ddThh:MM:ssZ, required
    - `externalMemo` string, nullable
    - `failedAt` string, yyyy-mm-ddThh:MM:ssZ
    - `feeId` string, uuid — ID for this transaction
    - `generalLedgerCodeName` string, nullable — Deprecated: use transactionGlAllocations instead. This field does not reflect GL codes assigned via Mercury auto-categorization rules. Preserved for backwards compatibility.
    - `glAllocations` GlAllocation[], required — GL code allocations assigned to this transaction via a connected accounting software integration (e.g. QuickBooks, Xero, NetSuite). Each allocation has a GL code name and the amount allocated to it; amounts sum to the transaction total when the transaction is fully categorized. Empty if no GL codes have been assigned. Distinct from Mercury custom categories (see transactionCategoryData).
      - `amount` number, required — The amount allocated to this GL code
      - `description` string, nullable — Optional user-provided description for this allocation
      - `glCodeName` string, required — The name of the GL code from the connected accounting integration
    - `hasGeneratedReceipt` boolean, required
    - `id` string, uuid, required — ID for this transaction
    - `kind` 'externalTransfer' | 'internalTransfer' | 'outgoingPayment' | 'creditCardCredit' | 'creditCardTransaction' | 'debitCardCredit' | 'debitCardTransaction' | 'cardInternationalTransactionFee' | 'cardInternationalTransactionFeeRebate' | 'cardInternationalTransactionFeeReversal' | 'cardInternationalTransactionFeeRebateReversal' | 'incomingDomesticWire' | 'checkDeposit' | 'incomingInternationalWire' | 'treasuryTransfer' | 'currencyCloudReturn' | 'wireFee' | 'personalBankingSubscriptionFee' | 'billingEngineSubscriptionFee' | 'expenseReimbursement' | 'exogenousWireDrawdown' | 'interestPayment' | 'other', required
    - `merchant` object, nullable — Merchant information for card transactions, including the merchant category code (MCC), merchant ID, Mercury category, and for international transactions, the amount and currency in the merchant's local currency. Nothing for non-card transactions.
      - `amount` integer, nullable — The transaction amount in the smallest unit of the merchant's currency (e.g., cents for USD/EUR, yen for JPY, fils for BHD). For debits this is negative, for credits positive. Use 'merchantCurrency' to determine the appropriate decimal scaling: most currencies use 2 decimal places (divide by 100), but JPY uses 0 (no division needed) and BHD/KWD/OMR use 3 (divide by 1000). This is useful for international transactions where the merchant charges in a currency different from the account currency. Nothing if not available.
      - `category` 'Other' | 'Advertising' | 'Airlines' | 'AlcoholAndBars' | 'BooksAndNewspaper' | 'CarRental' | 'Charity' | 'Clothing' | 'Conferences' | 'Education' | 'Electronics' | 'Entertainment' | 'FacilitiesExpenses' | 'Fees' | 'FoodDelivery' | 'FuelAndGas' | 'Gambling' | 'GovernmentServices' | 'Grocery' | 'GroundTransportation' | 'Insurance' | 'InternetAndTelephone' | 'Legal' | 'Lodging' | 'Medical' | 'Memberships' | 'OfficeSupplies' | 'OtherTravel' | 'Parking' | 'Political' | 'ProfessionalServices' | 'Restaurants' | 'Retail' | 'RideshareAndTaxis' | 'Shipping' | 'Software' | 'Taxes' | 'Utilities' | 'VehicleExpenses', nullable — Mercury category for the merchant (e.g., "Restaurants", "Software")
      - `categoryCode` string, nullable — 4-digit merchant category code (MCC) for card transactions
      - `currency` string, nullable — ISO 4217 currency code of the merchant's currency (e.g., "EUR", "GBP", "JPY"). Nothing if not available.
      - `id` string, nullable — Merchant ID for card transactions
    - `mercuryCategory` 'Other' | 'Advertising' | 'Airlines' | 'AlcoholAndBars' | 'BooksAndNewspaper' | 'CarRental' | 'Charity' | 'Clothing' | 'Conferences' | 'Education' | 'Electronics' | 'Entertainment' | 'FacilitiesExpenses' | 'Fees' | 'FoodDelivery' | 'FuelAndGas' | 'Gambling' | 'GovernmentServices' | 'Grocery' | 'GroundTransportation' | 'Insurance' | 'InternetAndTelephone' | 'Legal' | 'Lodging' | 'Medical' | 'Memberships' | 'OfficeSupplies' | 'OtherTravel' | 'Parking' | 'Political' | 'ProfessionalServices' | 'Restaurants' | 'Retail' | 'RideshareAndTaxis' | 'Shipping' | 'Software' | 'Taxes' | 'Utilities' | 'VehicleExpenses'
    - `note` string, nullable
    - `postedAt` string, yyyy-mm-ddThh:MM:ssZ
    - `reasonForFailure` string, nullable
    - `relatedTransactions` RelatedTransactionData[], required
      - `accountId` string, uuid, required — ID for a Mercury account.
      - `amount` number, required
      - `id` string, uuid, required — ID for this transaction
      - `relationKind` 'ProvisionalCreditReversalToMerchantRefund' | 'MerchantRefundToProvisionalCreditReversal' | 'MerchantRefundToFraudulentCharge' | 'FraudulentChargeToMerchantRefund' | 'PaymentRefundToFailedPayment' | 'FailedPaymentToPaymentRefund' | 'GiftCompensationToOriginalTransaction' | 'FeePaymentToOriginalTransaction' | 'OriginalTransactionToFeePayment' | 'FeePaymentToFeeRebate' | 'FeeRebateToFeePayment' | 'FeePaymentToFeeReversal' | 'FeeReversalToFeePayment' | 'FeeRebateToFeeRebateReversal' | 'FeeRebateReversalToFeeRebate' | 'TreasurySplitLiquidation' | 'ProvisionalCreditToOriginalCharge' | 'OriginalChargeToProvisionalCredit' | 'FeeAtmReimbursementToAtmTransaction' | 'AtmTransactionToFeeAtmReimbursement' | 'AtmTransactionToAtmReimbursementReversal' | 'AtmReimbursementReversalToAtmTransaction' | 'ReturnToOriginalTransaction' | 'OriginalTransactionToReturn' | 'ProvisionalCreditToReversal' | 'ReversalToProvisionalCredit' | 'MerchantRefundToOriginalCharge' | 'OriginalChargeToMerchantRefund', required
    - `requestId` string, nullable
    - `status` 'pending' | 'sent' | 'cancelled' | 'failed' | 'reversed' | 'blocked', required
    - `trackingNumber` string, nullable — Present for transactions that have tracking numbers (e.g., RTP, ACH, wires); Nothing otherwise.

## Other responses

- `400` — Invalid `order` or `limit` or `end_before` or `start_after` or `start_at` or `categoryId` or `mercuryCategory` or `cardId` or `accountId` or `postedEnd` or `postedStart` or `end` or `start` or `search` or `status`

---

[API](https://skmtc.net/mercurytechnologies/apis/mercury-api.md) · [All operations](https://skmtc.net/mercurytechnologies/apis/mercury-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mercurytechnologies/mercury-api/revisions/0bdf4a496e03/schema)
