ING Australia Banking Accounts API

Banking Account endpoints

OpenAPI Specification

ing-australia-banking-accounts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CDR Banking Banking Account Balances Banking Accounts 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 Accounts
  x-shortName: Accounts
  description: Banking Account endpoints
paths:
  /banking/accounts:
    get:
      tags:
      - Banking Accounts
      summary: Get Accounts
      description: 'Obtain a list of accounts.


        Obsolete versions: [v1](includes/obsolete/get-accounts-v1.html), [v2](includes/obsolete/get-accounts-v2.html).'
      operationId: listBankingAccounts
      parameters:
      - $ref: '#/components/parameters/QueryBankingProductCategory'
      - $ref: '#/components/parameters/QueryBankingAccountOpenStatus'
      - $ref: '#/components/parameters/QueryBankingAccountIsOwned'
      - $ref: '#/components/parameters/QueryPage'
      - $ref: '#/components/parameters/QueryPageSize'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/ListBankingAccounts200'
        '400':
          $ref: '#/components/responses/ListBankingAccounts400'
        '406':
          $ref: '#/components/responses/ListBankingAccounts406'
        '422':
          $ref: '#/components/responses/ListBankingAccounts422'
      x-scopes:
      - bank:accounts.basic:read
      x-version: '3'
  /banking/accounts/{accountId}:
    get:
      tags:
      - Banking Accounts
      summary: Get Account Detail
      description: 'Obtain detailed information on a single account.


        Obsolete versions: [v1](includes/obsolete/get-account-detail-v1.html), [v2](includes/obsolete/get-account-detail-v2.html), [v3](includes/obsolete/get-account-detail-v3.html), [v4](includes/obsolete/get-account-detail-v4.html).'
      operationId: getBankingAccountDetail
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/GetBankingAccountDetail200'
        '400':
          $ref: '#/components/responses/GetBankingAccountDetail400'
        '404':
          $ref: '#/components/responses/GetBankingAccountDetail404'
        '406':
          $ref: '#/components/responses/GetBankingAccountDetail406'
      x-scopes:
      - bank:accounts.detail:read
      x-version: '5'
components:
  responses:
    GetBankingAccountDetail400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingAccounts406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingAccounts422:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingAccounts400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetBankingAccountDetail406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListBankingAccounts200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseBankingAccountListV3'
    GetBankingAccountDetail200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseBankingAccountByIdV5'
    GetBankingAccountDetail404:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Banking Account](#error-404-authorisation-unavailable-banking-account)</li><li>[404 - Invalid Banking Account](#error-404-authorisation-invalid-banking-account)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
  schemas:
    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
    Meta:
      type: object
    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
    BankingAccountId:
      type: string
      description: A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements.
      x-cds-type: ASCIIString
    CommonPhysicalAddress:
      required:
      - addressUType
      type: object
      properties:
        addressUType:
          type: string
          description: The type of address object present.
          enum:
          - paf
          - simple
        simple:
          $ref: '#/components/schemas/CommonSimpleAddress'
        paf:
          $ref: '#/components/schemas/CommonPAFAddress'
      x-conditional:
      - simple
      - paf
    ErrorV2:
      type: object
      required:
      - code
      - title
      - detail
      x-conditional:
      - meta
      properties:
        code:
          type: string
          description: The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN.
        title:
          type: string
          description: A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code.
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
        meta:
          type: object
          x-conditional:
          - urn
          description: Additional data for customised error codes.
          properties:
            urn:
              type: string
              description: The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code.
    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
    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
    ResponseBankingAccountListV3:
      required:
      - data
      - links
      - meta
      type: object
      properties:
        data:
          required:
          - accounts
          type: object
          properties:
            accounts:
              type: array
              description: The list of accounts returned. If the filter results in an empty set then this array may have no records.
              items:
                $ref: '#/components/schemas/BankingAccountV3'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
    BankingCreditCardAccount:
      required:
      - minPaymentAmount
      - paymentDueAmount
      - paymentDueDate
      type: object
      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: If absent assumes `AUD`.
          default: AUD
          x-cds-type: CurrencyString
        paymentDueDate:
          type: string
          description: Date that the next payment for the card is due.
          x-cds-type: DateString
    CommonSimpleAddress:
      description: Mandatory if the _addressUType_ value is `simple`.
      required:
      - addressLine1
      - city
      - state
      type: object
      properties:
        mailingName:
          type: string
          description: Name of the individual or business formatted for inclusion in an address used for physical mail.
        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: Mandatory for Australian addresses.
        city:
          type: string
          description: Name of the city or locality.
        state:
          type: string
          description: Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.
        country:
          type: string
          description: A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present.
          default: AUS
          x-cds-type: ExternalRef
      x-conditional:
      - postcode
    BankingProductLendingRateV3:
      required:
      - lendingRateType
      - rate
      - applicationType
      - repaymentType
      - loanPurpose
      type: object
      properties:
        lendingRateType:
          type: string
          description: The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc).
          enum:
          - BALANCE_TRANSFER
          - BUNDLE_DISCOUNT_FIXED
          - BUNDLE_DISCOUNT_VARIABLE
          - CASH_ADVANCE
          - DISCOUNT
          - FIXED
          - FLOATING
          - INTRODUCTORY
          - MARKET_LINKED
          - PENALTY
          - PURCHASE
          - VARIABLE
          example: FIXED
        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. 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
        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_ADVANCE
          - IN_ARREARS
        repaymentType:
          type: string
          description: Option in place for repayments.
          enum:
          - INTEREST_ONLY
          - OTHER
          - PRINCIPAL_AND_INTEREST
          - UNCONSTRAINED
        loanPurpose:
          type: string
          description: The reason for taking out the loan.
          enum:
          - INVESTMENT
          - OTHER
          - OWNER_OCCUPIED
          - UNCONSTRAINED
        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 [_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
      - applicationFrequency
    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
    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
    BankingFeeDiscountRate:
      type: object
      required:
      - rateType
      - rate
      properties:
        rateType:
          type: string
          description: Type of fee rate discount calculation.<ul><li>`BALANCE` A fee rate discount based on a balance</li><li>`FEE` A fee rate discount based on the fee to which the discount is attached</li><li>`INTEREST_ACCRUED` A fee rate discount based on interest accrued</li><li>`TRANSACTION` A fee rate discount based on a transaction.</li></ul>
          enum:
          - BALANCE
          - FEE
          - INTEREST_ACCRUED
          - TRANSACTION
        rate:
          type: string
          x-cds-type: RateString
          description: The fee rate discount calculated according to the _rateType_.
        amountRange:
          $ref: '#/components/schemas/BankingFeeDiscountRange'
    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
    Links:
      required:
      - self
      type: object
      properties:
        self:
          type: string
          description: Fully qualified link that generated the current response document.
          x-cds-type: URIString
    ResponseErrorListV2:
      type: object
      required:
      - errors
      properties:
        errors:
          description: List of errors.
          type: array
          items:
            $ref: '#/components/schemas/ErrorV2'
    MetaPaginated:
      required:
      - totalPages
      - totalRecords
      type: object
      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
    BankingAccountV3:
      required:
      - accountId
      - displayName
      - accountOwnership
      - maskedNumber
      - productCategory
      - productName
      type: object
      properties:
        accountId:
          description: Unique identifier for the account.
          allOf:
          - $ref: '#/components/schemas/BankingAccountId'
        creationDate:
          type: string
          description: Date that the account was created (if known).
          x-cds-type: DateString
        displayName:
          type: string
          description: The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type.
        nickname:
          type: string
          description: A customer supplied nickname for the account.
        openStatus:
          type: string
          description: Open or closed status for the account. If not present then `OPEN` is assumed.
          default: OPEN
          enum:
          - CLOSED
          - OPEN
        isOwned:
          type: boolean
          description: Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed.
          default: true
        accountOwnership:
          type: string
          description: Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers.
          enum:
          - UNKNOWN
          - ONE_PARTY
          - TWO_PARTY
          - MANY_PARTY
          - OTHER
        maskedNumber:
          type: string
          description: A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number.
          x-cds-type: MaskedAccountString
        productCategory:
          $ref: '#/components/schemas/BankingProductCategoryV2'
        productName:
          type: string
          description: The unique identifier of the account as defined by the data holder (akin to model number for the account).
        isInstalmentDetailAvailable:
          type: boolean
          default: false
          description: '`true` if any active or inactive instalment plans are available in the Get Instalment Plans endpoints. `false` if instalment plans are not applicable to the account.'
    BankingFeeDiscountRange:
      type: object
      description: A minimum or maximum fee discount amount where a specific fixed amount is not known until the fee is incurred.
      properties:
        discountMinimum:
          type: string
          description: The minimum fee discount that will be applied per occurrence.
          x-cds-type: AmountString
        discountMaximum:
          type: string
          description: The maximum fee discount that will be applied per occurrence.
          x-cds-type: AmountString
    BankingLoanAccountV3:
      required:
      - repaymentType
      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: If absent assumes `AUD`.
          default: AUD
          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: If absent assumes `AUD`.
          default: AUD
          x-cds-type: CurrencyString
        maxRedraw:
          type: string
          description: Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account.
          x-cds-type: AmountString
        maxRedrawCurrency:
          type: string
          description: If absent assumes `AUD`.
          default: AUD
          x-cds-type: CurrencyString
        minRedraw:
          type: string
          description: Minimum redraw amount.
          x-cds-type: AmountString
        minRedrawCurrency:
          type: string
          description: If absent assumes `AUD`.
          default: AUD
          x-cds-type: CurrencyString
        offsetAccountEnabled:
          type: boolean
          description: Set to `true` if one or more offset accounts are configured for this loan account.
        offsetAccountIds:
          type: array
          description: The _accountId_ values of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation.
          items:
            $ref: '#/components/schemas/BankingAccountId'
        repaymentType:
          type: string
          description: Option in place for repayments.
          enum:
          - INTEREST_ONLY
          - OTHER
          - PRINCIPAL_AND_INTEREST
          - UNCONSTRAINED
        repaymentFrequency:
          type: string
          description: The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_

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