Bank of Sydney Banking Accounts API

Banking Account endpoints

OpenAPI Specification

bank-of-sydney-banking-accounts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    email: contact@dsb.gov.au
    name: Data Standards Body
    url: https://dsb.gov.au/
  description: Specifications for resource endpoints applicable to data holders in the Banking sector.
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
  title: CDR Banking Banking Account Balances Banking Accounts API
  version: 1.36.0
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- description: Banking Account endpoints
  name: Banking Accounts
  x-shortName: Accounts
paths:
  /banking/accounts:
    get:
      description: 'Obtain a list of accounts.


        Obsolete versions: [v1](includes/obsolete/get-accounts-v1.html), [v2](includes/obsolete/get-accounts-v2.html).'
      operationId: listBankingAccounts
      parameters:
      - description: Used to filter results on the _productCategory_ field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        explode: true
        in: query
        name: product-category
        required: false
        schema:
          $ref: '#/components/schemas/BankingProductCategoryV2'
        style: form
      - description: Used to filter results according to open/closed status. Values can be `OPEN`, `CLOSED` or `ALL`. If absent then `ALL` is assumed.
        explode: true
        in: query
        name: open-status
        required: false
        schema:
          default: ALL
          enum:
          - ALL
          - CLOSED
          - OPEN
          type: string
        style: form
      - description: Filters accounts based on whether they are owned by the authorised customer. `true` for owned accounts, `false` for unowned accounts and absent for all accounts.
        explode: true
        in: query
        name: is-owned
        required: false
        schema:
          type: boolean
        style: form
      - description: Page of results to request (standard pagination).
        explode: true
        in: query
        name: page
        required: false
        schema:
          default: 1
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Page size to request. Default is 25 (standard pagination).
        explode: true
        in: query
        name: page-size
        required: false
        schema:
          default: 25
          type: integer
        style: form
        x-cds-type: PositiveInteger
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      - description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
        explode: false
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingAccountListV3'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
      summary: Get Accounts
      tags:
      - Banking Accounts
      x-scopes:
      - bank:accounts.basic:read
      x-version: '3'
  /banking/accounts/{accountId}:
    get:
      description: 'Obtain detailed information on a single account.


        Obsolete versions: [v1](includes/obsolete/get-account-detail-v1.html), [v2](includes/obsolete/get-account-detail-v2.html), [v3](includes/obsolete/get-account-detail-v3.html), [v4](includes/obsolete/get-account-detail-v4.html).'
      operationId: getBankingAccountDetail
      parameters:
      - description: The _accountId_ to obtain data for. _accountId_ values are returned by account list endpoints.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          $ref: '#/components/schemas/BankingAccountId'
        style: simple
      - description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
        explode: false
        in: header
        name: x-v
        required: true
        schema:
          type: string
        style: simple
      - description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
        explode: false
        in: header
        name: x-min-v
        required: false
        schema:
          type: string
        style: simple
      - description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
        explode: false
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the Data Recipient Software Product. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingAccountByIdV5'
          description: Successful response
          headers:
            x-v:
              $ref: '#/components/headers/XV'
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Missing Required Header](#error-400-header-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Banking Account](#error-404-authorisation-unavailable-banking-account)</li><li>[404 - Invalid Banking Account](#error-404-authorisation-invalid-banking-account)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              $ref: '#/components/headers/XFAPIInteractionId'
      summary: Get Account Detail
      tags:
      - Banking Accounts
      x-scopes:
      - bank:accounts.detail:read
      x-version: '5'
components:
  schemas:
    Meta:
      type: object
    BankingProductDiscountV2:
      description: Note that the currency of the fee discount is expected to be the same as the currency of the fee itself.
      properties:
        description:
          description: Description of the discount.
          type: string
        discountType:
          description: The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc).
          enum:
          - BALANCE
          - DEPOSITS
          - ELIGIBILITY_ONLY
          - FEE_CAP
          - PAYMENTS
          type: string
        discountMethodUType:
          description: Reference to the applicable fee discount method structure.
          enum:
          - fixedAmount
          - rateBased
          type: string
        fixedAmount:
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountAmount'
          description: Mandatory if the _discountMethodUType_ value is `fixedAmount`. Where the discount is a specific amount.
        rateBased:
          allOf:
          - $ref: '#/components/schemas/BankingFeeDiscountRate'
          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.
        additionalValue:
          description: Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc).
          type: string
        additionalInfo:
          description: Display text providing more information on the discount.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this discount.
          type: string
          x-cds-type: URIString
        eligibility:
          description: Eligibility constraints that apply to this discount. Mandatory if the [_discountType_](#tocSproductdiscounttypedoc) value is `ELIGIBILITY_ONLY`.
          items:
            $ref: '#/components/schemas/BankingProductDiscountEligibility'
          type: array
      required:
      - description
      - discountMethodUType
      - discountType
      type: object
      x-conditional:
      - fixedAmount
      - rateBased
      - additionalValue
      - eligibility
    BankingAccountDetailV5:
      allOf:
      - $ref: '#/components/schemas/BankingAccountV3'
      - $ref: '#/components/schemas/BankingAccountDetailV5_allOf'
    ErrorV2:
      properties:
        code:
          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.
          type: string
        title:
          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.
          type: string
        detail:
          description: A human-readable explanation specific to this occurrence of the problem.
          type: string
        meta:
          $ref: '#/components/schemas/ErrorV2_meta'
      required:
      - code
      - detail
      - title
      type: object
      x-conditional:
      - meta
    BankingAccountId:
      description: A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements.
      type: string
      x-cds-type: ASCIIString
    BankingFeeDiscountRate:
      properties:
        rateType:
          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
          type: string
        rate:
          description: The fee rate discount calculated according to the _rateType_.
          type: string
          x-cds-type: RateString
        amountRange:
          $ref: '#/components/schemas/BankingFeeDiscountRange'
      required:
      - rate
      - rateType
      type: object
    BankingFeeRate:
      properties:
        rateType:
          description: Type of fee rate calculation.<ul><li>`BALANCE` A fee rate based on a balance</li><li>`INTEREST_ACCRUED` A fee rate based on interest accrued</li><li>`TRANSACTION` A fee rate based on a transaction.</li></ul>
          enum:
          - BALANCE
          - INTEREST_ACCRUED
          - TRANSACTION
          type: string
        rate:
          description: The fee rate calculated according to the _rateType_.
          type: string
          x-cds-type: RateString
        accrualFrequency:
          description: The indicative frequency with which the fee is calculated on the account if applicable. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
        amountRange:
          $ref: '#/components/schemas/BankingFeeRange'
      required:
      - rate
      - rateType
      type: object
      x-conditional:
      - balanceRate
      - transactionRate
      - accruedRate
    BankingFeeRange:
      description: A minimum or maximum fee amount where a specific fixed amount is not known until the fee is incurred.
      properties:
        feeMinimum:
          description: The minimum fee that will be charged per occurrence.
          type: string
          x-cds-type: AmountString
        feeMaximum:
          description: The maximum fee that will be charged per occurrence.
          type: string
          x-cds-type: AmountString
      type: object
    ResponseBankingAccountByIdV5:
      properties:
        data:
          $ref: '#/components/schemas/BankingAccountDetailV5'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
      required:
      - data
      - links
      type: object
    Links:
      properties:
        self:
          description: Fully qualified link that generated the current response document.
          type: string
          x-cds-type: URIString
      required:
      - self
      type: object
    BankingCreditCardAccount:
      properties:
        minPaymentAmount:
          description: The minimum payment amount due for the next card payment.
          type: string
          x-cds-type: AmountString
        paymentDueAmount:
          description: The amount due for the next card payment.
          type: string
          x-cds-type: AmountString
        paymentCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        paymentDueDate:
          description: Date that the next payment for the card is due.
          type: string
          x-cds-type: DateString
      required:
      - minPaymentAmount
      - paymentDueAmount
      - paymentDueDate
      type: object
    BankingFeeDiscountAmount:
      properties:
        amount:
          description: The specific amount discounted from the fee each time it is incurred.
          type: string
          x-cds-type: AmountString
      required:
      - amount
      type: object
    BankingTermDepositAccount:
      properties:
        lodgementDate:
          description: The lodgement date of the original deposit.
          type: string
          x-cds-type: DateString
        maturityDate:
          description: Maturity date for the term deposit.
          type: string
          x-cds-type: DateString
        maturityAmount:
          description: Amount to be paid upon maturity. If absent it implies the amount to paid is variable and cannot currently be calculated.
          type: string
          x-cds-type: AmountString
        maturityCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        maturityInstructions:
          description: Current instructions on action to be taken at maturity. This includes default actions that may be specified in the terms and conditions for the product e.g., roll-over to the same term and frequency of interest payments.
          enum:
          - HOLD_ON_MATURITY
          - PAID_OUT_AT_MATURITY
          - ROLLED_OVER
          type: string
      required:
      - lodgementDate
      - maturityDate
      - maturityInstructions
      type: object
    BankingAccountV3:
      properties:
        accountId:
          allOf:
          - $ref: '#/components/schemas/BankingAccountId'
          description: Unique identifier for the account.
        creationDate:
          description: Date that the account was created (if known).
          type: string
          x-cds-type: DateString
        displayName:
          description: The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type.
          type: string
        nickname:
          description: A customer supplied nickname for the account.
          type: string
        openStatus:
          default: OPEN
          description: Open or closed status for the account. If not present then `OPEN` is assumed.
          enum:
          - CLOSED
          - OPEN
          type: string
        isOwned:
          default: true
          description: Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed.
          type: boolean
        accountOwnership:
          description: Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers.
          enum:
          - UNKNOWN
          - ONE_PARTY
          - TWO_PARTY
          - MANY_PARTY
          - OTHER
          type: string
        maskedNumber:
          description: A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number.
          type: string
          x-cds-type: MaskedAccountString
        productCategory:
          $ref: '#/components/schemas/BankingProductCategoryV2'
        productName:
          description: The unique identifier of the account as defined by the data holder (akin to model number for the account).
          type: string
        isInstalmentDetailAvailable:
          default: false
          description: '`true` if any active or inactive instalment plans are available in the Get Instalment Plans endpoints. `false` if instalment plans are not applicable to the account.'
          type: boolean
      required:
      - accountId
      - accountOwnership
      - displayName
      - maskedNumber
      - productCategory
      - productName
      type: object
    BankingLoanAccountV3:
      properties:
        originalStartDate:
          description: Optional original start date for the loan.
          type: string
          x-cds-type: DateString
        originalLoanAmount:
          description: Optional original loan value.
          type: string
          x-cds-type: AmountString
        originalLoanCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        loanEndDate:
          description: Date that the loan is due to be repaid in full.
          type: string
          x-cds-type: DateString
        nextInstalmentDate:
          description: Next date that an instalment is required.
          type: string
          x-cds-type: DateString
        minInstalmentAmount:
          description: Minimum amount of next instalment.
          type: string
          x-cds-type: AmountString
        minInstalmentCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        maxRedraw:
          description: Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account.
          type: string
          x-cds-type: AmountString
        maxRedrawCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        minRedraw:
          description: Minimum redraw amount.
          type: string
          x-cds-type: AmountString
        minRedrawCurrency:
          default: AUD
          description: If absent assumes `AUD`.
          type: string
          x-cds-type: CurrencyString
        offsetAccountEnabled:
          description: Set to `true` if one or more offset accounts are configured for this loan account.
          type: boolean
        offsetAccountIds:
          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'
          type: array
        repaymentType:
          description: Option in place for repayments.
          enum:
          - INTEREST_ONLY
          - OTHER
          - PRINCIPAL_AND_INTEREST
          - UNCONSTRAINED
          type: string
        repaymentFrequency:
          description: The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
      required:
      - repaymentType
      type: object
    BankingFeeAmount:
      properties:
        amount:
          description: The specific amount charged for the fee each time it is incurred.
          type: string
          x-cds-type: AmountString
      required:
      - amount
      type: object
    MetaPaginated:
      properties:
        totalRecords:
          description: The total number of records in the full set. See [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
        totalPages:
          description: The total number of pages in the full set. See [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
      required:
      - totalPages
      - totalRecords
      type: object
    ResponseBankingAccountListV3_data:
      properties:
        accounts:
          description: The list of accounts returned. If the filter results in an empty set then this array may have no records.
          items:
            $ref: '#/components/schemas/BankingAccountV3'
          type: array
      required:
      - accounts
      type: object
    BankingProductDiscountEligibility:
      properties:
        discountEligibilityType:
          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
          type: string
        additionalValue:
          description: Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc).
          type: string
        additionalInfo:
          description: Display text providing more information on this eligibility constraint. Mandatory if the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) value is `OTHER`.
          type: string
        additionalInfoUri:
          description: Link to a web page with more information on this eligibility constraint.
          type: string
          x-cds-type: URIString
      required:
      - discountEligibilityType
      type: object
      x-conditional:
      - additionalInfo
      - additionalValue
    ResponseErrorListV2:
      properties:
        errors:
          description: List of errors.
          items:
            $ref: '#/components/schemas/ErrorV2'
          type: array
      required:
      - errors
      type: object
    BankingAccountDetailV5_allOf:
      properties:
        bsb:
          description: The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.
          type: string
        accountNumber:
          description: The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.
          type: string
        bundleName:
          description: Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer.
          type: string
        instalments:
          $ref: '#/components/schemas/BankingProductInstalments'
        specificAccountUType:
          description: The type of structure to present account specific fields.
          enum:
          - creditCard
          - loan
          - termDeposit
          type: string
        termDeposit:
          description: Mandatory if the _specificAccountUType_ value is `termDeposit`.
          items:
            $ref: '#/components/schemas/BankingTermDepositAccount'
          type: array
        creditCard:
          allOf:
          - $ref: '#/components/schemas/BankingCreditCardAccount'
          description: Mandatory if the _specificAccountUType_ value is `creditCard`.
        loan:
          allOf:
          - $ref

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