Bank of Sydney 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-sydney-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-sydney-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:
    LinksPaginated:
      properties:
        self:
          description: Fully qualified link that generated the current response document.
          type: string
          x-cds-type: URIString
        first:
          description: URI to the first page of this set. Mandatory if this response is not the first page.
          type: string
          x-cds-type: URIString
        prev:
          description: URI to the previous page of this set. Mandatory if this response is not the first page.
          type: string
          x-cds-type: URIString
        next:
          description: URI to the next page of this set. Mandatory if this response is not the last page.
          type: string
          x-cds-type: URIString
        last:
          description: URI to the last page of this set. Mandatory if this response is not the last page.
          type: string
          x-cds-type: URIString
      required:
      - self
      type: object
      x-conditional:
      - prev
      - next
      - first
      - last
    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
    BankingAccountV3:
      properties:
        accountId:
          allOf:
          - $ref: '#/components/schemas/BankingAccountId'
          description: Unique identifier for the account.
        creationDate:
          description: Date that the account was created (if known).
          type: string
          x-cds-type: DateString
        displayName:
          description: The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type.
          type: string
        nickname:
          description: A customer supplied nickname for the account.
          type: string
        openStatus:
          default: OPEN
          description: Open or closed status for the account. If not present then `OPEN` is assumed.
          enum:
          - CLOSED
          - OPEN
          type: string
        isOwned:
          default: true
          description: Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed.
          type: boolean
        accountOwnership:
          description: Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers.
          enum:
          - UNKNOWN
          - ONE_PARTY
          - TWO_PARTY
          - MANY_PARTY
          - OTHER
          type: string
        maskedNumber:
          description: A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number.
          type: string
          x-cds-type: MaskedAccountString
        productCategory:
          $ref: '#/components/schemas/BankingProductCategoryV2'
        productName:
          description: The unique identifier of the account as defined by the data holder (akin to model number for the account).
          type: string
        isInstalmentDetailAvailable:
          default: false
          description: '`true` if any active or inactive instalment plans are available in the Get Instalment Plans endpoints. `false` if instalment plans are not applicable to the account.'
          type: boolean
      required:
      - accountId
      - accountOwnership
      - displayName
      - maskedNumber
      - productCategory
      - productName
      type: object
    BankingProductDepositRateV2:
      properties:
        depositRateType:
          description: The type of rate (`FIXED`, `VARIABLE`, `BONUS`, etc.) For further details, refer to [Product Deposit Rate Types](#tocSproductdepositratetypedoc).
          enum:
          - BONUS
          - BUNDLE_BONUS
          - FIXED
          - FLOATING
          - INTRODUCTORY
          - MARKET_LINKED
          - VARIABLE
          example: VARIABLE
          type: string
        rate:
          description: The rate to be applied.
          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
        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 [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc).
          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
      - depositRateType
      - rate
      type: object
      x-conditional:
      - additionalValue
      - applicationFrequency
    BankingAccountId:
      description: A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements.
      type: string
      x-cds-type: ASCIIString
    BankingFeeRate:
      properties:
        rateType:
          description: Type of fee rate calculation.<ul><li>`BALANCE` A fee rate based on a balance</li><li>`INTEREST_ACCRUED` A fee rate based on interest accrued</li><li>`TRANSACTION` A fee rate based on a transaction.</li></ul>
          enum:
          - BALANCE
          - INTEREST_ACCRUED
          - TRANSACTION
          type: string
        rate:
          description: The fee rate calculated according to the _rateType_.
          type: string
          x-cds-type: RateString
        accrualFrequency:
          description: The indicative frequency with which the fee is calculated on the account if applicable. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
        amountRange:
          $ref: '#/components/schemas/BankingFeeRange'
      required:
      - rate
      - rateType
      type: object
      x-conditional:
      - balanceRate
      - transactionRate
      - accruedRate
    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
    CommonPAFAddress:
      description: Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Mandatory if the _addressUType_ value is `paf`.
      properties:
        dpid:
          description: Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier.
          type: string
        thoroughfareNumber1:
          description: Thoroughfare number for a property (first number in a property ranged address).
          type: integer
          x-cds-type: PositiveInteger
        thoroughfareNumber1Suffix:
          description: Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated.
          type: string
        thoroughfareNumber2:
          description: Second thoroughfare number (only used if the property has a ranged address, e.g., 23-25).
          type: integer
          x-cds-type: PositiveInteger
        thoroughfareNumber2Suffix:
          description: Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated.
          type: string
        flatUnitType:
          description: Type of flat or unit for the address.
          type: string
        flatUnitNumber:
          description: Unit number (including suffix, if applicable).
          type: string
        floorLevelType:
          description: Type of floor or level for the address.
          type: string
        floorLevelNumber:
          description: Floor or level number (including alpha characters).
          type: string
        lotNumber:
          description: Allotment number for the address.
          type: string
        buildingName1:
          description: Building/Property name 1.
          type: string
        buildingName2:
          description: Building/Property name 2.
          type: string
        streetName:
          description: The name of the street.
          type: string
        streetType:
          description: The street type. Valid enumeration defined by Australia Post PAF code file.
          type: string
        streetSuffix:
          description: The street type suffix. Valid enumeration defined by Australia Post PAF code file.
          type: string
        postalDeliveryType:
          description: Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file.
          type: string
        postalDeliveryNumber:
          description: Postal delivery number if the address is a postal delivery type.
          type: integer
          x-cds-type: PositiveInteger
        postalDeliveryNumberPrefix:
          description: Postal delivery number prefix related to the postal delivery number.
          type: string
        postalDeliveryNumberSuffix:
          description: Postal delivery number suffix related to the postal delivery number.
          type: string
        localityName:
          description: Full name of locality.
          type: string
        postcode:
          description: Postcode for the locality.
          type: string
        state:
          description: State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.
          type: string
      required:
      - localityName
      - postcode
      - state
      type: object
    BankingProductFeeV2:
      properties:
        name:
          description: Name of the fee.
          type: string
        feeType:
          description: The type of fee. For further details, refer to [Product Fee Types](#tocSproductfeetypedoc).
          enum:
          - CASH_ADVANCE
          - DEPOSIT
          - DISHONOUR
          - ENQUIRY
          - EVENT
          - EXIT
          - LATE_PAYMENT
          - OTHER
          - PAYMENT
          - PERIODIC
          - PURCHASE
          - REPLACEMENT
          - TRANSACTION
          - UPFRONT
          - UPFRONT_PER_PLAN
          - VARIATION
          - WITHDRAWAL
          example: CASH_ADVANCE
          type: string
        feeMethodUType:
          description: Reference to the applicable fee charging method structure.
          enum:
          - fixedAmount
          - rateBased
          - variable
          type: string
        fixedAmount:
          allOf:
          - $ref: '#/components/schemas/BankingFeeAmount'
          description: Mandatory if the _feeMethodUType_ value is `fixedAmount`. Where the fee is a specific amount.
        rateBased:
          allOf:
          - $ref: '#/components/schemas/BankingFeeRate'
          description: Mandatory if the _feeMethodUType_ value is `rateBased`. Where the fee is based on a type of rate.
        variable:
          allOf:
          - $ref: '#/components/schemas/BankingFeeRange'
          description: Mandatory if the _feeMethodUType_ value is `variable`. Where the amount or rate may not be known until the fee is incurred.
        feeCap:
          description: The cap amount if multiple occurrences of the fee are capped to a limit.
          type: string
          x-cds-type: AmountString
        feeCapPeriod:
          description: Specifies a duration over which multiple occurrences of the fee will be capped. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
        currency:
          default: AUD
          description: The currency the fee will be charged in. Assumes `AUD` if absent.
          type: string
          x-cds-type: CurrencyString
        additionalValue:
          description: Generic field containing additional information relevant to the [_feeType_](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [_feeType_](#tocSproductfeetypedoc).
          type: string
        additionalInfo:
          description: Display text providing more information on the fee. Mandatory if the [_feeType_](#tocSproductfeetypedoc) value is `OTHER`.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this fee.
          type: string
          x-cds-type: URIString
        discounts:
          description: An optional list of discounts to this fee that may be available.
          items:
            $ref: '#/components/schemas/BankingProductDiscountV2'
          type: array
      required:
      - feeMethodUType
      - feeType
      - name
      type: object
      x-conditional:
      - fixedAmount
      - rateBased
      - variable
      - additionalValue
      - additionalInfo
    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
    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.

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