Commonwealth Bank Products API API

Get details on available CommBank products including deposit and transaction accounts, credit cards, home loans, personal loans, and offset accounts. Information available through the API includes eligibility, features, pricing, and links to terms & conditions. The Products API is public and does not require any authentication by consumers. Product details including features, eligibility, rates and fees may change from time to time without notice. Please direct your end users to refer to commbank.com.au for current product details.Host URLAll requests are passed to the URL https://api.commbank.com.au/public/cds-au/v1/banking

OpenAPI Specification

commonwealth-bank-products-api-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: ''
  title: CommBank Accounts Accounts API Products API API
  description: "Obtain the list of accounts authorised to be shared by the customer. \n\nAccount API is a consumer API. To access data you'll need the customer's consent.</p><h3 style=\"margin-top:30px;\">Host URL</h3><p>CommBank requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://secure.api.commbank.com.au/api/cds-au/v1/banking</span></p><p>CBA – CommBiz requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking</span></p>"
  x-provenance: First-party CommBank OpenAPI (Swagger 2.0) harvested verbatim from the CommBank developer portal. These are Commonwealth Bank's own renderings of its CDR / Open Banking Consumer Data Standards endpoints.
  x-source-url: https://www.commbank.com.au/developer/Documentation/specification/Accounts
  x-doc-url: https://www.commbank.com.au/developer/documentation/Accounts
  x-harvested: '2026-07-21'
host: secure.api.commbank.com.au
basePath: /api/cds-au/v1/banking
schemes:
- https
tags:
- name: Products API
  description: "Get details on available CommBank products including deposit and transaction accounts, credit cards, home loans, personal loans, and offset accounts. Information available through the API includes eligibility, features, pricing, and links to terms & conditions. \n\nThe Products API is public and does not require any authentication by consumers.\n\n<p>Product details including features, eligibility, rates and fees may change from time to time without notice. Please direct your end users to refer to <a href=\"https://www.commbank.com.au\">commbank.com.au</a> for current product details.</p><h3 style=\"margin-top:30px;\">Host URL</h3>All requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://api.commbank.com.au/public/cds-au/v1/banking</span></p>"
paths:
  /products:
    get:
      summary: Get Products
      description: Retrieve summary level information of CommBank products
      operationId: listProducts
      tags:
      - Products API
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/ParamAcceptHeader'
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - name: effective
        in: query
        description: Filter to retrieve products based on the effective status.
        required: false
        type: string
        enum:
        - CURRENT
        - FUTURE
        - ALL
        default: CURRENT
      - name: updated-since
        in: query
        description: Filter to retrieve products that were updated since the specified date and time.
        required: false
        type: datetime
      - name: brand
        in: query
        description: Filter to retrieve products with a specific brand.
        required: false
        type: string
        enum:
        - CBA
      - $ref: '#/parameters/ParamProductCategory'
      - $ref: '#/parameters/ParamPage'
      - $ref: '#/parameters/ParamPageSize'
      responses:
        '200':
          description: Success
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ResponseBankingProductList'
        '400':
          description: Bad Request
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ErrorResponse400'
        '406':
          description: Not Acceptable
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ErrorResponse406'
        '422':
          description: Unprocessable Entity
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ErrorResponse422'
        '429':
          description: Too Many Requests
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            Retry-After:
              type: integer
              description: Amount of time the client should wait before re-trying the operation.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ResponseNoBody'
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ErrorResponse500'
  /products/{productId}:
    /aa:
      get:
        summary: Get Product Detail
        description: Retrieve detailed information on a single CommBank product.
        operationId: getProductDetail
    get:
      summary: Get Product Detail
      description: Retrieve detailed information on a single CommBank product.
      operationId: getProductDetail
      tags:
      - Products API
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/ParamAcceptHeader'
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - name: productId
        in: path
        description: CommBank’s unique identifier for the product. This should be obtained via the /products end point.
        required: true
        type: string
      responses:
        '200':
          description: Success
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ResponseBankingProductById'
        '406':
          description: Not Acceptable
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ErrorResponse406'
        '429':
          description: Too Many Requests
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            Retry-After:
              type: integer
              description: Indicates the amount of time the client should wait before retrying the operation
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
          schema:
            $ref: '#/definitions/ResponseNoBody'
        '500':
          description: Server Error
          schema:
            $ref: '#/definitions/ErrorResponse500'
          headers:
            Content-Type:
              type: string
              description: Payload format responded with.
            x-v:
              type: integer
              description: Version of the API end point responded with.
            x-fapi-interaction-Id:
              type: string
              description: Reflects the value of the Interaction ID in the request, if provided.
      x-version: '1'
definitions:
  BankingProductDetailV3:
    allOf:
    - $ref: '#/definitions/BankingProductV3'
    - type: object
      properties:
        bundles:
          description: An array of bundles that this product participates in.  Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle.  It is assumed that the current product is included in the bundle.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/Bundle'
        features:
          description: Array of features available for the product.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/Feature'
        constraints:
          description: Constraints on the application for or operation of the product such as minimum balances or limit thresholds.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/Constraint'
        eligibility:
          description: Eligibility criteria for the product.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/Eligibility'
        fees:
          description: Fees applicable for the product.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/Fee'
        depositRates:
          description: Interest rates available for deposits.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/DepositRate'
        lendingRates:
          description: Interest rates charged against lending balances.
          uniqueItems: false
          type: array
          items:
            $ref: '#/definitions/LendingRate'
        productId:
          type: string
        effectiveFrom:
          format: date-time
          type: string
        effectiveTo:
          format: date-time
          type: string
        lastUpdated:
          format: date-time
          type: string
        productCategory:
          type: string
        name:
          type: string
        description:
          type: string
        brand:
          type: string
        brandName:
          type: string
        applicationUri:
          type: string
        isTailored:
          type: boolean
  ResponseBankingProductList:
    type: object
    required:
    - data
    - links
    - meta
    example:
      data:
        products:
        - productId: ad22b1f0967349e8a5d586afe7f0d845
          effectiveFrom: '2010-07-14T14:00:00Z'
          effectiveTo: '9999-12-30T13:00:00Z'
          lastUpdated: '2019-06-03T02:43:35.193777Z'
          productCategory: TRANS_AND_SAVINGS_ACCOUNTS
          name: NetBank Saver
          description: NetBank Saver
          brand: CBA
          brandName: CommBank
          applicationUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
          isTailored: false
          additionalInformation:
            overviewUri: https://www.commbank.com.au/banking/netbank-saver.html
            termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
            eligibilityUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
            feesAndPricingUri: https://www.commbank.com.au/banking/netbank-saver.html#rates
        - productId: 7aff9e0e85e6450eb052d4ff2e953223
          effectiveFrom: '2011-05-10T04:00:00Z'
          effectiveTo: '9999-12-30T13:00:00Z'
          lastUpdated: '2019-06-03T02:42:57.57482Z'
          productCategory: TRANS_AND_SAVINGS_ACCOUNTS
          name: Youthsaver Account
          description: Youthsaver Account
          brand: CBA
          brandName: CommBank
          applicationUri: https://www.commbank.com.au/banking/youthsaver.html#apply
          isTailored: false
          additionalInformation:
            overviewUri: https://www.commbank.com.au/banking/youthsaver.html
            termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
            eligibilityUri: https://www.commbank.com.au/banking/youthsaver.html#apply
            feesAndPricingUri: https://www.commbank.com.au/banking/youthsaver.html#rates
      links:
        self: /cds-au/v1/banking/products?page-size=2
        first: /cds-au/v1/banking/products?page-size=2&page=1
        next: /cds-au/v1/banking/products?page-size=2&page=2
        last: /cds-au/v1/banking/products?page-size=2&page=14
      meta:
        totalRecords: 28
        totalPages: 14
    properties:
      data:
        type: object
        required:
        - products
        properties:
          products:
            description: The list of products returned for the query.
            type: array
            items:
              $ref: '#/definitions/BankingProductV3'
      links:
        $ref: '#/definitions/LinksPaginated'
      meta:
        $ref: '#/definitions/Meta'
  ResponseBankingProductById:
    type: object
    required:
    - data
    - links
    - meta
    properties:
      data:
        $ref: '#/definitions/BankingProductDetailV3'
      links:
        $ref: '#/definitions/Links'
      meta:
        $ref: '#/definitions/Meta'
    example:
      data:
        bundles: []
        features:
        - featureType: NPP_PAYID
          additionalValue: 'No'
        - featureType: DIGITAL_BANKING
          additionalValue: 'Yes'
        - featureType: NPP_ENABLED
          additionalValue: 'Yes'
        - featureType: CARD_ACCESS
          additionalValue: No Card Required
        - featureType: UNLIMITED_TXNS
          additionalValue: Unlimited CommBank electronic transactions
        - featureType: DIGITAL_BANKING
          additionalInfo: Wherever you are in the world, CommBank gives you the choice and control to securely manage all of your accounts on a range of devices, the way you want.
          additionalInfoUri: https://www.commbank.com.au/digital-banking.html
        - featureType: NPP_ENABLED
        - featureType: OTHER
          additionalValue: Goal Tracker
          additionalInfo: Whether you have a savings goal in mind or want to build a buffer for those �just in case' moments, Goal Tracker in the CommBank app helps you set and reach your goals.
          additionalInfoUri: https://www.commbank.com.au/digital-banking/goal-tracker.html
        - featureType: OTHER
          additionalValue: Automatic Bank Feeds
          additionalInfo: 'Streamline your business banking and save time with automatic data feeds from your online banking to your accounting software '
          additionalInfoUri: https://www.commbank.com.au/business/accounting-software-integration.html
        constraints: []
        eligibility:
        - eligibilityType: STAFF
        - eligibilityType: MIN_AGE
          additionalValue: '14'
        - eligibilityType: NATURAL_PERSON
        - eligibilityType: MIN_AGE
          additionalValue: '14'
        - eligibilityType: NATURAL_PERSON
        - eligibilityType: OTHER
          additionalValue: 1) Other product holdings 2) Digital customer
          additionalInfo: 1) Have a Smart Access, Complete Access, Everyday Offset, Pensioner Security or Streamline Basic account with CommBank in the same name as the NetBank Saver account. This is to transfer money to and from their NetBank Saver account. 2) Be registered for NetBank and have an email address
        fees:
        - name: NetBank transfers and BPAY
          feeType: EVENT
          amount: ''
          discounts: []
          additionalValue: Free
        - name: Online Statement Fee
          feeType: EVENT
          amount: ''
          discounts: []
          additionalValue: Not applicable
        depositRates:
        - depositRateType: STANDARD
          rate: '0.005'
          calculationFrequency: P1D
          applicationFrequency: P
        productId: ad22b1f0967349e8a5d586afe7f0d845
        effectiveFrom: '2010-07-14T14:00:00Z'
        effectiveTo: '9999-12-30T13:00:00Z'
        lastUpdated: '2019-05-29T16:16:12.630613Z'
        productCategory: TRANS_AND_SAVINGS_ACCOUNTS
        name: NetBank Saver
        description: NetBank Saver
        brand: CBA
        brandName: Commonwealth Bank
        applicationUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
        isTailored: false
        additionalInformation:
          overviewUri: https://www.commbank.com.au/banking/netbank-saver.html
          termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
          eligibilityUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
          feesAndPricingUri: https://www.commbank.com.au/banking/netbank-saver.html#rates
      links:
        self: '#/cds-au/v1/banking/products/ad22b1f0967349e8a5d586afe7f0d845'
      meta:
        totalRecords: 1
        totalPages: 1
  LendingRate:
    type: object
    required:
    - lendingRateType
    - rate
    x-conditional:
    - additionalValue
    properties:
      lendingRateType:
        description: The type of rate (fixed, variable, etc). See the next section for an overview of valid values and their meaning.
        enum:
        - FIXED
        - VARIABLE
        - INTRODUCTORY
        - DISCOUNT
        - PENALTY
        - FLOATING
        - MARKET_LINKED
        - CASH_ADVANCE
        - PURCHASE
        - BUNDLE_DISCOUNT_FIXED
        - BUNDLE_DISCOUNT_VARIABLE
        type: string
      rate:
        type: string
        description: The rate to be applied.
      comparisonRate:
        type: string
        description: A comparison rate equivalent for this rate.
      calculationFrequency:
        type: string
        description: The period after which the rate is applied to the balance to calculate the amount due for the period. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations).
      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).
      interestPaymentDue:
        type: string
        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_ARREARS
        - IN_ADVANCE
      repaymentType:
        type: string
        description: Options in place for repayments.
        enum:
        - INTEREST_ONLY
        - PRINCIPAL_AND_INTEREST
      loanPurpose:
        type: string
        description: The reason for taking out the loan.
        enum:
        - OWNER_OCCUPIED
        - INVESTMENT
      tiers:
        uniqueItems: false
        type: array
        description: Rate tiers applicable for this rate.
        items:
          $ref: '#/definitions/Tier'
      additionalValue:
        type: string
        description: 'Generic field containing additional information relevant to the lendingRateType specified. Whether mandatory or not is dependent on the value of lendingRateType.


          See the below table for more details.


          |Value|Description|Use of additionalValue Field|

          |--- |--- |--- |

          |FIXED|Fixed rate for a period of time|The period of time fixed. Formatted according to ISO 8601 Durations|

          |VARIABLE|A variable base rate for the product|NA|

          |INTRODUCTORY|An introductory discount that will expire after a set period|The period of time for the introductory rate.  Formatted according to ISO 8601 Durations|

          |DISCOUNT|A specific discount rate that may be applied.  A discount rate reduces the interest payable|Description of the discount rate that is applicable|

          |PENALTY|A specific penalty rate that may be applied.  A penalty rate increases the interest payable|Description of the penalty rate that is applicable|

          |FLOATING|A floating rate is relatively fixed but still adjusts under specific circumstances|Details of the float parameters|

          |MARKET_LINKED|A rate that is linked to a specific market, commodity or asset class|Details of the market linkage|

          |CASH_ADVANCE|Specific rate applied to cash advances from the account|NA|

          |PURCHASE|Specific rate applied to purchases from the account|NA|

          |BUNDLE_DISCOUNT_FIXED|A discount rate off the fixed rate obtained by originating a bundle instead of a standalone product|The name of the bundle|

          |BUNDLE_DISCOUNT_VARIABLE|A discount rate off the variable rate obtained by originating a bundle instead of a standalone product|The name of the bundle|


          '
      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.
  Tier:
    type: object
    description: Defines the criteria and conditions for which a rate applies.
    required:
    - name
    - unitOfMeasure
    - minimumValue
    - maximumValue
    properties:
      name:
        type: string
        description: A display name for the tier.
      unitOfMeasure:
        type: string
        description: The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. 'DOLLAR', 'MONTH' (in the case of term deposit tiers), 'PERCENT' (in the case of loan-to-value ratio or LVR).
        enum:
        - DOLLAR
        - PERCENT
        - MONTH
        - DAY
      minimumValue:
        type: number
        description: The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value.
      maximumValue:
        type: number
        description: 'The number of tierUnitOfMeasure 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 tierValueMinimum. Where this is the same as the tierValueMinimum 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).'
      rateApplicationMethod:
        type: string
        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:
        - WHOLE_BALANCE
        - PER_TIER
      applicabilityConditions:
        $ref: '#/definitions/BankingProductRateCondition'
      subTier:
        type: object
        description: Defines the sub-tier criteria and conditions for which a rate applies.
        required:
        - name
        - unitOfMeasure
        - minimumValue
        - maximumValue
        properties:
          name:
            type: string
            description: A display name for the tier.
          unitOfMeasure:
            type: string
            description: The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. 'DOLLAR', 'MONTH' (in the case of term deposit tiers), 'PERCENT' (in the case of loan-to-value ratio or LVR).
            enum:
            - DOLLAR
            - PERCENT
            - MONTH
            - DAY
          minimumValue:
            type: number
            description: The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value.
          maximumValue:
            type: number
            description: 'The number of tierUnitOfMeasure 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 tierValueMinimum. Where this is the same as the tierValueMinimum 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).'
          rateApplicationMethod:
            type: string
            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:
            - WHOLE_BALANCE
            - PER_TIER
          applicabilityConditions:
            $ref: '#/definitions/BankingProductRateCondition'
  LinksPaginated:
    type: object
    required:
    - self
    x-conditional:
    - prev
    - next
    - first
    - last
    properties:
      self:
        type: string
        description: Fully qualified link to this API call.
      first:
        type: string
        description: URI to the first page of this set.
      prev:
        type: string
        description: URI to the previous page of this set.
      next:
        type: string
        description: URI to the next page of this set.
      last:
        type: string
        description: URI to the last page of this set.
  BankingProductV3:
    type: object
    required:
    - productId
    - lastUpdated
    - productCategory
    - name
    - description
    - brand
    - isTailored
    properties:
      productId:
        type: string
        description: CommBank’s unique identifier for this product.
      effectiveFrom:
        type: string
        description: Date and time from which this product is made available to customers.
      effectiveTo:
        type: string
        description: Date and time at which this product will be retired and will no longer be offered.
      lastUpdated:
        type: string
        description: Date and time that the information for this product was last updated.
      productCategory:
        type: string
        $ref: '#/definitions/BankingEnumProductCategory'
      name:
        type: string
        description: Display name of the product.
      description:
        type: string
        description: Description of the product.
      brand:
        type: string
        description: Label of the brand for the product.
      brandName:
        type: string
        description: Brand display name
      applicationUri:
        type: string
        description: A link to the web page where this product can be applied for.
      isTailored:
        type: boolean
        description: Indicates whether the pricing for the product can be tailored to a specific customer.
      additionalInformation:
        $ref: '#/definitions/AdditionalInformation'
  ResponseNoBody:
    type: object
    properties: {}
    example: {}
  Fee:
    type: object
    required:
    - name
    - feeType
    - amount
    x-conditional:
    - additionalValue
    - balanceRate
    - transactionRate
    - accruedRate
    properties:
      name:
        type: string
        description: A display name for the fee.
      feeType:
        enum:
        - PERIODIC
        - TRANSACTION
        - WITHDRAWAL
        - DEPOSIT
        - PAYMENT
        - PURCHASE
        - EVENT
        - UPFRONT
        - EXIT
        type: string
      amount:
        type: string
        description: 'The amount charged for the fee. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
      balanceRate:
        type: string
        description: 'A fee rate calculated based on a proportion of the balance. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
      transactionRate:
        type: string
        description: 'A fee rate calculated based on a proportion of a transaction. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
      accruedRate:
        type: string
        description: A fee rate calculated based on a proportion of the calculated interest accrued on the account. One of amount, balanceRate, transactionRate and accruedRate is mandatory.
      accrualFrequency:
        type: string
        description: The indicative frequency with which the fee is calculated on the account. Only applies if balanceRate or accruedRate is also present. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations).
      currency:
        type: string
        description: The currency the fee will be charged in. Assumes AUD if absent.
      discounts:
        description: An optional list of discounts to this fee that may be available.
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Discount'
      additionalValue:
        type: string
        description: 'Generic field containing additional information relevant to the feeType specified. Whether mandatory or not is dependent on the value of feeType.


          See the below table for more details.


          |Value|Description|Use of additionalValue Field|

          |--- |--- |--- |

          |PERIODIC|A periodic fee such as a monthly account servicing fee|The period of charge.  Formatted according to ISO 8601 Durations|

          |TRANSACTION|A fee associated with any transaction (incorporates WITHDRAWAL, DEPOSIT, PAYMENT and PURCHASE)|NA|

          |WITHDRAWAL|A fee associated with making a withdrawal|NA|

          |DEPOSIT|A fee associated with making a deposit|NA|

          |PAYMENT|A fee associated with making a payment|NA|

          |PURCHASE|A fee associated with making a purchase at a merchant|NA|

          |EVENT|A fee in relation to a particular event (e.g. NA ordering a new card, viewing a balance or stopping a cheque)|NA|

          |UPFRONT|A fee paid at the beginning of the product NA lifecycle, such as an establishment fee, loyalty program fee or application fee|NA|

          |EXIT|A fee for closing the product|NA|


          '
      additionalInfo:
        type: string
        description: Display text providing more information on the fee.
      additionalInfoUri:
        type: string
        description: Link to a web page with more information on this fee.
  Constraint:
    type: object
    required:
    - constraintType
    x-conditional:
    - additionalValue
    properties:
      constraintType:
        description: The type of constraint described.
        enum:
        - MIN_BALANCE
        - MAX_BALANCE
        - OPENING_BALANCE
        - MAX_LIMIT
        - MIN_LIMIT
        type: string
      additionalValue:
        description: 'Generic field containing additional information relevant to the constraintType specified. Whether mandatory or not is dependent on the value of constraintType.




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