Commonwealth Bank Accounts API API

Obtain the list of accounts authorised to be shared by the customer. Account API is a consumer API. To access data you'll need the customer's consent.Host URLCommBank requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/bankingCBA – CommBiz requests are passed to the URL https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking

OpenAPI Specification

commonwealth-bank-accounts-api-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: ''
  title: CommBank Accounts Accounts 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: Accounts 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>"
paths:
  /accounts:
    get:
      tags:
      - Accounts API
      consumes:
      - application/json
      produces:
      - application/json
      summary: Get Accounts
      description: Obtain a list of accounts
      operationId: listAccounts
      parameters:
      - name: product-category
        in: query
        description: Used to filter results on the productCategory field applicable to accounts. If absent then all accounts returned.
        required: false
        type: string
        enum:
        - TRANS_AND_SAVINGS_ACCOUNTS
        - TERM_DEPOSITS
        - TRAVEL_CARDS
        - REGULATED_TRUST_ACCOUNTS
        - RESIDENTIAL_MORTGAGES
        - CRED_AND_CHRG_CARDS
        - PERS_LOANS
        - MARGIN_LOANS
        - LEASES
        - TRADE_FINANCE
        - OVERDRAFTS
        - BUSINESS_LOANS
      - name: open-status
        in: query
        description: Used to filter results according to open/closed status. If absent then ALL is assumed
        required: false
        type: string
        default: ALL
        enum:
        - OPEN
        - CLOSED
        - ALL
      - name: is-owned
        in: query
        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
        required: false
        type: boolean
        x-cds-type: Boolean
      - $ref: '#/parameters/ParamPage'
      - $ref: '#/parameters/ParamPageSize'
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - $ref: '#/parameters/ParamXFapiAuthDate'
      - $ref: '#/parameters/ParamXFapiCustomerIpAddress'
      - $ref: '#/parameters/ParamXCdsClientHeaders'
      responses:
        '200':
          description: Success
          headers:
            x-v:
              type: string
              description: Version of the API end point that the data holder has responded with.
            x-fapi-interaction-id:
              type: string
              description: Reflects the value of the Interaction ID in the request.
          schema:
            $ref: '#/definitions/ResponseBankingAccountList'
        '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.
          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.
          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.
          schema:
            $ref: '#/definitions/ErrorResponse422'
        '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.
          schema:
            $ref: '#/definitions/ErrorResponse500'
      x-scopes:
      - bank:accounts.basic:read
      x-version: '1'
  /accounts/{accountId}:
    get:
      tags:
      - Accounts API
      consumes:
      - application/json
      produces:
      - application/json
      summary: Get Account Detail
      description: Obtain detailed information on a single account
      operationId: getAccountDetail
      parameters:
      - name: accountId
        in: path
        description: A tokenised identifier for the account which is unique but not shareable
        required: true
        type: string
        x-cds-type: ASCIIString
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - $ref: '#/parameters/ParamXFapiAuthDate'
      - $ref: '#/parameters/ParamXFapiCustomerIpAddress'
      - $ref: '#/parameters/ParamXCdsClientHeaders'
      responses:
        '200':
          description: Success
          headers:
            x-v:
              type: string
              description: Version of the API end point that the data holder has responded with
            x-fapi-interaction-id:
              type: string
              description: Reflects the value of the Interaction ID in the request.
          schema:
            $ref: '#/definitions/ResponseBankingAccountById'
        '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.
          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.
          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.
          schema:
            $ref: '#/definitions/ErrorResponse422'
        '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.
          schema:
            $ref: '#/definitions/ErrorResponse500'
      x-scopes:
      - bank:accounts.detail:read
      x-version: '1'
definitions:
  BankingProductFeature:
    type: object
    required:
    - featureType
    properties:
      featureType:
        type: string
        description: The type of feature described
        enum:
        - ADDITIONAL_CARDS
        - BALANCE_TRANSFERS
        - BILL_PAYMENT
        - BONUS_REWARDS
        - CARD_ACCESS
        - COMPLEMENTARY_PRODUCT_DISCOUNTS
        - DIGITAL_BANKING
        - DIGITAL_WALLET
        - DONATE_INTEREST
        - FREE_TXNS
        - FREE_TXNS_ALLOWANCE
        - INSURANCE
        - INTEREST_FREE
        - INTEREST_FREE_TRANSFERS
        - LOYALTY_PROGRAM
        - NOTIFICATIONS
        - NPP_ENABLED
        - NPP_PAYID
        - OFFSET
        - OVERDRAFT
        - REDRAW
        - UNLIMITED_TXNS
        - OTHER
      additionalValue:
        type: string
        description: Generic field containing additional information relevant to the feature.
      additionalInfo:
        type: string
        description: Display text providing more information on the feature.
      additionalInfoUri:
        type: string
        description: Link to a web page with more information on this feature
        x-cds-type: URIString
    x-conditional:
    - additionalValue
    - additionalInfo
  BankingAccount:
    type: object
    required:
    - accountId
    - displayName
    - maskedNumber
    - productCategory
    - productName
    properties:
      accountId:
        type: string
        description: A unique ID of the account.
        x-cds-type: ASCIIString
      creationDate:
        type: string
        description: Date that the account was created.
        x-cds-type: DateString
      displayName:
        type: string
        description: The display name of the account as defined by CommBank.
      nickname:
        type: string
        description: The nick name for the account.
      openStatus:
        type: string
        description: Open or closed status for the account.
        default: OPEN
        enum:
        - OPEN
        - CLOSED
      isOwned:
        type: boolean
        description: Flag indicating that the customer associated with the authorisation is an owner of the account.
        default: true
        x-cds-type: Boolean
      maskedNumber:
        type: string
        description: A masked version of the account.
        x-cds-type: MaskedAccountString
      productCategory:
        $ref: '#/definitions/BankingProductCategory'
      productName:
        type: string
        description: The unique identifier of the account as defined by CommBank.
  LinksPaginated:
    type: object
    required:
    - self
    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
  BankingProductDiscount:
    type: object
    required:
    - description
    - discountType
    properties:
      description:
        type: string
        description: Description of the discount
      discountType:
        type: string
        description: The type of discount. See the next section for an overview of valid values and their meaning
        enum:
        - BALANCE
        - DEPOSITS
        - ELIGIBILITY_ONLY
        - FEE_CAP
        - PAYMENTS
      amount:
        type: string
        description: Dollar value of the discount.
        x-cds-type: AmountString
      balanceRate:
        type: string
        description: A discount rate calculated based on a proportion of the balance.
        x-cds-type: RateString
      transactionRate:
        type: string
        description: A discount rate calculated based on a proportion of a transaction.
        x-cds-type: RateString
      accruedRate:
        type: string
        description: A discount rate calculated based on a proportion of the calculated interest accrued on the account.
        x-cds-type: RateString
      feeRate:
        type: string
        description: A discount rate calculated based on a proportion of the fee to which this discount is attached.
        x-cds-type: RateString
      additionalValue:
        type: string
        description: Generic field containing additional information relevant to the discount.
      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.
        items:
          $ref: '#/definitions/BankingProductDiscountEligibility'
    x-conditional:
    - accruedRate
    - additionalValue
    - amount
    - balanceRate
    - eligibility
    - feeRate
    - transactionRate
  BankingLoanAccount:
    type: object
    properties:
      originalStartDate:
        type: string
        description: Optional original start date for the loan.
        x-cds-type: DateString
      originalLoanAmount:
        type: string
        description: Optional original loan value.
        x-cds-type: AmountString
      originalLoanCurrency:
        type: string
        description: The currency of the loan.
        x-cds-type: CurrencyString
      loanEndDate:
        type: string
        description: Date that the loan is due to be repaid in full.
        x-cds-type: DateString
      nextInstalmentDate:
        type: string
        description: Next date that an instalment is required.
        x-cds-type: DateString
      minInstalmentAmount:
        type: string
        description: Minimum amount of next instalment.
        x-cds-type: AmountString
      minInstalmentCurrency:
        type: string
        description: The currency of the instalment.
        x-cds-type: CurrencyString
      maxRedraw:
        type: string
        description: Maximum amount of funds that can be redrawn.
        x-cds-type: AmountString
      maxRedrawCurrency:
        type: string
        description: The currency of the redraw.
        x-cds-type: CurrencyString
      minRedraw:
        type: string
        description: Minimum redraw amount.
        x-cds-type: AmountString
      minRedrawCurrency:
        type: string
        description: The currency of the redraw.
        x-cds-type: CurrencyString
      offsetAccountEnabled:
        type: boolean
        description: Set to true if one or more offset accounts are configured for this loan account.
        x-cds-type: Boolean
      offsetAccountIds:
        type: array
        description: The accountIDs of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included.
        items:
          type: string
          x-cds-type: ASCIIString
      repaymentType:
        type: string
        description: Options in place for repayments.
        default: PRINCIPAL_AND_INTEREST
        enum:
        - INTEREST_ONLY
        - PRINCIPAL_AND_INTEREST
      repaymentFrequency:
        type: string
        description: The expected or required repayment frequency.
        x-cds-type: ExternalRef
  CommonPhysicalAddress:
    type: object
    required:
    - addressUType
    properties:
      addressUType:
        type: string
        description: The type of address object present
        enum:
        - simple
        - paf
      simple:
        $ref: '#/definitions/CommonSimpleAddress'
      paf:
        $ref: '#/definitions/CommonPAFAddress'
    x-conditional:
    - simple
    - paf
  Links:
    type: object
    required:
    - self
    properties:
      self:
        type: string
        description: Fully qualified link that generated the current response document
        x-cds-type: URIString
  BankingCreditCardAccount:
    type: object
    required:
    - minPaymentAmount
    - paymentDueAmount
    - paymentDueDate
    properties:
      minPaymentAmount:
        type: string
        description: The minimum payment amount due for the next card payment.
        x-cds-type: AmountString
      paymentDueAmount:
        type: string
        description: The amount due for the next card payment.
        x-cds-type: AmountString
      paymentCurrency:
        type: string
        description: The currency of the payment.
        x-cds-type: CurrencyString
      paymentDueDate:
        type: string
        description: Date that the next payment for the card is due.
        x-cds-type: DateString
  CommonSimpleAddress:
    type: object
    required:
    - addressLine1
    - city
    - state
    properties:
      mailingName:
        type: string
        description: Name of the individual or business formatted.<br><i>CommBank does not currently return this value.</i></br>
      addressLine1:
        type: string
        description: First line of the standard address object.
      addressLine2:
        type: string
        description: Second line of the standard address object.
      addressLine3:
        type: string
        description: Third line of the standard address object.
      postcode:
        type: string
        description: Postcode for the locality.
      city:
        type: string
        description: Name of the city or locality.
      state:
        type: string
        description: State in which the address belongs.
      country:
        type: string
        description: The country code.
        default: AUS
        x-cds-type: ExternalRef
    x-conditional:
    - postcode
  MetaPaginated:
    type: object
    required:
    - totalPages
    - totalRecords
    properties:
      totalRecords:
        type: integer
        description: The total number of records in the full set. See [pagination](#pagination).
        x-cds-type: NaturalNumber
      totalPages:
        type: integer
        description: The total number of pages in the full set. See [pagination](#pagination).
        x-cds-type: NaturalNumber
  Error:
    type: object
    properties:
      code:
        type: string
      title:
        type: string
      detail:
        type: string
  BankingProductRateTierV3:
    type: object
    required:
    - minimumValue
    - name
    - unitOfMeasure
    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. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers)
        enum:
        - DOLLAR
        - PERCENT
        - DAY
        - MONTH
      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
        x-cds-type: Number
      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). If absent the tier''s range has no upper bound.'
        x-cds-type: Number
      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:
        - PER_TIER
        - WHOLE_BALANCE
      applicabilityConditions:
        $ref: '#/definitions/BankingProductRateCondition'
      additionalInfo:
        type: string
        description: Display text providing more information on the rate tier.
      additionalInfoUri:
        type: string
        description: Link to a web page with more information on this rate tier
        x-cds-type: URIString
    description: Defines the criteria and conditions for which a rate applies
  BankingProductLendingRateV2:
    type: object
    required:
    - lendingRateType
    - rate
    properties:
      lendingRateType:
        type: string
        description: The type of rate (fixed, variable, etc). See the next section for an overview of valid values and their meaning
        enum:
        - BUNDLE_DISCOUNT_FIXED
        - BUNDLE_DISCOUNT_VARIABLE
        - CASH_ADVANCE
        - DISCOUNT
        - FLOATING
        - INTRODUCTORY
        - MARKET_LINKED
        - PENALTY
        - PURCHASE
        - VARIABLE
        - FIXED
      rate:
        type: string
        description: The rate to be applied
        x-cds-type: RateString
      comparisonRate:
        type: string
        description: A comparison rate equivalent for this rate
        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
        x-cds-type: ExternalRef
      applicationFrequency:
        type: string
        description: The period after which the calculated amount(s) are 'applied' to the account
        x-cds-type: ExternalRef
      interestPaymentDue:
        type: string
        description: When loan payments are due to be paid within each period
        enum:
        - IN_ADVANCE
        - IN_ARREARS
      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:
        type: array
        description: Rate tiers applicable for this rate
        items:
          $ref: '#/definitions/BankingProductRateTierV3'
      additionalValue:
        type: string
        description: Generic field containing additional information relevant to the [lendingRateType](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [lendingRateType](#tocSproductlendingratetypedoc)
      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
  BankingProductRateCondition:
    type: object
    properties:
      additionalInfo:
        type: string
        description: Display text providing more information on the condition
      additionalInfoUri:
        type: string
        description: Link to a web page with more information on this condition
        x-cds-type: URIString
    description: Defines a condition for the applicability of a tiered rate
  ErrorResponse400:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: AA-BR-02
        title: page is invalid
        detail: page must be a valid number.
  BankingAccountDetail:
    allOf:
    - $ref: '#/definitions/BankingAccount'
    - type: object
      properties:
        bsb:
          type: string
          description: The unmasked BSB for the account.
        accountNumber:
          type: string
          description: The unmasked account number for the account.
        bundleName:
          type: string
          description: Optional field to indicate if this account is part of a bundle.
        specificAccountUType:
          type: string
          description: The type of structure to present account specific fields.
          enum:
          - termDeposit
          - creditCard
          - loan
        termDeposit:
          type: array
          items:
            $ref: '#/definitions/BankingTermDepositAccount'
        creditCard:
          $ref: '#/definitions/BankingCreditCardAccount'
        loan:
          $ref: '#/definitions/BankingLoanAccount'
        depositRate:
          type: string
          description: The current rate applied to deposit balances as it stands at the time of the API call
          x-cds-type: RateString
        lendingRate:
          type: string
          description: The current rate applied to lending balances as it stands at the time of the API call
          x-cds-type: RateString
        depositRates:
          type: array
          description: Fully described deposit rates for this account
          items:
            $ref: '#/definitions/BankingProductDepositRate'
        lendingRates:
          type: array
          description: Fully described lending rates for this account
          items:
            $ref: '#/definitions/BankingProductLendingRateV2'
        features:
          type: array
          description: Array of features of the account
          items:
            type: object
            allOf:
            - $ref: '#/definitions/BankingProductFeature'
            - type: object
              properties:
                isActivated:
                  type: boolean
                  description: True if the feature is already activated and false if the feature is available for activation.
                  default: true
                  x-cds-type: Boolean
        fees:
          type: array
          description: Fees and charges applicable to the account
          items:
            $ref: '#/definitions/BankingProductFee'
        addresses:
          type: array
          description: The addresses for the account
          items:
            $ref: '#/definitions/CommonPhysicalAddress'
      x-conditional:
      - termDeposit
      - creditCard
      - loan
  ErrorResponse422:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - Code: AA-UE-01
        Title: page-size is Invalid
        Detail: page-size must be a number and between 1 and 1000.
  ResponseBankingAccountList_data:
    required:
    - accounts
    properties:
      accounts:
        type: array
        description: The list of accounts returned.
        items:
          $ref: '#/definitions/BankingAccount'
  BankingProductCategory:
    type: string
    description: The category to which a product or account belongs.
    enum:
    - TRANS_AND_SAVINGS_ACCOUNTS
    - TERM_DEPOSITS
    - TRAVEL_CARDS
    - REGULATED_TRUST_ACCOUNTS
    - RESIDENTIAL_MORTGAGES
    - CRED_AND_CHRG_CARDS
    - PERS_LOANS
    - MARGIN_LOANS
    - LEASES
    - TRADE_FINANCE
    - OVERDRAFTS
    - BUSINESS_LOANS
  BankingTermDepositAccount:
    type: object
    required:
    - lodgementDate
    - maturityDate
    - maturityInstructions
    properties:
      lodgementDate:
        type: string
        description: The lodgement date of the original deposit.
        x-cds-type: DateString
      maturityDate:
        type: string
        description: Maturity date for the term deposit.
        x-cds-type: DateString
      maturityAmount:
        type: string
        description: Amount to be paid upon maturity.
        x-cds-type: AmountString
      maturityCurrency:
        type: string
        description: The currency of the maturity.
        x-cds-type: CurrencyString
      maturityInstructions:
        type: string
        description: Current instructions on action to be taken at maturity.
        enum:
        - ROLLED_OVER
        - PAID_OUT_AT_MATURITY
        - HOLD_ON_MATURITY
  ErrorResponse500:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: AA-IS-01
        title: Server Error
        detail: An error has occurred whilst processing your request. Please try again later.
  BankingProductFee:
    type: object
    required:
    - feeType
    - name
    properties:
      name:
        type: string
        description: Name of the fee
      feeType:
        type: string
        description: The type of fee
        enum:
        - DEPOSIT
        - EVENT
        - EXIT
        - PAYMENT
        - PERIODIC
        - PURCHASE
        - TRANSACTION
        - UPFRONT
        - VARIABLE
        - WITHDRAWAL
      amount:
        type: string
        description: The amount charged for the fee.
        x-cds-type: AmountString
      balanceRate:
        type: string
        description: A fee rate calculated based on a proportion of the balance.
        x-cds-type: RateString
      transactionRate:
        type: string
        description: A fee rate calculated based on a proportion of a transaction.
        x-cds-type: RateString
      accruedRate:
        type: string
        description: A fee rate calculated based on a proportion of the calculated interest accrued on the account.
        x-cds-type: RateString
      accrualFrequency:
        type: string
        description: The indicative frequency with which the fee is calculated on the account.
        x-cds-type: ExternalRef
      currency:
        type: string
        description: The currency the fee will be charged in.
        x-cds-type: CurrencyString
      additionalValue:
        type: string
        description: Generic field containing additional information relevant to the fee.
      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.
        x-cds-type: URIString
      discounts:
        type: array
        description: An optional list of discounts to this fee that may be available.
        items:
          $ref: '#/definitions/BankingProductDiscount'
    x-conditional:
    - additionalValue
    - amount
    - balanceRate
    - transactionRate
    - accruedRate
  Meta:
    type: object
  ResponseBankingAccountList:
    type: object
    required:
    - data
    - links
    - meta
    example:
      data:
        accounts:
        - accountId: EAMJfk-nntZqz6Wi_hV2cLISlJKg

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