BMO

BMO Account Transactions API

Search for account transactions

Operations 1

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bmo-account-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bmo-account-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 5.3.0
  title: Account Information Account Transactions API
  description: Retrieve real-time account and transaction information for all your authorized BMO accounts without the need to switch applications.
  x-api-id: BMO-ENT-7673dc36-7935-44e4-aeff-3c9ddd5d8e85
  x-bmoservicedomain-name: Commercial-sb
  x-api-specification-compliant: true
  x-audience: company-internal
  x-bmo-api-type: internal-api
  x-bmo-api-provider-id: 3284
  x-ibm-name: account-information
  x-ibm-summary: ''
servers:
- url: https://sandbox-open-api.bmo.com/open-banking/commercial-sb
security:
- api-key-1: []
  OAuth:
  - FinancialInformation
tags:
- name: Account Transactions
  description: Search for account transactions
paths:
  /accounts/{accountId}/transactions:
    get:
      x-dataclassification-code: Confidential
      operationId: Search for Account Transactions
      tags:
      - Account Transactions
      description: Search for Account Transactions
      summary: Search for Account Transactions
      parameters:
      - name: accountId
        in: path
        description: Account Identifier
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: Start time for use in retrieval of transactions
        schema:
          type: string
          format: date
      - name: endTime
        in: query
        description: End time for use in retrieval of transactions
        schema:
          type: string
          format: date
      - name: offset
        in: query
        description: Opaque cursor used by the provider to send the next set of records
        schema:
          type: string
      - name: limit
        in: query
        description: Number of elements that the consumer wishes to receive - Providers should implement reasonable defaults and maximum
        schema:
          type: integer
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: authorization
        in: header
        required: true
        schema:
          type: string
      - name: distinct
        in: header
        schema:
          type: boolean
        required: false
      responses:
        '200':
          description: Paged collection of transactions, which can be one of DepositTransaction, LoanTransaction, LocTransaction or InvestmentTransaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions'
              examples:
                example1:
                  value:
                    page:
                      nextOffset: '2'
                      total: 3
                    links:
                      next:
                        href: /accounts/33333/transactions?offSet=2&limit=10
                    transactions:
                    - depositTransaction:
                        accountId: '10001'
                        transactionId: '20001'
                        postedTimestamp: '2017-11-05 13:15:30.7'
                        description: FED REF=000119        LTN=J7B74I1C        TTM=2024/10/22 15:03        RECEIVED AT=2024/10/22 15:03        ORIG BANK ABA=307088754        ORIG BANK=CoBank, ACB        REC BANK ABA=071000288        REC BANK=BMO Bank National        TRANS TYPE=CUSTOMER TRANSF
                        debitCreditMemo: CREDIT
                        amount: '1200.42'
                        transactionTimestamp: '2025-06-19 07:57:00.0'
                        fiAttributes:
                        - name: ValueDate
                          value: '2025-06-19 07:57:00.0'
                        - name: Posted
                          value: '2025-06-19 07:57:00.0'
                        - name: TransactionType
                          value: CREDIT
                        BAILevel: Credit Transaction
                        BAICode: '208'
                        BAIName: Incoming Money Transfer
                        bankRefNo: 271900035
                        custRefNo: '241022105844'
                        fundType: Distributed Availibility (fixed)
                        text: 'FED REF=000119        LTN=J7B74I1C        TTM=2024/10/22 15:03        RECEIVED AT=2024/10/22 15:03        ORIG BANK ABA=307088754        ORIG BANK=CoBank, ACB        REC BANK ABA=071000288        REC BANK=BMO Bank National        TRANS TYPE=CUSTOMER TRANSFER        WIRE TYPE=FWI        USD AMOUNT=000000000000000000        VALUE DATE=2024/10/22        SRC=FWIFFT0124102215030400        SBR=2024102200000897        ORG=International Wine & Spirits LLC International Wine & Spirits LLC 14111        Northeast 145th Street Woodinville, WA 98072 /AC-31531001        OGB=CoBank, ACB 2515 University Blvd, Ste 104 Ames IA 50010 US /BC-NBFCUS55        XXX        BNF=OIB OLET HE  ,HBMB MP YX PSTC H/X HBMB SMMPRNTZUD HGRJ 517 J LQEBXB 58J        VS CHICAGO,IL,91053 US /AC-000001095355DD028        RFB=NOTPROVIDED        OBI=<6376177101> AGWEST/INTERNATIONAL WINE & SPIRITS\"}},{\"depositTransaction\":{\"accountId\":\"b99bb688b7cf877ef111afd9c23110059b2912f37b5c24c6b9d2811850d945fa\",\"transactionId\":\"1902805570\",\"description\":\"ORIG BANK ABA=071000288        ORIG BANK=BMO BANK N.A.        REC BANK=BOFM CA M3        SENT AT=2024/10/23 18:52        WIRE TYPE=SWO        CURRENCY DESC=CANADIAN DOLLAR        EXCHANGE AMOUNT=000000000000026800CAD        EXCHANGE RATE=000000746313000   '
                    - depositTransaction:
                        accountId: '10001'
                        transactionId: '20001'
                        postedTimestamp: '2017-11-05 13:15:31.7'
                        description: ORIG BANK=BOFM CA M2        REC BANK ABA=071000288        REC BANK=BMO BANK N.A.        RECEIVED AT=2024/10/24 03:44        WIRE TYPE=SWI        CURRENCY DESC=CANADIAN DOLLAR        EXCHANGE AMOUNT=000000000007200000CAD        EXC1HANGE RATE=000000740658000
                        debitCreditMemo: DEBIT
                        amount: '1200.42'
                        transactionTimestamp: '2025-06-19 07:57:00.0'
                        fiAttributes:
                        - name: ValueDate
                          value: '2025-06-19 07:57:00.0'
                        - name: Posted
                          value: '2025-06-19 07:57:00.0'
                        - name: TransactionType
                          value: DEBIT
                      BAILevel: Debit Transaction
                      BAICode: '699'
                      BAIName: Miscellaneous Debit
                      bankRefNo: '0000000247'
                      custRefNo: '241023106132'
                      fundType: Unknown
                      text: ORIG BANK=BOFM CA M2        REC BANK ABA=071000288        REC BANK=BMO BANK N.A.        RECEIVED AT=2024/10/24 03:44        WIRE TYPE=SWI        CURRENCY DESC=CANADIAN DOLLAR        EXCHANGE AMOUNT=000000000007200000CAD        EXCHANGE RATE=000000740658000
        '206':
          description: Everything worked as expected. Partial content returned based on the range set in the header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts'
        '400':
          description: The request was not accepted, often caused by a missing required parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: API key provided was invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - the user is not authorized to use this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The requested resource could not be found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests hit the API in too short of a period
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '504':
          description: Integration or Backend Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    LoanTransactionType:
      title: LoanTransactionType
      type: string
      description: PAYMENT, FEE, ADJUSTMENT, INTEREST
      enum:
      - ADJUSTMENT
      - FEE
      - INTEREST
      - PAYMENT
    DepositTransaction:
      title: DepositTransaction Entity
      description: Deposit Transaction will have following fields in FiAttributes - Posted, Pending, ValueDate
      allOf:
      - $ref: '#/components/schemas/Transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/DepositTransactionType'
          payee:
            maxLength: 255
            type: string
            description: Payee name
          checkNumber:
            type: integer
            description: Check Number
    PageMetadataLinks:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/HateoasLink'
        prev:
          $ref: '#/components/schemas/HateoasLink'
    Accounts:
      description: An instance of the getAccounts types with limited details.
      allOf:
      - type: object
        properties:
          depositAccount:
            $ref: '#/components/schemas/Account'
      - type: object
        properties:
          loanAccount:
            $ref: '#/components/schemas/Account'
      - type: object
        properties:
          locAccount:
            $ref: '#/components/schemas/Account'
      - type: object
        properties:
          investmentAccount:
            $ref: '#/components/schemas/Account'
    Error:
      title: Error Entity
      type: object
      properties:
        code:
          type: string
          description: Long term persistent identifier which can be used to trace error condition back to log information
        message:
          type: string
          description: End user displayable information which might help the customer diagnose an error
      description: An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.
    DepositTransactionType:
      title: DepositTransaction Type
      type: string
      description: CHECK, WITHDRAWAL, TRANSFER, POSDEBIT, ATMWITHDRAWAL. BILLPAYMENT, FEE, DEPOSIT, ADJUSTMENT, INTEREST, DIVIDEND, DIRECTDEPOSIT, ATMDEPOSIT, POSCREDIT
      enum:
      - ADJUSTMENT
      - ATMDEPOSIT
      - ATMWITHDRAWAL
      - BILLPAYMENT
      - CHECK
      - DEPOSIT
      - DIRECTDEPOSIT
      - DIVIDEND
      - FEE INTEREST
      - POSCREDIT
      - POSDEBIT
      - TRANSFER
      - WITHDRAWAL
    LocTransaction:
      title: LocTransaction Entity
      description: Line of Credit Transaction will have following fields in FiAttributes - Posted, Pending, ValueDate
      allOf:
      - $ref: '#/components/schemas/Transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/LocTransactionType'
          checkNumber:
            type: integer
            description: Check number
          paymentDetails:
            $ref: '#/components/schemas/PaymentDetails'
    PositionType:
      title: PositionType
      type: string
      description: LONG, SHORT
      enum:
      - LONG
      - SHORT
    ContentTypes:
      title: Content Types
      type: string
      description: Types of document formats. (Suggested)
      example: application/json
      enum:
      - application/pdf
      - image/gif
      - image/jpeg
      - image/tiff
      - image/png
      - application/json
    AccountType:
      title: AccountType
      type: string
      enum:
      - 401A
      - 401K
      - 403B
      - '529'
      - AUTOLOAN
      - CD
      - CHARGE
      - CHECKING
      - COMMERCIALLINEOFCREDIT
      - COMMERCIALLOAN
      - COVERDELL
      - CREDITCARD
      - DEPOSIT
      - ESCROW
      - ESOP
      - GUARDIAN
      - HOMEEQUITYLOAN
      - HOMELINEOFCREDIT
      - INSTITUTIONALTRUST
      - INSTALLMENT
      - IRA
      - INVESTMENT
      - KEOGH
      - LINEOFCREDIT
      - LOAN
      - MILITARYLOAN
      - MONEYMARKET
      - MORTGAGE
      - PERSONALLOAN
      - ROLLOVER
      - ROTH
      - SARSEP
      - SAVINGS
      - SMBLOAN
      - STUDENTLOAN
      - TAXABLE
      - TDA
      - TRUST
      - UGMA
      - UTMA
      - ANNUITY
    Account:
      title: Account Entity
      description: An account object with limited details returned in the search for accounts operation.
      allOf:
      - type: object
        properties:
          accountId:
            maxLength: 256
            type: string
            description: Long-term persistent identity of the account. Not an account number. This identity must be unique to the owning institution.
          accountType:
            $ref: '#/components/schemas/AccountType'
          accountNumber:
            type: string
            description: Return masked account based on request.
          hostAccountName:
            type: string
            description: Name given by the user. Used in UIs to assist in account selection
          description:
            type: string
          currency:
            $ref: '#/components/schemas/Currency'
          fiAttributes:
            type: array
            items:
              $ref: '#/components/schemas/FiAttribute'
    Currency:
      title: Currency Entity
      type: object
      properties:
        currencyRate:
          type: number
          description: Currency rate between original and converted currency
        currencyCode:
          $ref: '#/components/schemas/Iso4217Code'
        originalCurrencyCode:
          $ref: '#/components/schemas/Iso4217Code'
      description: Currency information if it is different from Account entity
    SecurityIdType:
      title: SecurityIdType
      type: string
      description: Security identifier type
      enum:
      - CUSIP
      - ISIN
      - SEDOL
      - SICC
      - VALOR
      - WKN
    InvestmentTransaction:
      title: InvestmentTransaction Entity
      description: Investment Transaction will have following fields in FiAttributes - Posted, IssueDate, MaturityDate, InterestRate, OriginalAmount, CurrentValue, Disposition
      allOf:
      - $ref: '#/components/schemas/Transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/InvestmentTransactionType'
          shares:
            type: number
            description: Required for stock, mutual funds. Number of shares (with decimals). Negative numbers indicate securities are being removed from the account.
          faceValue:
            type: number
            description: Cash value for bonds
          price:
            type: number
            description: Unit purchase price
          securityId:
            type: string
            description: Unique identifier of security
          securityIdType:
            $ref: '#/components/schemas/SecurityIdType'
          securityType:
            $ref: '#/components/schemas/SecurityType'
          symbol:
            type: string
            description: Ticker symbol
          markup:
            type: number
            description: Portion of unit price that is attributed to the dealer markup
          commission:
            type: number
            description: Transaction commission
          taxes:
            type: number
            description: Taxes on the trade
          fees:
            type: number
            description: Fees applied to the trade
          load:
            type: number
            description: Load on the transaction
          inv401kSource:
            $ref: '#/components/schemas/Inv401kSourceType'
          confirmationNumber:
            type: string
            description: Confirmation number of the transaction
          fractionalCash:
            type: number
            description: Cash for fractional units (used for stock splits)
          incomeType:
            $ref: '#/components/schemas/IncomeType'
          oldUnits:
            type: number
            description: Number of shares before split
          splitRatioNumerator:
            type: number
            description: Split ratio numerator
          splitRatioDenominator:
            type: number
            description: Split ratio denominator
          newUnits:
            type: number
            description: Number of shares after split
          subAccountSec:
            type: string
            description: Sub-account security Type - CASH, MARGIN, SHORT and OTHERS
            enum:
            - CASH
            - MARGIN
            - SHORT
            - OTHER
          subAccountFund:
            type: string
            description: From which account money came in - CASH, MARGIN, SHORT and OTHERS
            enum:
            - CASH
            - MARGIN
            - SHORT
            - OTHER
          loanId:
            type: string
            description: For 401k accounts only. This indicates the transaction was due to a loan or a loan repayment.
          loanPrincipal:
            type: number
            description: How much loan pre‐payment is principal
          loanInterest:
            type: number
            description: How much loan pre‐payment is interest
          payrollDate:
            type: string
            description: The date for the 401k transaction was obtained in payroll. YYYY-MM-DD.
          priorYearContrib:
            type: boolean
            description: Indicates this buy was made using prior year's contribution.
          withholding:
            type: number
            description: Federal tax withholding
          taxExempt:
            type: boolean
            description: Tax‐exempt transaction
          gain:
            type: number
            description: For sales
          stateWithholding:
            type: number
            description: State tax withholding
          penalty:
            type: number
            description: Indicates amount withheld due to a penalty
          runningBalance:
            type: number
            description: Running balance of the position
          unitPrice:
            type: number
            description: Price per commonly-quoted unit. Does not include markup/markdown, unitprice. Share price for stocks, mutual funds, and others. Percentage of par for bonds. Per share (not contract) for options.
          units:
            type: number
            description: For security‐based actions other than stock splits, quantity. Shares for stocks, mutual funds, and others. Face value for bonds. Contracts for options.
          unitType:
            $ref: '#/components/schemas/UnitType'
          transactionReason:
            $ref: '#/components/schemas/TransactionReason'
          accruedInterest:
            type: number
            description: Accrued Interest
          transferAction:
            type: string
            description: Transfer direction [IN or OUT]
            enum:
            - IN
            - OUT
          positionType:
            $ref: '#/components/schemas/PositionType'
    HateoasLink:
      required:
      - href
      type: object
      properties:
        href:
          type: string
          example: /example/accounts/12345
        action:
          type: string
          description: HTTP Method to use for the request (Suggested)
          enum:
          - GET
          - POST
          - PATCH
          - DELETE
          - PUT
        types:
          type: array
          description: Content-types that can be used in the Accept header.
          items:
            $ref: '#/components/schemas/ContentTypes'
    InvestmentTransactionType:
      title: InvestmentTransactionType
      type: string
      description: PURCHASED, SOLD, PURCHASEDTOCOVER, ADJUSTMENT, PURCHASETOOPEN, PURCHASETOCLOSE, SOLDTOOPEN, SOLDTOCLOSE, INTEREST, MARGININTEREST, REINVESTOFINCOME, RETURNOFCAPITAL, TRANSFER, CONTRIBUTION, FEE, OPTIONEXERCISE, OPTIONEXPIRATION, DIVIDEND, DIVIDENDREINVEST, SPLIT, CLOSURE, INCOME, EXPENSE, CLOSUREOPT, INVEXPENSE, JRNLSEC, JRNLFUND, OTHER, DIV, SRVCHG, DEP, DEPOSIT, ATM, POS, XFER, CHECK, PAYMENT, CASH, DIRECTDEP, DIRECTDEBIT, REPEATPMT
      enum:
      - ADJUSTMENT
      - ATM
      - CASH
      - CHECK
      - CLOSURE
      - CLOSUREOPT
      - CONTRIBUTION
      - DEP
      - DEPOSIT
      - DIRECTDEBIT
      - DIRECTDEP
      - DIV
      - DIVIDEND
      - DIVIDENDREINVEST
      - EXPENSE
      - FEE
      - INCOME
      - INTEREST
      - INVEXPENSE
      - JRNLFUND
      - JRNLSEC
      - MARGININTEREST
      - OPTIONEXERCISE
      - OPTIONEXPIRATION
      - OTHER
      - PAYMENT
      - POS
      - PURCHASED
      - PURCHASEDTOCOVER
      - PURCHASETOCLOSE
      - PURCHASETOOPEN
      - REINVESTOFINCOME
      - REPEATPMT
      - RETURNOFCAPITAL
      - SOLD
      - SOLDTOCLOSE
      - SOLDTOOPEN
      - SPLIT
      - SRVCHG
      - TRANSFER
      - XFER
    IncomeType:
      title: IncomeType
      type: string
      description: Type of investment income - CGLONG (capital gains-long term), CGSHORT (capital gains-short term), MISC
      enum:
      - CGLONG
      - CGSHORT
      - MISC
    PaymentDetails:
      title: PaymentDetails Entity
      type: object
      properties:
        principalAmount:
          type: number
          description: The amount of payment applied to principal
        interestAmount:
          type: number
          description: The amount of payment applied to interest
        insuranceAmount:
          type: number
          description: The amount of payment applied to life/health/accident insurance on the loan
        escrowAmount:
          type: number
          description: The amount of payment applied to escrow
        pmiAmount:
          type: number
          description: The amount of payment applied to PMI
        feesAmount:
          type: number
          description: The amount of payment applied to fees
      description: Breakdown of payment details
    Iso4217Code:
      title: Iso4217Code
      type: string
      description: The ISO 4217 code of the foreign currency
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYR
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STD
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UZS
      - VEF
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XSU
      - XTS
      - XUA
      - XXX
      - YER
      - ZAR
      - ZMW
      - ZWL
    SecurityType:
      title: SecurityType
      type: string
      enum:
      - BOND
      - DEBT
      - MUTUALFUND
      - OPTION
      - OTHER
      - STOCK
      - SWEEP
    LoanTransaction:
      title: LoanTransaction Entity
      allOf:
      - $ref: '#/components/schemas/Transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/LoanTransactionType'
          paymentDetails:
            $ref: '#/components/schemas/PaymentDetails'
    PageMetadata:
      type: object
      properties:
        nextOffset:
          type: string
          description: Opaque identified. Does not need to be numeric or have any specific pattern. Implementation specific.
          example: '2'
        prevOffset:
          type: string
          description: Opaque identified. Does not need to be numeric or have any specific pattern. Implementation specific.
          example: '2'
        totalElements:
          type: integer
          description: Total number of elements
          example: 3
    TransactionReason:
      title: TransactionReason
      type: string
      description: Reason for this transaction; CALL (the debt was called), SELL (the debt was sold), MATURITY (the debt reached maturity)
      enum:
      - CALL
      - MATURITY
      - SELL
    Transaction:
      title: Transaction
      type: object
      required:
      - accountId
      - transactionId
      - postedTimestamp
      - description
      - debitCreditMemo
      - amount
      - transactionTimestamp
      - fiAttributes
      properties:
        accountId:
          maxLength: 256
          type: string
          description: Corresponds to AccountId in Account
        transactionId:
          maxLength: 256
          type: string
          description: Long term persistent identity of the transaction (unique to account)
        referenceTransactionId:
          maxLength: 256
          type: string
          description: For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction.
        postedTimestamp:
          type: string
          description: The date and time that the transaction was posted to the account. If not provided then TransactionTimestamp can be used as PostedTimeStamp. YYYY-MM-DD HH-MM-SS.S
        transactionTimestamp:
          type: string
          description: The date and time that the transaction was added to the server backend systems. YYYY-MM-DD HH-MM-SS.S
        description:
          type: string
          description: The description of the transaction
          maxLength: 256
        debitCreditMemo:
          $ref: '#/components/schemas/DebitCreditMemo'
        category:
          type: string
          description: Transaction category, preferably MCC or SIC.
        status:
          $ref: '#/components/schemas/TransactionStatus'
        amount:
          type: string
          description: The amount of money in the account currency
        fiAttributes:
          type: array
          description: Array of FI-specific attributes
          items:
            $ref: '#/components/schemas/FiAttribute'
        links:
          type: object
          properties:
            image:
              type: array
              description: Array of Image Identifiers (unique to Transaction) used to retrieve Images of check or transaction receipt
              items:
                $ref: '#/components/schemas/HateoasLink'
        BAILevel:
          maxLength: 256
          type: string
          description: BAI level information for the transaction
        BAICode:
          maxLength: 256
          type: string
          description: BAI code information for the transaction
        BAIName:
          maxLength: 256
          type: string
          description: BAI name related to the transaction
        bankRefNo:
          maxLength: 256
          type: string
          description: Bank reference number
        custRefNo:
          maxLength: 256
          type: string
          description: Customer reference number
        fundType:
          maxLength: 256
          type: string
          description: Fund type corresponding to the transaction
        text:
          type: string
          description: Complete transaction information description (Un-truncated)
    Inv401kSourceType:
      title: Inv401kSourceType
      type: string
      description: Source of money. PRETAX, AFTERTAX, MATCH, PROFITSHARING, ROLLOVER OTHERVEST, OTHERNONVEST
      enum:
      - AFTERTAX
      - MATCH
      - OTHERNONVEST
      - OTHERVEST
      - PRETAX
      - PROFITSHARING
      - ROLLOVER
    UnitType:
      title: UnitType
      type: string
      enum:
      - CURRENCY
      - SHARES
    LocTransactionType:
      title: LocTransactionType
      type: string
      description: CHECK, WITHDRAWAL, PAYMENT, FEE, ADJUSTMENT, INTEREST
      enum:
      - ADJUSTMENT
      - CHECK
      - FEE
      - INTEREST
      - PAYMENT
      - WITHDRAWAL
    Transactions:
      title: Transactions Entity
      description: Optionally paginated array of transactions
      allOf:
      - $ref: '#/components/schemas/PaginatedArray'
      - type: object
        properties:
          transactions:
            description: An array of transactions with entity types dependent on the account type (deposit, investment, loan, or line of credit)
            type: array
            items:
              allOf:
              - type: object
                properties:
                  depositTransaction:
                    $ref: '#/components/schemas/DepositTransaction'
              - type: object
                properties:
                  loanTransaction:
                    $ref: '#/components/schemas/LoanTransaction'
              - type: object
                properties:
                  locTransaction:
                    $ref: '#/components/schemas/LocTransaction'
              - type: object
                properties:
                  investmentTransaction:
                    $ref: '#/components/schemas/InvestmentTransaction'
    DebitCreditMemo:
      title: DebitCreditMemo
      type: string
      enum:
      - CREDIT
      - DEBIT
      - MEMO
    PaginatedArray:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageMetadata'
        links:
          $ref: '#/components/schemas/PageMetadataLinks'
      description: To be used as a mixin using "allOf"
    TransactionStatus:
      title: TransactionStatus
      type: string
      enum:
      - AUTHORIZATION
      - MEMO
      - PENDING
      - POSTED
    FiAttribute:
      title: FiAttribute Entity
      type: object
      properties:
        name:
          type: string
          description: Name of attribute
        value:
          type: string
          description: Value of attribute. All date fields will be of the string format YYYY-MM-DD.
      description: Financial platform provider-specific attribute
  securitySchemes:
    api-key-1:
      type: apiKey
      x-key-type: client_id
      name: x-api-key
      in: header
    OAuth:
      type: oauth2
      x-ibm-oauth-provider: apic-oauth-ob-commercial-sb-provider
      flows:
        authorizatio

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bmo/refs/heads/main/openapi/bmo-account-transactions-api-openapi.yml