---
openapi: 3.0.0
info:
  version: 5.3.0
  title: Renseignements sur les comptes
  description: Récupérez en temps réel les renseignements sur vos comptes ainsi que
    les transactions pour tous vos comptes autorisés de BMO, sans avoir à changer
    d’application.
  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_fr
  x-ibm-summary: ""
tags:
- name: Account Information
  description: Query all information for a set of accounts provided in the payload
- name: Account Transactions
  description: Search for account transactions
paths:
  /accounts:
    get:
      x-dataclassification-code: Confidential
      operationId: Search for Accounts
      tags:
      - Account Information
      description: Search for Authorized Accounts
      summary: Rechercher des comptes
      parameters:
      - name: accountIds
        in: query
        description: Comma separated list of account ids
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: startTime
        in: query
        description: Please ignore Start time
        schema:
          type: string
          format: date
      - name: endTime
        in: query
        description: Please ignore End time
        schema:
          type: string
          format: date
      - name: resultType
        in: query
        description: Flag to indicate if you want a lightweight array of descriptors
          or full account details. If set to `lightweight`, should only return the
          fields associated with the `AccountDescriptor` entity. This field is not
          required, but defaults to lightweight
        required: false
        schema:
          type: string
          enum:
          - lightweight
          - details
          default: lightweight
      - 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
      responses:
        200:
          description: Array of accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccounts'
              examples:
                example1:
                  value:
                    page:
                      nextOffset: "2"
                      total: 3
                    links:
                      next:
                        href: /accounts?offSet=2&limit=10
                    accounts:
                    - depositAccount:
                        accountId: 8be3jd08sndsj33h2uhb423j
                        accountNumber: "4809372058"
                        description: dposit acc desc
                        hostAccountName: My Checking Acc XXXX3223
                        accountType: DDA
                        currency:
                          currencyCode: USD
                    - depositAccount:
                        accountId: 6acs6d87c8as9c7s97c7sd90
                        accountNumber: "994208420"
                        description: account 2 description
                        hostAccountName: Deposit account XXXX943
                        accountType: FCA
                        currency:
                          currencyCode: EUR
                    - locAccount:
                        accountId: 2w0d5a4sdf0fx0x1
                        accountNumber: "9001201858"
                        description: locAccount cad
                        hostAccountName: My loc Acc XXXX9979
                        accountType: LOAN
                        currency:
                          currencyCode: CAD
        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'
  /accounts/{accountId}:
    get:
      x-dataclassification-code: Confidential
      operationId: Get an Account
      tags:
      - Account Information
      description: Get an Account
      summary: Récupérer un compte
      parameters:
      - name: accountId
        in: path
        description: Account Identifier
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      - name: authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        200:
          description: This can be one of LoanAccount, DepositAccount, LocAccount,
            or InvestmentAccount
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccount'
              examples:
                example1:
                  value:
                    depositAccount:
                      accountId: b99bb688b7cf877ef111afd9c23110059b2912f37b5c24c6b9d2811850d945fa
                      accountNumber: "1095355"
                      currency:
                        currencyCode: USD
                      hostAccountName: XIM USD1
                      accountType: DDA
                      fiAttributes:
                      - name: 1DayFloat
                        value: 1706739.05
                      - name: 2orMoreDaysFloat
                        value: 2444.77
                      - name: OpenDate
                        value: "2003-06-26"
                      - name: StatementName
                        value: ALPINE TOTAL DYNAMIC DIVIDEND FUND
                      status: OPEN
                      balanceAsOf: "1975-11-18"
                      currentBalance: -622390531.27
                      interestYtd: 0
                      priorInterestRate: 0.5
        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'
  /accounts/{accountId}/transactions:
    get:
      x-dataclassification-code: Confidential
      operationId: Search for Account Transactions
      tags:
      - Account Transactions
      description: Search for Account Transactions
      summary: Rechercher les transactions d'un compte
      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: 0271900035
                        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:
    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
    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'
    PageMetadataLinks:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/HateoasLink'
        prev:
          $ref: '#/components/schemas/HateoasLink'
    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
    PaginatedArray:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageMetadata'
        links:
          $ref: '#/components/schemas/PageMetadataLinks'
      description: To be used as a mixin using "allOf"
    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'
    AccountDetails:
      title: Account Entity
      description: An account object that adds additional detail parameters to the
        basic Accounts object, this is used in Get an Account operation.
      allOf:
      - $ref: '#/components/schemas/Account'
      - type: object
        properties:
          status:
            type: string
            enum:
            - OPEN
            - CLOSED
            - PENDINGOPEN
            - PENDINGCLOSE
            - DELINQUENT
            - PAID
            - NEGATIVECURRENTBALANCE
          routingTransitNumber:
            type: string
            description: Routing transit number (RTN) associated with account number
              at owning institution.
          interestRate:
            type: number
            description: Interest Rate of Account
          priorInterestRate:
            type: number
            description: Previous Interest Rate of Account
          balanceAsOf:
            type: string
            description: As-of date of balances. YYYY-MM-DD.
    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'
    GetAccount:
      description: An instance of an account with full details.
      allOf:
      - type: object
        properties:
          depositAccount:
            $ref: '#/components/schemas/DepositAccount'
      - type: object
        properties:
          loanAccount:
            $ref: '#/components/schemas/LoanAccount'
      - type: object
        properties:
          locAccount:
            $ref: '#/components/schemas/LocAccount'
      - type: object
        properties:
          investmentAccount:
            $ref: '#/components/schemas/InvestmentAccount'
    GetAccounts:
      title: Accounts Entity
      description: An optionally paginated array of accounts.
      allOf:
      - $ref: '#/components/schemas/PaginatedArray'
      - type: object
        properties:
          accounts:
            type: array
            items:
              $ref: '#/components/schemas/Accounts'
    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
    DebtSecurity:
      title: DebtSecurity Entity
      type: object
      properties:
        parValue:
          type: number
          description: Par value amount
        debtType:
          $ref: '#/components/schemas/DebtType'
        debtClass:
          $ref: '#/components/schemas/DebtClass'
        couponRate:
          type: number
          description: Bond coupon rate for next closest call date
        couponDate:
          type: string
          description: Maturity date for next coupon. YYYY-MM-DD.
        couponMatureFrequency:
          $ref: '#/components/schemas/CouponMatureFrequency'
        callPrice:
          type: number
          description: Bond call price
        yieldToCall:
          type: number
          description: Yield to next call
        callDate:
          type: string
          description: Next call date. YYYY-MM-DD.
        callType:
          $ref: '#/components/schemas/CallType'
        yieldToMaturity:
          type: number
          description: Yield to maturity
        bondMaturityDate:
          type: string
          description: Bond Maturity date. YYYY-MM-DD.
    DepositAccount:
      title: DepositAccount Entity
      description: Deposit accounts will have following fields in FiAttributes - PreviousBalance,
        OpenDate, StatementName, 1DayFloat, 2orMoreDaysFloat, AccruedInterestMTD,
        ProjectedInterested, InterestPaidPreviousMonth
      allOf:
      - $ref: '#/components/schemas/AccountDetails'
      - type: object
        properties:
          currentBalance:
            type: number
            description: Balance of funds in account
          openingDayBalance:
            type: number
            description: Day's opening fund balance
          availableBalance:
            type: number
            description: Balance of funds available for use
          interestYtd:
            type: number
            description: YTD Interest
          term:
            type: integer
            description: Term of CD in months
          maturityDate:
            type: string
            description: Maturity date for CDs
    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
    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.
    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
    FiPortion:
      title: FiPortion
      type: object
      properties:
        assetClass:
          type: string
          description: FI-specific asset class
        percent:
          type: number
          description: Percentage of asset class that falls under this asset
    InvestmentAccount:
      title: InvestmentAccount Entity
      allOf:
      - $ref: '#/components/schemas/AccountDetails'
      - type: object
        properties:
          currentValue:
            type: number
            description: Total current value of all investments
          balanceList:
            type: array
            description: Balance List. Name value pair aggregate.
            items:
              $ref: '#/components/schemas/InvestmentBalance'
    InvestmentBalance:
      title: InvestmentBalance Entity
      type: object
      properties:
        balanceName:
          type: string
          description: Name of the balance
        balanceDescription:
          type: string
          description: Description of balance
        balanceType:
          $ref: '#/components/schemas/InvestmentBalanceType'
        balanceValue:
          type: number
          description: Value of balance name
        balanceDate:
          type: string
          description: Date as of this balance. YYYY-MM-DD.
        currency:
          $ref: '#/components/schemas/Currency'
    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'
    LoanAccount:
      title: LoanAccount Entity
      description: Loan accounts will have following fields in FiAttributes - BorrowerName,
        FacilityName, OutstandingBal, OutstandingBalLoanCurr, MaturityDate
      allOf:
      - $ref: '#/components/schemas/AccountDetails'
      - type: object
        properties:
          principalBalance:
            type: number
            description: Principal balance of loan
          escrowBalance:
            type: number
            description: Escrow balance of loan
          originalPrincipal:
            type: number
            description: Original principal of loan
          originatingDate:
            type: string
            description: Loan origination date. YYYY-MM-DD.
          loanTerm:
            type: integer
            description: Term of loan in months
          nextPaymentAmount:
            type: number
            description: Amount of next payment
          nextPaymentDate:
            type: string
            description: Date of next payment. YYYY-MM-DD.
          paymentFrequency:
            $ref: '#/components/schemas/PaymentFrequency'
          payOffAmount:
            type: number
            description: Payoff amount
          lastPaymentAmount:
            type: number
            description: Last payment amount
          lastPaymentDate:
            type: string
            description: Last payment date. YYYY-MM-DD.
          maturityDate:
            type: string
            description: Maturity date. YYYY-MM-DD.
          interestPaidYearToDate:
            type: number
            description: Interest paid year to date
    LoanTransaction:
      title: LoanTransaction Entity
      allOf:
      - $ref: '#/components/schemas/Transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/LoanTransactionType'
          paymentDetails:
            $ref: '#/components/schemas/PaymentDetails'
    LocAccount:
      title: LocAccount Entity
      description: Loc accounts will have following fields in FiAttributes - StatementBalance
      allOf:
      - $ref: '#/components/schemas/AccountDetails'
      - type: object
        properties:
          availableCredit:
            type: number
            description: Available credit
          nextPaymentAmount:
            type: number
            description: Amount of next payment
          nextPaymentDate:
            type: string
            description: Due date of next payment. YYYY-MM-DD.
          principalBalance:
            type: number
            description: Principal balance
          currentBalance:
            type: number
            description: Current balance LOC
          lastPaymentAmount:
            type: number
            description: Last payment amount
          lastPaymentDate:
            type: string
            description: Last payment date. YYYY-MM-DD.
          pastDueAmount:
            type: number
            description: Past Due Amount
          lastStmtBalance:
            type: number
            description: Last Statement Balance
          lastStmtDate:
            type: string
            description: Last Statement Date. YYYY-MM-DD.
    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'
    MutualFundSecurity:
      title: MutualFundSecurity Entity
      type: object
      properties:
        mutualFundType:
          $ref: '#/components/schemas/MutualFundType'
        unitsStreet:
          type: number
          description: Units in the FI's street name, positive quantity
        unitsUser:
          type: number
          description: Units in user's name directly, positive  quantity
        reinvestDividends:
          type: boolean
          description: Reinvest dividends
        reinvestCapitalGains:
          type: boolean
          description: Reinvest capital gains
        yield:
          type: number
          description: Current yield reported as portion of the fund's assets
        yieldAsOfDate:
          type: string
          description: As-of date for yield value. YYYY-MM-DD.
    OpenOrder:
      title: OpenOrder Entity
      type: object
      properties:
        orderId:
          maxLength: 256
          type: string
        securityId:
          type: string
        securityIdType:
          $ref: '#/components/schemas/SecurityIdType'
        symbol:
          type: string
          description: Market symbol
        description:
          type: string
          description: Description of order
        units:
          type: number
          description: Number of units (shares or bonds etc)
        orderType:
          $ref: '#/components/schemas/OrderType'
        orderDate:
          type: string
          description: Order date. YYYY-MM-DD.
        unitPrice:
          type: number
          description: Unit price
        unitType:
          $ref: '#/components/schemas/UnitType'
        orderDuration:
          $ref: '#/components/schemas/OrderDuration'
        subAccount:
          type: string
          enum:
          - CASH
          - MARGIN
          - SHORT
          - OTHER
        limitPrice:
          type: number
          description: Limit Price
        stopPrice:
          type: number
          description: Stop price
        inv401kSource:
          $ref: '#/components/schemas/Inv401kSourceType'
    OptionSecurity:
      title: OptionSecurity Entity
      type: object
      properties:
        secured:
          $ref: '#/components/schemas/Secured'
        optionType:
          $ref: '#/components/schemas/OptionType'
        strikePrice:
          type: number
          description: Strike price / Unit price
        expireDate:
          type: string
          description: Expiration date of option. YYYY-MM-DD.
        sharesPerContract:
          type: number
          description: Shares per contract
    OtherSecurity:
      title: OtherSecurity Entity
      type: object
      properties:
        typeDescription:
          type: string
          description: Description of Other Security
    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
    Portion:
      title: Portion Entity
      type: object
      properties:
        assetClass:
          $ref: '#/components/schemas/AssetClass'
        percent:
          type: number
    StockSecurity:
      title: StockSecurity Entity
      type: object
      properties:
        unitsStreet:
          type: number
          description: Units in the FI's street name, positive quantity
        unitsUser:
          type: number
          description: Units in user's name directly, positive  quantity
        reinvestDividends:
          type: boolean
          description: Reinvest dividends
        stockType:
          $ref: '#/components/schemas/StockType'
        yield:
          type: number
          description: Current yield
        yieldAsOfDate:
          type: string
          description: Yield as-of date. YYYY-MM-DD.
    SweepSecurity:
      title: SweepSecurity Entity
      type: object
      properties:
        currentBalance:
          type: number
          description: Balance of funds in account
        availableBalance:
          type: number
          description: Balance of funds available for use
        balanceAsOf:
          type: string
          description: As-of date of balances. YYYY-MM-DD.
        checks:
          type: boolean
          description: Whether or not checks can be written on the account
    TaxLot:
      title: TaxLot
      type: object
      properties:
        originalPurchaseDate:
          type: string
          description: Lot acquired date. YYYY-MM-DD.
        quantity:
          type: number
          description: Lot quantity
        purchasedPrice:
          type: number
          description: Original purchase price
        costBasis:
          type: number
          description: Total amount of money spent acquiring this lot including any
            fees or commission expenses incurred
        currentValue:
          type: number
          description: Lot market value
        postionType:
          $ref: '#/components/schemas/PositionType'
    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)
    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'
    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
    AnnuityProductType:
      title: AnnuityProductType
      type: string
      enum:
      - CURRENCY
      - SHARES
    AnnuityValueBasis:
      title: AnnuityValueBasis
      type: string
      enum:
      - FIXED
      - VARIABLE
    AnnualIncreaseType:
      title: AnnualIncreaseType
      type: string
      enum:
      - FIXED
      - PERCENT
      - DOLLAR
    AssetClass:
      title: AssetClass
      type: string
      enum:
      - DOMESTICBOND
      - INTLBOND
      - INTLSTOCK
      - LARGESTOCK
      - MONEYMARKET
      - OTHER
      - SMALLSTOCK
    BalanceType:
      title: BalanceType
      type: string
      description: ASSET (positive transaction amount increases balance) LIABILITY
        (positive transaction amount decreases balance)
      enum:
      - ASSET
      - LIABILITY
    CallType:
      title: CallType
      type: string
      description: Type of next call (CALL, PUT, PREFUND, MATURITY)
      enum:
      - CALL
      - MATURITY
      - PREFUND
      - PUT
    CompoundingPeriod:
      title: CompoundingPeriod
      type: string
      description: DAILY, WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, SEMIANNUALLY, ANNUALLY
      enum:
      - ANNUALLY
      - BIWEEKLY
      - DAILY
      - MONTHLY
      - SEMIANNUALLY
      - SEMIMONTHLY
      - WEEKLY
    CouponMatureFrequency:
      title: CouponMatureFrequency
      type: string
      description: When coupons mature (MONTHLY, QUARTERLY,  SEMIANNUAL, ANNUAL, OTHER)
      enum:
      - ANNUAL
      - MONTHLY
      - OTHER
      - QUARTERLY
      - SEMIANNUAL
    DebitCreditMemo:
      title: DebitCreditMemo
      type: string
      enum:
      - CREDIT
      - DEBIT
      - MEMO
    DebtClass:
      title: DebtClass
      type: string
      description: Classification of debt (TREASURY, MUNICIPAL, CORPORATE, OTHER)
      enum:
      - CORPORATE
      - MUNICIPAL
      - OTHER
      - TREASURY
    DebtType:
      title: DebtType
      type: string
      description: Debt type (COUPON, ZERO)
      enum:
      - COUPON
      - ZERO
    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
    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
    InterestRateType:
      title: InterestRateType
      type: string
      enum:
      - FIXED
      - VARIABLE
    Inv401kSourceType:
      title: Inv401kSourceType
      type: string
      description: Source of money. PRETAX, AFTERTAX, MATCH, PROFITSHARING, ROLLOVER
        OTHERVEST, OTHERNONVEST
      enum:
      - AFTERTAX
      - MATCH
      - OTHERNONVEST
      - OTHERVEST
      - PRETAX
      - PROFITSHARING
      - ROLLOVER
    InvestmentBalanceType:
      title: InvestmentBalanceType
      type: string
      enum:
      - AMOUNT
      - PERCENTAGE
    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
    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
    LoanPaymentFrequency:
      title: LoanPaymentFrequency
      type: string
      description: WEEKLY, BIWEEKLY, TWICEMONTHLY, MONTHLY, FOURWEEKS, BIMONTHLY,
        QUARTERLY, SEMIANNUALLY, ANNUALLY, OTHER
      enum:
      - ANNUALLY
      - BIMONTHLY
      - BIWEEKLY
      - FOURWEEKS
      - MONTHLY
      - OTHER
      - QUARTERLY
      - SEMIANNUALLY
      - TWICEMONTHLY
      - WEEKLY
    LoanTransactionType:
      title: LoanTransactionType
      type: string
      description: PAYMENT, FEE, ADJUSTMENT, INTEREST
      enum:
      - ADJUSTMENT
      - FEE
      - INTEREST
      - PAYMENT
    LocTransactionType:
      title: LocTransactionType
      type: string
      description: CHECK, WITHDRAWAL, PAYMENT, FEE, ADJUSTMENT, INTEREST
      enum:
      - ADJUSTMENT
      - CHECK
      - FEE
      - INTEREST
      - PAYMENT
      - WITHDRAWAL
    MutualFundType:
      title: MutualFundType
      type: string
      description: Mutual fund type
      enum:
      - OPENEND
      - CLOSEEND
      - OTHER
    OptionType:
      title: OptionType
      type: string
      enum:
      - CALL
      - PUT
    OrderDuration:
      title: OrderDuration
      type: string
      description: This order is good for DAY, GOODTILLCANCEL, IMMEDIATE
      enum:
      - DAY
      - GOODTILLCANCEL
      - IMMEDIATE
    OrderType:
      title: OrderType
      type: string
      enum:
      - BUY
      - SELL
      - BUYTOCOVER
      - BUYTOOPEN
      - SELLTOCOVER
      - SELLTOOPEN
      - SELLSHORT
      - SELLCLOSE
    PaymentFrequency:
      title: PaymentFrequency
      type: string
      description: DAILY, WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, SEMIANNUALLY, ANNUALLY
      enum:
      - ANNUALLY
      - BIWEEKLY
      - DAILY
      - MONTHLY
      - SEMIANNUALLY
      - SEMIMONTHLY
      - WEEKLY
    PeriodCertainGuarantee:
      title: PeriodCertainGuarante
      type: string
      enum:
      - NO PERIOD CERTAIN
      - 5-YEAR
      - 10-YEAR
      - 20-YEAR
      - 30-YEAR
    PositionType:
      title: PositionType
      type: string
      description: LONG, SHORT
      enum:
      - LONG
      - SHORT
    Secured:
      title: Secured
      type: string
      description: How the option is secured
      enum:
      - COVERED
      - NAKED
    SecurityIdType:
      title: SecurityIdType
      type: string
      description: Security identifier type
      enum:
      - CUSIP
      - ISIN
      - SEDOL
      - SICC
      - VALOR
      - WKN
    SecurityType:
      title: SecurityType
      type: string
      enum:
      - BOND
      - DEBT
      - MUTUALFUND
      - OPTION
      - OTHER
      - STOCK
      - SWEEP
    StockType:
      title: StockType
      type: string
      enum:
      - COMMON
      - CONVERTIBLE
      - OTHER
      - PREFERRED
    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
    TransactionStatus:
      title: TransactionStatus
      type: string
      enum:
      - AUTHORIZATION
      - MEMO
      - PENDING
      - POSTED
    UnitType:
      title: UnitType
      type: string
      enum:
      - CURRENCY
      - SHARES
    message:
      type: string
    resultDetail:
      type: object
      properties:
        detailCode:
          type: string
        detailMessage:
          type: string
        sourceAppCatId:
          type: string
    errorResult:
      type: object
      required:
      - code
      - status
      properties:
        code:
          type: string
          description: Contains the API response code e.g. 400, 500 etc
          example: "500"
        status:
          type: string
          description: HTTP Status.
          enum:
          - PARTIAL
          - FAILURE
          example: FAILURE
        messages:
          type: array
          description: Short Description of result
          items:
            $ref: '#/components/schemas/message'
        resultDetails:
          type: array
          description: Details of result
          items:
            $ref: '#/components/schemas/resultDetail'
    result:
      type: object
      required:
      - code
      - status
      properties:
        code:
          type: string
          description: Contains the API response code e.g. 200, 500 etc
          example: "200"
        status:
          type: string
          description: HTTP Status.
          enum:
          - SUCCESS
          - PARTIAL
          - FAILURE
          example: SUCCESS
        messages:
          type: array
          description: Short Description of result
          items:
            $ref: '#/components/schemas/message'
        resultDetails:
          type: array
          description: Details of result
          items:
            $ref: '#/components/schemas/resultDetail'
  securitySchemes:
    api-key-1:
      type: apiKey
      x-key-type: client_id
      name: x-api-key
      in: header
x-ibm-configuration:
  categories:
  - bian--bd--operationalservices
  type: rest
  phase: realized
  enforced: true
  testable: true
  cors:
    enabled: true
  oauth-servers:
    OAuth:
      authorizationCode:
        tokenUrls:
        - https://api2-sit2.bmogc.net/open-banking2/commercial-sb/oauth20/token
        authorizationUrls:
        - https://api2-sit2.bmogc.net/open-banking2/commercial-sb/oauth20/authorize
        refreshUrls: []
servers:
- url: https://sandbox-open-api.bmo.com/open-banking/commercial-sb
security:
- api-key-1: []
x-ibm-endpoints:
- url: https://sandbox-open-api.bmo.com/open-banking/commercial-sb
  type:
  - production
  - development
...
