ING Australia Banking Products API

Banking Product endpoints

Operations 2

GET /banking/products Get Products #
GET /banking/products/{productId} Get Product 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/ing-australia-banking-products-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

ing-australia-banking-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CDR Banking Banking Account Balances Banking Products API
  version: 1.36.0
  description: Specifications for resource endpoints applicable to data holders in the Banking sector.
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
  contact:
    name: Data Standards Body
    email: contact@dsb.gov.au
    url: https://dsb.gov.au/
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- name: Banking Products
  x-shortName: Products
  description: Banking Product endpoints
paths:
  /banking/products:
    get:
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      tags:
      - Banking Products
      summary: Get Products
      description: 'Obtain a list of products that are currently openly offered to the market.


        Note that the results returned by this endpoint are expected to be ordered in descending order according to _lastUpdated_.


        ### Conventions

        In the product reference payloads there are a number of recurring conventions that are explained below.


        #### Arrays Of Features


        In the product detail payload there are a number of arrays articulating generic features, constraints, prices, etc. The intent of these arrays is as follows:


        - Each element in an array has the same structure so that clients can reliably interpret the payloads

        - Each element as a type element that is an enumeration of the specific aspect of a product being described, such as types of fees.

        - Each element has a field named [_additionalValue_](#productfeaturetypedoc). This is a generic field with contents that will vary based on the type of object being described. The contents of this field for the `ADDITIONAL_CARDS` feature is the number of cards allowed while the contents of this field for the `MAX_LIMIT` constraint would be the maximum credit limit allowed for the product.

        - An element in these arrays of the same type may appear more than once. For instance, a product may offer two separate loyalty programs that the customer can select from. A fixed term mortgage may have different rates for different term lengths.

        - An element in these arrays may contain an _additionalInfo_ and _additionalInfoUri_ field. The _additionalInfo_ field is used to provide displayable text clarifying the purpose of the element in some way when the product is presented to a customer. The _additionalInfoUri_ provides a link to externally hosted information specifically relevant to that feature of the product.

        - Depending on the type of data being represented there may be additional specific fields.


        #### URIs To More Information


        As the complexities and nuances of a financial product can not easily be fully expressed in a data structure without a high degree of complexity it is necessary to provide additional reference information that a potential customer can access so that they are fully informed of the features and implications of the product. The payloads for product reference therefore contain numerous fields that are provided to allow the product holder to describe the product more fully using a web page hosted on their online channels.


        These URIs do not need to all link to different pages. If desired, they can all link to a single hosted page and use different HTML anchors to focus on a specific topic such as eligibility or fees.


        #### Linkage To Accounts

        From the moment that a customer applies for a product and an account is created the account and the product that spawned it will diverge. Rates and features of the product may change and a discount may be negotiated for the account.


        For this reason, while _productCategory_ is a common field between accounts and products, there is no specific ID that can be used to link an account to a product within the regime.


        Similarly, many of the fields and objects in the product payload will appear in the account detail payload but the structures and semantics are not identical as one refers to a product that can potentially be originated and one refers to an account that actually has been instantiated and created along with the associated decisions inherent in that process.


        #### Dates

        It is expected that data consumers needing this data will call relatively frequently to ensure the data they have is representative of the current offering from a bank. To minimise the volume and frequency of these calls the ability to set a _lastUpdated_ field with the date and time of the last update to this product is included. A call for a list of products can then be filtered to only return products that have been updated since the last time that data was obtained using the _updated-since_ query parameter.


        In addition, the concept of effective date and time has also been included. This allows for a product to be marked for obsolescence, or introduction, from a certain time without the need for an update to show that a product has been changed. The inclusion of these dates also removes the need to represent deleted products in the payload. Products that are no longer offered can be marked not effective for a few weeks before they are then removed from the product set as an option entirely.


        Obsolete versions: [v1](includes/obsolete/get-products-v1.html), [v2](includes/obsolete/get-products-v2.html), [v3](includes/obsolete/get-products-v3.html), [v4](includes/obsolete/get-products-v4.html).'
      operationId: listBankingProducts
      parameters:
      - name: effective
        in: query
        description: Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the _effectiveFrom_ and _effectiveTo_ fields. Valid values are `CURRENT`, `FUTURE` and `ALL`. If absent defaults to `CURRENT`.
        schema:
          type: string
          default: CURRENT
          enum:
          - ALL
          - CURRENT
          - FUTURE
      - name: updated-since
        in: query
        description: Only include products that have been updated after the specified date and time. If absent defaults to include all products.
        schema:
          type: string
        x-cds-type: DateTimeString
      - name: brand
        in: query
        description: Filter results based on a specific brand.
        schema:
          type: string
      - $ref: '#/components/parameters/QueryBankingProductCategory'
      - $ref: '#/components/parameters/QueryPage'
      - $ref: '#/components/parameters/QueryPageSize'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      responses:
        '200':
          $ref: '#/components/responses/ListBankingProducts200'
        '400':
          $ref: '#/components/responses/ListBankingProducts400'
        '406':
          $ref: '#/components/responses/ListBankingProducts406'
        '422':
          $ref: '#/components/responses/ListBankingProducts422'
      x-version: '5'
  /banking/products/{productId}:
    get:
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      tags:
      - Banking Products
      summary: Get Product Detail
      description: 'Obtain detailed information on a single product offered openly to the market.


        Obsolete versions: [v1](includes/obsolete/get-product-detail-v1.html), [v2](includes/obsolete/get-product-detail-v2.html), [v3](includes/obsolete/get-product-detail-v3.html), [v4](includes/obsolete/get-product-detail-v4.html), [v5](includes/obsolete/get-product-detail-v5.html), [v6](includes/obsolete/get-product-detail-v6.html).'
      operationId: getBankingProductDetail
      parameters:
      - name: productId
        in: path
        description: The _productId_ to obtain data for. _productId_ values are returned by product list endpoints.
        required: true
        schema:
          $ref: '#/components/schemas/BankingProductId'
        x-cds-type: ASCIIString
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      responses:
        '200':
          $ref: '#/components/responses/GetBankingProductDetail200'
        '400':
          $ref: '#/components/responses/GetBankingProductDetail400'
        '404':
          $ref: '#/components/responses/GetBankingProductDetail404'
        '406':
          $ref: '#/components/responses/GetBankingProductDetail406'
      x-version: '7'
components:
  parameters:
    QueryBankingProductCategory:
      name: product-category
      in: query
      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.
      schema:
        $ref: '#/components/schemas/BankingProductCategoryV2'
    QueryPageSize:
      name: page-size
      in: query
      description: Page size to request. Default is 25 (standard pagination).
      schema:
        type: integer
        default: 25
      x-cds-type: PositiveInteger
    HeaderXMinV:
      name: x-min-v
      in: header
      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`.
      schema:
        type: string
    QueryPage:
      name: page
      in: query
      description: Page of results to request (standard pagination).
      schema:
        type: integer
        default: 1
      x-cds-type: PositiveInteger
    HeaderXV:
      name: x-v
      in: header
      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).
      required: true
      schema:
        type: string
  responses:
    GetBankingProductDetail404:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Resource](#error-404-resource-unavailable)</li><li>[404 - Invalid Resource](#error-404-resource-invalid)</li></ul>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingProducts400:
      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 Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li></ul>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingProducts406:
      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>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetBankingProductDetail400:
      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>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetBankingProductDetail200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseBankingProductByIdV7'
    ListBankingProducts422:
      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>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingProducts200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseBankingProductListV4'
    GetBankingProductDetail406:
      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>
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
  schemas:
    BankingProductConstraintV3:
      required:
      - constraintType
      type: object
      properties:
        constraintType:
          type: string
          description: The type of constraint described. For further details, refer to [Product Constraint Types](#tocSproductconstrainttypedoc).
          enum:
          - MAX_BALANCE
          - MAX_LIMIT
          - MAX_LVR
          - MIN_BALANCE
          - MIN_LIMIT
          - MIN_LVR
          - OPENING_BALANCE
          - OTHER
        additionalValue:
          type: string
          description: Generic field containing additional information relevant to the [_constraintType_](#tocSproductconstrainttypedoc) specified. Whether mandatory or not is dependent on the value of [_constraintType_](#tocSproductconstrainttypedoc).
        additionalInfo:
          type: string
          description: Display text providing more information on the constraint. Mandatory if the [_constraintType_](#tocSproductconstrainttypedoc) value is `OTHER`.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on the constraint.
          x-cds-type: URIString
      x-conditional:
      - additionalValue
      - additionalInfo
    BankingProductBundle:
      required:
      - description
      - name
      type: object
      properties:
        name:
          type: string
          description: Name of the bundle.
        description:
          type: string
          description: Description of the bundle.
        additionalInfo:
          type: string
          description: Display text providing more information on the bundle.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on the bundle criteria and benefits.
          x-cds-type: URIString
        productIds:
          type: array
          description: Array of _productID_ values for products included in the bundle that are available via the product endpoints. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference endpoints.
          items:
            $ref: '#/components/schemas/BankingProductId'
    BankingFeeAmount:
      type: object
      required:
      - amount
      properties:
        amount:
          type: string
          description: The specific amount charged for the fee each time it is incurred.
          x-cds-type: AmountString
    BankingProductDiscountV2:
      description: Note that the currency of the fee discount is expected to be the same as the currency of the fee itself.
      required:
      - description
      - discountType
      - discountMethodUType
      type: object
      properties:
        description:
          type: string
          description: Description of the discount.
        discountType:
          type: string
          description: The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc).
          enum:
          - BALANCE
          - DEPOSITS
          - ELIGIBILITY_ONLY
          - FEE_CAP
          - PAYMENTS
        discountMethodUType:
          type: string
          description: Reference to the applicable fee discount method structure.
          enum:
          - fixedAmount
          - rateBased
        fixedAmount:
          description: Mandatory if the _discountMethodUType_ value is `fixedAmount`. Where the discount is a specific amount.
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountAmount'
        rateBased:
          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.
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountRate'
        additionalValue:
          type: string
          description: Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc).
        additionalInfo:
          type: string
          description: Display text providing more information on the discount.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on this discount.
          x-cds-type: URIString
        eligibility:
          type: array
          description: Eligibility constraints that apply to this discount. Mandatory if the [_discountType_](#tocSproductdiscounttypedoc) value is `ELIGIBILITY_ONLY`.
          items:
            $ref: '#/components/schemas/BankingProductDiscountEligibility'
      x-conditional:
      - fixedAmount
      - rateBased
      - additionalValue
      - eligibility
    BankingFeeDiscountAmount:
      type: object
      required:
      - amount
      properties:
        amount:
          type: string
          description: The specific amount discounted from the fee each time it is incurred.
          x-cds-type: AmountString
    BankingProductCategoryV2:
      type: string
      description: The category to which a product or account belongs. See [here](#product-categories) for more details.
      enum:
      - BUSINESS_LOANS
      - BUY_NOW_PAY_LATER
      - CRED_AND_CHRG_CARDS
      - LEASES
      - MARGIN_LOANS
      - OVERDRAFTS
      - PERS_LOANS
      - REGULATED_TRUST_ACCOUNTS
      - RESIDENTIAL_MORTGAGES
      - TERM_DEPOSITS
      - TRADE_FINANCE
      - TRANS_AND_SAVINGS_ACCOUNTS
      - TRAVEL_CARDS
    BankingProductRateConditionV2:
      type: object
      description: Defines a condition for the applicability of a rate.
      properties:
        rateApplicabilityType:
          type: string
          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
        additionalValue:
          type: string
          description: Generic field containing additional information relevant to the _rateApplicabilityType_ specified. Whether mandatory or not is dependent on the value of [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc).
        additionalInfo:
          type: string
          description: Display text providing more information on the condition. Mandatory if the [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc) value is `OTHER`.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on this condition.
          x-cds-type: URIString
      required:
      - rateApplicabilityType
      x-conditional:
      - additionalValue
      - additionalInfo
    ResponseErrorListV2:
      type: object
      required:
      - errors
      properties:
        errors:
          description: List of errors.
          type: array
          items:
            $ref: '#/components/schemas/ErrorV2'
    BankingFeeRange:
      type: object
      description: A minimum or maximum fee amount where a specific fixed amount is not known until the fee is incurred.
      properties:
        feeMinimum:
          type: string
          description: The minimum fee that will be charged per occurrence.
          x-cds-type: AmountString
        feeMaximum:
          type: string
          description: The maximum fee that will be charged per occurrence.
          x-cds-type: AmountString
    BankingProductDiscountEligibility:
      required:
      - discountEligibilityType
      type: object
      properties:
        discountEligibilityType:
          type: string
          description: The type of the specific eligibility constraint for a discount. For further details, refer to [Product Discount Eligibility Types](#tocSproductdiscounteligibilitydoc).
          enum:
          - BUSINESS
          - EMPLOYMENT_STATUS
          - INTRODUCTORY
          - MAX_AGE
          - MIN_AGE
          - MIN_INCOME
          - MIN_TURNOVER
          - NATURAL_PERSON
          - OTHER
          - PENSION_RECIPIENT
          - RESIDENCY_STATUS
          - STAFF
          - STUDENT
        additionalValue:
          type: string
          description: Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc).
        additionalInfo:
          type: string
          description: Display text providing more information on this eligibility constraint. Mandatory if the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) value is `OTHER`.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on this eligibility constraint.
          x-cds-type: URIString
      x-conditional:
      - additionalInfo
      - additionalValue
    ResponseBankingProductByIdV7:
      required:
      - data
      - links
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BankingProductDetailV7'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    BankingProductAdditionalInformationV2:
      type: object
      properties:
        overviewUri:
          type: string
          description: General overview of the product. Mandatory if _additionalOverviewUris_ includes one or more supporting documents.
          x-cds-type: URIString
        termsUri:
          type: string
          description: Terms and conditions for the product. Mandatory if _additionalTermsUris_ includes one or more supporting documents.
          x-cds-type: URIString
        eligibilityUri:
          type: string
          description: Eligibility rules and criteria for the product. Mandatory if _additionalEligibilityUris_ includes one or more supporting documents.
          x-cds-type: URIString
        feesAndPricingUri:
          type: string
          description: Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if _additionalFeesAndPricingUris_ includes one or more supporting documents.
          x-cds-type: URIString
        bundleUri:
          type: string
          description: Description of a bundle that this product can be part of. Mandatory if _additionalBundleUris_ includes one or more supporting documents.
          x-cds-type: URIString
        additionalOverviewUris:
          type: array
          description: An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the _overviewUri_. Only to be used if there is a primary _overviewUri_.
          items:
            $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris'
        additionalTermsUris:
          type: array
          description: An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the _termsUri_. Only to be used if there is a primary _termsUri_.
          items:
            $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris'
        additionalEligibilityUris:
          type: array
          description: An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the _eligibilityUri_. Only to be used if there is a primary _eligibilityUri_.
          items:
            $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris'
        additionalFeesAndPricingUris:
          type: array
          description: An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the _feesAndPricingUri_. Only to be used if there is a primary _feesAndPricingUri_.
          items:
            $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris'
        additionalBundleUris:
          type: array
          description: An array of additional bundles for the product, if applicable. To be treated as secondary documents to the _bundleUri_. Only to be used if there is a primary _bundleUri_.
          items:
            $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris'
      description: Object that contains links to additional information on specific topics.
      x-conditional:
      - overviewUri
      - termsUri
      - eligibilityUri
      - feesAndPricingUri
      - bundleUri
    BankingProductDepositRateV2:
      required:
      - depositRateType
      - rate
      - applicationType
      type: object
      properties:
        depositRateType:
          type: string
          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
        rate:
          type: string
          description: The rate to be applied.
          x-cds-type: RateString
        calculationFrequency:
          type: string
          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).
          x-cds-type: ExternalRef
        applicationType:
          type: string
          description: The type of approach used to apply the rate to the account.
          enum:
          - MATURITY
          - PERIODIC
          - UPFRONT
          example: PERIODIC
        applicationFrequency:
          type: string
          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`.
          x-cds-type: ExternalRef
        tiers:
          type: array
          description: Qualifying criteria or conditions relevant to the associated rate.
          items:
            $ref: '#/components/schemas/BankingProductRateTierV4'
        applicabilityConditions:
          type: array
          description: Applicability conditions for the rate.
          items:
            $ref: '#/components/schemas/BankingProductRateConditionV2'
        additionalValue:
          type: string
          description: Generic field containing additional information relevant to the [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc).
        additionalInfo:
          type: string
          description: Display text providing more information on the rate.
        additionalInfoUri:
          type: string
          description: Link to a web page with more information on this rate.
          x-cds-type: URIString
      x-conditional:
      - additionalValue
      - applicationFrequency
    BankingProductInstalments:
      description: Details of instalment features on the account.
      required:
      - minimumSplit
      - maximumSplit
      type: object
      properties:
        maximumConcurrentPlans:
          type: integer
          description: Maximum number of concurrent active instalment plans that may be created on the account. If `null`, there is no predetermined maximum number.
          x-cds-type: NaturalNumber
        instalmentsLimit:
          type: string
          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.
          x-cds-type: AmountString
        minimumPlanValue:
          type: string
          description: Minimum value that can be opened as an instalment plan.
          x-cds-type: AmountString
        maximumPlanValue:
          type: string
          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.
          x-cds-type: AmountString
        minimumSplit:
          type: integer
          description: Minimum number of instalment payments a plan can be created with.
          x-cds-type: PositiveInteger
          example: 4
        maximumSplit:
          type: integer
          description: Maximum number of instalment payments a plan can be created with.
          x-cds-type: PositiveInteger
          example: 4
    LinksPaginated:
      required:
      - self
      type: object
      properties:
        self:
          type: string
          description: Fully qualified link that generated the current response document.
          x-cds-type: URIString
        first:
          type: string
          description: URI to the first page of this set. Mandatory if this response is not the first page.
          x-cds-type: URIString
        prev:
          type: string
          description: URI to the previous page of this set. Mandatory if this response is not the first page.
          x-cds-type: URIString
        next:
          type: string
          description: URI to the next page of this set. Mandatory if this response is not the last page.
          x-cds-type: URIString
        last:
          type: string
          description: URI to the last page of this set. Mandatory if this response is not the last page.
          x-cds-type: URIString
      x-conditional:
      - prev
      - next
      - first
      - last
    BankingProductDetailV7:
      allOf:
      - $ref: '#/components/schemas/BankingProductV6'
      - type: object
        properties:
          bundles:
            type: array
            description: An array of bundles that this product participates in. Each bundle is described by free form information but als

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ing-australia/refs/heads/main/openapi/ing-australia-banking-products-api-openapi.yml