Bank of us Banking Accounts API

Banking Account endpoints

Operations 2

GET /banking/accounts Get Accounts #
GET /banking/accounts/{accountId} Get Account Detail #

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/bank-of-us-banking-accounts-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

bank-of-us-banking-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: contact@dsb.gov.au
    name: Data Standards Body
    url: https://dsb.gov.au/
  description: Specifications for resource endpoints applicable to data holders in the Banking sector.
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
  title: CDR Banking Banking Account Balances Banking Accounts API
  version: 1.36.0
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- description: Banking Account endpoints
  name: Banking Accounts
  x-shortName: Accounts
paths:
  /banking/accounts:
    get:
      description: 'Obtain a list of accounts.


        Obsolete versions: [v1](includes/obsolete/get-accounts-v1.html), [v2](includes/obsolete/get-accounts-v2.html).'
      operationId: listBankingAccounts
      parameters:
      - description: Used to filter results on the _productCategory_ field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        explode: true
        in: query
        name: product-category
        required: false
        schema:
          $ref: '#/components/schemas/BankingProductCategoryV2'
        style: form
      - description: Used to filter results according to open/closed status. Values can be `OPEN`, `CLOSED` or `ALL`. If absent then `ALL` is assumed.
        explode: true
        in: query
        name: open-status
        required: false
        schema:
          default: ALL
          enum:
          - ALL
          - CLOSED
          - OPEN
          type: string
        style: form
      - description: Filters accounts based on whether they are owned by the authorised customer. `true` for owned accounts, `false` for unowned accounts and absent for all accounts.
        explode: true
        in: query
        name: is-owned
        required: false
        schema:
          type: boolean
        style: form
      - description: Page of results to request (standard pagination).
        explode: true
        in: query
        name: page
        required: false
        schema:
          default: 1
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Page size to request. Default is 25 (standard pagination).
        explode: true
        in: query
        name: page-size
        required: false
        schema:
          default: 25
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      - description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
        explode: false
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingAccountListV3'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
      summary: Get Accounts
      tags:
      - Banking Accounts
      x-scopes:
      - bank:accounts.basic:read
      x-version: '3'
  /banking/accounts/{accountId}:
    get:
      description: 'Obtain detailed information on a single account.


        Obsolete versions: [v1](includes/obsolete/get-account-detail-v1.html), [v2](includes/obsolete/get-account-detail-v2.html), [v3](includes/obsolete/get-account-detail-v3.html), [v4](includes/obsolete/get-account-detail-v4.html).'
      operationId: getBankingAccountDetail
      parameters:
      - description: The _accountId_ to obtain data for. _accountId_ values are returned by account list endpoints.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          $ref: '#/components/schemas/BankingAccountId'
        style: simple
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      - description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
        explode: false
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingAccountByIdV5'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Banking Account](#error-404-authorisation-unavailable-banking-account)</li><li>[404 - Invalid Banking Account](#error-404-authorisation-invalid-banking-account)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
      summary: Get Account Detail
      tags:
      - Banking Accounts
      x-scopes:
      - bank:accounts.detail:read
      x-version: '5'
components:
  schemas:
    BankingProductRateTierV4:
      description: Defines the criteria and conditions for which a rate applies.
      properties:
        name:
          description: A display name for the tier.
          type: string
        unitOfMeasure:
          description: The unit of measure that applies to the _minimumValue_ and _maximumValue_ values, e.g.,<ul><li>`DOLLAR` for a dollar amount (with values in AmountString format)<li>`PERCENT` for Loan-to-Value Ratio or LVR (with values in RateString format)<li>`MONTH` or `DAY` for a period representing a discrete number of months or days for a fixed-term deposit or loan (with values as a string containing a positive integer).</ul>
          enum:
          - DAY
          - DOLLAR
          - MONTH
          - PERCENT
          type: string
        minimumValue:
          description: The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value.
          type: string
        maximumValue:
          description: 'The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier''s range has no upper bound.'
          type: string
        rateApplicationMethod:
          description: The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps').
          enum:
          - PER_TIER
          - WHOLE_BALANCE
          type: string
        applicabilityConditions:
          description: Applicability conditions for the rate tier.
          items:
            $ref: '#/components/schemas/BankingProductRateConditionV2'
          type: array
        additionalInfo:
          description: Display text providing more information on the rate tier.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this rate tier.
          type: string
          x-cds-type: URIString
      required:
      - minimumValue
      - name
      - unitOfMeasure
      type: object
    BankingFeeAmount:
      properties:
        amount:
          description: The specific amount charged for the fee each time it is incurred.
          type: string
          x-cds-type: AmountString
      required:
      - amount
      type: object
    ResponseErrorListV2:
      properties:
        errors:
          description: List of errors.
          items:
            $ref: '#/components/schemas/ErrorV2'
          type: array
      required:
      - errors
      type: object
    ResponseBankingAccountListV3_data:
      properties:
        accounts:
          description: The list of accounts returned. If the filter results in an empty set then this array may have no records.
          items:
            $ref: '#/components/schemas/BankingAccountV3'
          type: array
      required:
      - accounts
      type: object
    BankingLoanAccountV3:
      properties:
        originalStartDate:
          description: Optional original start date for the loan.
          type: string
          x-cds-type: DateString
        originalLoanAmount:
          description: Optional original loan value.
          type: string
          x-cds-type: AmountString
        originalLoanCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        loanEndDate:
          description: Date that the loan is due to be repaid in full.
          type: string
          x-cds-type: DateString
        nextInstalmentDate:
          description: Next date that an instalment is required.
          type: string
          x-cds-type: DateString
        minInstalmentAmount:
          description: Minimum amount of next instalment.
          type: string
          x-cds-type: AmountString
        minInstalmentCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        maxRedraw:
          description: Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account.
          type: string
          x-cds-type: AmountString
        maxRedrawCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        minRedraw:
          description: Minimum redraw amount.
          type: string
          x-cds-type: AmountString
        minRedrawCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        offsetAccountEnabled:
          description: Set to `true` if one or more offset accounts are configured for this loan account.
          type: boolean
        offsetAccountIds:
          description: The _accountId_ values of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation.
          items:
            $ref: '#/components/schemas/BankingAccountId'
          type: array
        repaymentType:
          description: Option in place for repayments.
          enum:
          - INTEREST_ONLY
          - OTHER
          - PRINCIPAL_AND_INTEREST
          - UNCONSTRAINED
          type: string
        repaymentFrequency:
          description: The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
      required:
      - repaymentType
      type: object
    BankingFeeDiscountRate:
      properties:
        rateType:
          description: Type of fee rate discount calculation.<ul><li>`BALANCE` A fee rate discount based on a balance</li><li>`FEE` A fee rate discount based on the fee to which the discount is attached</li><li>`INTEREST_ACCRUED` A fee rate discount based on interest accrued</li><li>`TRANSACTION` A fee rate discount based on a transaction.</li></ul>
          enum:
          - BALANCE
          - FEE
          - INTEREST_ACCRUED
          - TRANSACTION
          type: string
        rate:
          description: The fee rate discount calculated according to the _rateType_.
          type: string
          x-cds-type: RateString
        amountRange:
          $ref: '#/components/schemas/BankingFeeDiscountRange'
      required:
      - rate
      - rateType
      type: object
    BankingCreditCardAccount:
      properties:
        minPaymentAmount:
          description: The minimum payment amount due for the next card payment.
          type: string
          x-cds-type: AmountString
        paymentDueAmount:
          description: The amount due for the next card payment.
          type: string
          x-cds-type: AmountString
        paymentCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        paymentDueDate:
          description: Date that the next payment for the card is due.
          type: string
          x-cds-type: DateString
      required:
      - minPaymentAmount
      - paymentDueAmount
      - paymentDueDate
      type: object
    BankingProductRateConditionV2:
      description: Defines a condition for the applicability of a rate.
      properties:
        rateApplicabilityType:
          description: Category of applicability condition associated with the rate. For more information refer to [Rate and Tier Applicability Types](#tocSbankingproductrateconditiondoc).
          enum:
          - MIN_DEPOSITS
          - MIN_DEPOSIT_AMOUNT
          - DEPOSIT_BALANCE_INCREASED
          - EXISTING_CUST
          - NEW_ACCOUNTS
          - NEW_CUSTOMER
          - NEW_CUSTOMER_TO_GROUP
          - ONLINE_ONLY
          - OTHER
          - MIN_PURCHASES
          - MAX_WITHDRAWALS
          - MAX_WITHDRAWAL_AMOUNT
          example: NEW_CUSTOMER
          type: string
        additionalValue:
          description: Generic field containing additional information relevant to the _rateApplicabilityType_ specified. Whether mandatory or not is dependent on the value of [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc).
          type: string
        additionalInfo:
          description: Display text providing more information on the condition. Mandatory if the [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc) value is `OTHER`.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this condition.
          type: string
          x-cds-type: URIString
      required:
      - rateApplicabilityType
      type: object
      x-conditional:
      - additionalValue
      - additionalInfo
    ResponseBankingAccountByIdV5:
      properties:
        data:
          $ref: '#/components/schemas/BankingAccountDetailV5'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
      required:
      - data
      - links
      type: object
    BankingProductInstalments:
      description: Details of instalment features on the account.
      properties:
        maximumConcurrentPlans:
          description: Maximum number of concurrent active instalment plans that may be created on the account. If `null`, there is no predetermined maximum number.
          type: integer
          x-cds-type: NaturalNumber
        instalmentsLimit:
          description: Maximum combined limit of all instalment plans that may be created on the account. If `null` or not present, an opened account balance _creditLimit_ may be assumed to provide a maximum limit for instalments.
          type: string
          x-cds-type: AmountString
        minimumPlanValue:
          description: Minimum value that can be opened as an instalment plan.
          type: string
          x-cds-type: AmountString
        maximumPlanValue:
          description: Maximum value that can be opened as an instalment plan. If `null` or not present, _instalmentsLimit_ is assumed to be the maximum individual plan value.
          type: string
          x-cds-type: AmountString
        minimumSplit:
          description: Minimum number of instalment payments a plan can be created with.
          example: 4
          type: integer
          x-cds-type: PositiveInteger
        maximumSplit:
          description: Maximum number of instalment payments a plan can be created with.
          example: 4
          type: integer
          x-cds-type: PositiveInteger
      required:
      - maximumSplit
      - minimumSplit
      type: object
    BankingProductLendingRateV3:
      properties:
        lendingRateType:
          description: The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc).
          enum:
          - BALANCE_TRANSFER
          - BUNDLE_DISCOUNT_FIXED
          - BUNDLE_DISCOUNT_VARIABLE
          - CASH_ADVANCE
          - DISCOUNT
          - FIXED
          - FLOATING
          - INTRODUCTORY
          - MARKET_LINKED
          - PENALTY
          - PURCHASE
          - VARIABLE
          example: FIXED
          type: string
        rate:
          description: The rate to be applied.
          type: string
          x-cds-type: RateString
        comparisonRate:
          description: A comparison rate equivalent for this rate.
          type: string
          x-cds-type: RateString
        calculationFrequency:
          description: The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
        applicationType:
          description: The type of approach used to apply the rate to the account.
          enum:
          - MATURITY
          - PERIODIC
          - UPFRONT
          example: PERIODIC
          type: string
        applicationFrequency:
          description: The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Mandatory if the _applicationType_ value is `PERIODIC`.
          type: string
          x-cds-type: ExternalRef
        interestPaymentDue:
          description: When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered.
          enum:
          - IN_ADVANCE
          - IN_ARREARS
          type: string
        repaymentType:
          description: Option in place for repayments.
          enum:
          - INTEREST_ONLY
          - OTHER
          - PRINCIPAL_AND_INTEREST
          - UNCONSTRAINED
          type: string
        loanPurpose:
          description: The reason for taking out the loan.
          enum:
          - INVESTMENT
          - OTHER
          - OWNER_OCCUPIED
          - UNCONSTRAINED
          type: string
        tiers:
          description: Qualifying criteria or conditions relevant to the associated rate.
          items:
            $ref: '#/components/schemas/BankingProductRateTierV4'
          type: array
        applicabilityConditions:
          description: Applicability conditions for the rate.
          items:
            $ref: '#/components/schemas/BankingProductRateConditionV2'
          type: array
        additionalValue:
          description: Generic field containing additional information relevant to the [_lendingRateType_](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [_lendingRateType_](#tocSproductlendingratetypedoc).
          type: string
        additionalInfo:
          description: Display text providing more information on the rate.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this rate.
          type: string
          x-cds-type: URIString
      required:
      - applicationType
      - lendingRateType
      - loanPurpose
      - rate
      - repaymentType
      type: object
      x-conditional:
      - additionalValue
      - applicationFrequency
    BankingProductDiscountV2:
      description: Note that the currency of the fee discount is expected to be the same as the currency of the fee itself.
      properties:
        description:
          description: Description of the discount.
          type: string
        discountType:
          description: The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc).
          enum:
          - BALANCE
          - DEPOSITS
          - ELIGIBILITY_ONLY
          - FEE_CAP
          - PAYMENTS
          type: string
        discountMethodUType:
          description: Reference to the applicable fee discount method structure.
          enum:
          - fixedAmount
          - rateBased
          type: string
        fixedAmount:
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountAmount'
          description: Mandatory if the _discountMethodUType_ value is `fixedAmount`. Where the discount is a specific amount.
        rateBased:
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountRate'
          description: Mandatory if the _discountMethodUType_ value is `rateBased`. Where the discount is based on a type of rate. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee.
        additionalValue:
          description: Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc).
          type: string
        additionalInfo:
          description: Display text providing more information on the discount.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this discount.
          type: string
          x-cds-type: URIString
        eligibility:
          description: Eligibility constraints that apply to this discount. Mandatory if the [_discountType_](#tocSproductdiscounttypedoc) value is `ELIGIBILITY_ONLY`.
          items:
            $ref: '#/components/schemas/BankingProductDiscountEligibility'
          type: array
      required:
      - description
      - discountMethodUType
      - discountType
      type: object
      x-conditional:
      - fixedAmount
      - rateBased
      - additionalValue
      - eligibility
    CommonPhysicalAddress:
      properties:
        addressUType:
          description: The type of address object present.
          enum:
          - paf
          - simple
          type: string
        simple:
          $ref: '#/components/schemas/CommonSimpleAddress'
        paf:
          $ref: '#/components/schemas/CommonPAFAddress'
      required:
      - addressUType
      type: object
      x-conditional:
      - simple
      - paf
    BankingFeeDiscountRange:
      description: A minimum or maximum fee discount amount where a specific fixed amount is not known until the fee is incurred.
      properties:
        discountMinimum:
          description: The minimum fee discount that will be applied per occurrence.
          type: string
          x-cds-type: AmountString
        discountMaximum:
          description: The maximum fee discount that will be applied per occurrence.
          type: string
          x-cds-type: AmountString
      type: object
 

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bank-of-us/refs/heads/main/openapi/bank-of-us-banking-accounts-api-openapi.yml