swagger: '2.0'
info:
version: ''
title: CommBank Accounts Accounts API Products API API
description: "Obtain the list of accounts authorised to be shared by the customer. \n\nAccount API is a consumer API. To access data you'll need the customer's consent.
Host URL
CommBank requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/banking
CBA – CommBiz requests are passed to the URL https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking
"
x-provenance: First-party CommBank OpenAPI (Swagger 2.0) harvested verbatim from the CommBank developer portal. These are Commonwealth Bank's own renderings of its CDR / Open Banking Consumer Data Standards endpoints.
x-source-url: https://www.commbank.com.au/developer/Documentation/specification/Accounts
x-doc-url: https://www.commbank.com.au/developer/documentation/Accounts
x-harvested: '2026-07-21'
host: secure.api.commbank.com.au
basePath: /api/cds-au/v1/banking
schemes:
- https
tags:
- name: Products API
description: "Get details on available CommBank products including deposit and transaction accounts, credit cards, home loans, personal loans, and offset accounts. Information available through the API includes eligibility, features, pricing, and links to terms & conditions. \n\nThe Products API is public and does not require any authentication by consumers.\n\nProduct details including features, eligibility, rates and fees may change from time to time without notice. Please direct your end users to refer to commbank.com.au for current product details.
Host URL
All requests are passed to the URL https://api.commbank.com.au/public/cds-au/v1/banking"
paths:
/products:
get:
summary: Get Products
description: Retrieve summary level information of CommBank products
operationId: listProducts
tags:
- Products API
consumes:
- application/json
produces:
- application/json
parameters:
- $ref: '#/parameters/ParamAcceptHeader'
- $ref: '#/parameters/ParamXVHeader'
- $ref: '#/parameters/ParamXMinVHeader'
- $ref: '#/parameters/ParamXFapiInterationId'
- name: effective
in: query
description: Filter to retrieve products based on the effective status.
required: false
type: string
enum:
- CURRENT
- FUTURE
- ALL
default: CURRENT
- name: updated-since
in: query
description: Filter to retrieve products that were updated since the specified date and time.
required: false
type: datetime
- name: brand
in: query
description: Filter to retrieve products with a specific brand.
required: false
type: string
enum:
- CBA
- $ref: '#/parameters/ParamProductCategory'
- $ref: '#/parameters/ParamPage'
- $ref: '#/parameters/ParamPageSize'
responses:
'200':
description: Success
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ResponseBankingProductList'
'400':
description: Bad Request
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ErrorResponse400'
'406':
description: Not Acceptable
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ErrorResponse406'
'422':
description: Unprocessable Entity
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ErrorResponse422'
'429':
description: Too Many Requests
headers:
Content-Type:
type: string
description: Payload format responded with.
Retry-After:
type: integer
description: Amount of time the client should wait before re-trying the operation.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ResponseNoBody'
'500':
description: Internal Server Error
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ErrorResponse500'
/products/{productId}:
/aa:
get:
summary: Get Product Detail
description: Retrieve detailed information on a single CommBank product.
operationId: getProductDetail
get:
summary: Get Product Detail
description: Retrieve detailed information on a single CommBank product.
operationId: getProductDetail
tags:
- Products API
consumes:
- application/json
produces:
- application/json
parameters:
- $ref: '#/parameters/ParamAcceptHeader'
- $ref: '#/parameters/ParamXVHeader'
- $ref: '#/parameters/ParamXMinVHeader'
- $ref: '#/parameters/ParamXFapiInterationId'
- name: productId
in: path
description: CommBank’s unique identifier for the product. This should be obtained via the /products end point.
required: true
type: string
responses:
'200':
description: Success
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ResponseBankingProductById'
'406':
description: Not Acceptable
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ErrorResponse406'
'429':
description: Too Many Requests
headers:
Content-Type:
type: string
description: Payload format responded with.
Retry-After:
type: integer
description: Indicates the amount of time the client should wait before retrying the operation
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
schema:
$ref: '#/definitions/ResponseNoBody'
'500':
description: Server Error
schema:
$ref: '#/definitions/ErrorResponse500'
headers:
Content-Type:
type: string
description: Payload format responded with.
x-v:
type: integer
description: Version of the API end point responded with.
x-fapi-interaction-Id:
type: string
description: Reflects the value of the Interaction ID in the request, if provided.
x-version: '1'
definitions:
BankingProductDetailV3:
allOf:
- $ref: '#/definitions/BankingProductV3'
- type: object
properties:
bundles:
description: An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Bundle'
features:
description: Array of features available for the product.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Feature'
constraints:
description: Constraints on the application for or operation of the product such as minimum balances or limit thresholds.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Constraint'
eligibility:
description: Eligibility criteria for the product.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Eligibility'
fees:
description: Fees applicable for the product.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Fee'
depositRates:
description: Interest rates available for deposits.
uniqueItems: false
type: array
items:
$ref: '#/definitions/DepositRate'
lendingRates:
description: Interest rates charged against lending balances.
uniqueItems: false
type: array
items:
$ref: '#/definitions/LendingRate'
productId:
type: string
effectiveFrom:
format: date-time
type: string
effectiveTo:
format: date-time
type: string
lastUpdated:
format: date-time
type: string
productCategory:
type: string
name:
type: string
description:
type: string
brand:
type: string
brandName:
type: string
applicationUri:
type: string
isTailored:
type: boolean
ResponseBankingProductList:
type: object
required:
- data
- links
- meta
example:
data:
products:
- productId: ad22b1f0967349e8a5d586afe7f0d845
effectiveFrom: '2010-07-14T14:00:00Z'
effectiveTo: '9999-12-30T13:00:00Z'
lastUpdated: '2019-06-03T02:43:35.193777Z'
productCategory: TRANS_AND_SAVINGS_ACCOUNTS
name: NetBank Saver
description: NetBank Saver
brand: CBA
brandName: CommBank
applicationUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
isTailored: false
additionalInformation:
overviewUri: https://www.commbank.com.au/banking/netbank-saver.html
termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
eligibilityUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
feesAndPricingUri: https://www.commbank.com.au/banking/netbank-saver.html#rates
- productId: 7aff9e0e85e6450eb052d4ff2e953223
effectiveFrom: '2011-05-10T04:00:00Z'
effectiveTo: '9999-12-30T13:00:00Z'
lastUpdated: '2019-06-03T02:42:57.57482Z'
productCategory: TRANS_AND_SAVINGS_ACCOUNTS
name: Youthsaver Account
description: Youthsaver Account
brand: CBA
brandName: CommBank
applicationUri: https://www.commbank.com.au/banking/youthsaver.html#apply
isTailored: false
additionalInformation:
overviewUri: https://www.commbank.com.au/banking/youthsaver.html
termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
eligibilityUri: https://www.commbank.com.au/banking/youthsaver.html#apply
feesAndPricingUri: https://www.commbank.com.au/banking/youthsaver.html#rates
links:
self: /cds-au/v1/banking/products?page-size=2
first: /cds-au/v1/banking/products?page-size=2&page=1
next: /cds-au/v1/banking/products?page-size=2&page=2
last: /cds-au/v1/banking/products?page-size=2&page=14
meta:
totalRecords: 28
totalPages: 14
properties:
data:
type: object
required:
- products
properties:
products:
description: The list of products returned for the query.
type: array
items:
$ref: '#/definitions/BankingProductV3'
links:
$ref: '#/definitions/LinksPaginated'
meta:
$ref: '#/definitions/Meta'
ResponseBankingProductById:
type: object
required:
- data
- links
- meta
properties:
data:
$ref: '#/definitions/BankingProductDetailV3'
links:
$ref: '#/definitions/Links'
meta:
$ref: '#/definitions/Meta'
example:
data:
bundles: []
features:
- featureType: NPP_PAYID
additionalValue: 'No'
- featureType: DIGITAL_BANKING
additionalValue: 'Yes'
- featureType: NPP_ENABLED
additionalValue: 'Yes'
- featureType: CARD_ACCESS
additionalValue: No Card Required
- featureType: UNLIMITED_TXNS
additionalValue: Unlimited CommBank electronic transactions
- featureType: DIGITAL_BANKING
additionalInfo: Wherever you are in the world, CommBank gives you the choice and control to securely manage all of your accounts on a range of devices, the way you want.
additionalInfoUri: https://www.commbank.com.au/digital-banking.html
- featureType: NPP_ENABLED
- featureType: OTHER
additionalValue: Goal Tracker
additionalInfo: Whether you have a savings goal in mind or want to build a buffer for those �just in case' moments, Goal Tracker in the CommBank app helps you set and reach your goals.
additionalInfoUri: https://www.commbank.com.au/digital-banking/goal-tracker.html
- featureType: OTHER
additionalValue: Automatic Bank Feeds
additionalInfo: 'Streamline your business banking and save time with automatic data feeds from your online banking to your accounting software '
additionalInfoUri: https://www.commbank.com.au/business/accounting-software-integration.html
constraints: []
eligibility:
- eligibilityType: STAFF
- eligibilityType: MIN_AGE
additionalValue: '14'
- eligibilityType: NATURAL_PERSON
- eligibilityType: MIN_AGE
additionalValue: '14'
- eligibilityType: NATURAL_PERSON
- eligibilityType: OTHER
additionalValue: 1) Other product holdings 2) Digital customer
additionalInfo: 1) Have a Smart Access, Complete Access, Everyday Offset, Pensioner Security or Streamline Basic account with CommBank in the same name as the NetBank Saver account. This is to transfer money to and from their NetBank Saver account. 2) Be registered for NetBank and have an email address
fees:
- name: NetBank transfers and BPAY
feeType: EVENT
amount: ''
discounts: []
additionalValue: Free
- name: Online Statement Fee
feeType: EVENT
amount: ''
discounts: []
additionalValue: Not applicable
depositRates:
- depositRateType: STANDARD
rate: '0.005'
calculationFrequency: P1D
applicationFrequency: P
productId: ad22b1f0967349e8a5d586afe7f0d845
effectiveFrom: '2010-07-14T14:00:00Z'
effectiveTo: '9999-12-30T13:00:00Z'
lastUpdated: '2019-05-29T16:16:12.630613Z'
productCategory: TRANS_AND_SAVINGS_ACCOUNTS
name: NetBank Saver
description: NetBank Saver
brand: CBA
brandName: Commonwealth Bank
applicationUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
isTailored: false
additionalInformation:
overviewUri: https://www.commbank.com.au/banking/netbank-saver.html
termsUri: https://www.commbank.com.au/content/dam/commbank/personal/apply-online/download-printed-forms/SavingsInvestment_ADB2852.pdf
eligibilityUri: https://www.commbank.com.au/banking/netbank-saver.html#apply
feesAndPricingUri: https://www.commbank.com.au/banking/netbank-saver.html#rates
links:
self: '#/cds-au/v1/banking/products/ad22b1f0967349e8a5d586afe7f0d845'
meta:
totalRecords: 1
totalPages: 1
LendingRate:
type: object
required:
- lendingRateType
- rate
x-conditional:
- additionalValue
properties:
lendingRateType:
description: The type of rate (fixed, variable, etc). See the next section for an overview of valid values and their meaning.
enum:
- FIXED
- VARIABLE
- INTRODUCTORY
- DISCOUNT
- PENALTY
- FLOATING
- MARKET_LINKED
- CASH_ADVANCE
- PURCHASE
- BUNDLE_DISCOUNT_FIXED
- BUNDLE_DISCOUNT_VARIABLE
type: string
rate:
type: string
description: The rate to be applied.
comparisonRate:
type: string
description: A comparison rate equivalent for this rate.
calculationFrequency:
type: string
description: The period after which the rate is applied to the balance to calculate the amount due for the period. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations).
applicationFrequency:
type: string
description: The period after which the calculated amount(s) (see calculationFrequency) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations).
interestPaymentDue:
type: string
description: When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered.
enum:
- IN_ARREARS
- IN_ADVANCE
repaymentType:
type: string
description: Options in place for repayments.
enum:
- INTEREST_ONLY
- PRINCIPAL_AND_INTEREST
loanPurpose:
type: string
description: The reason for taking out the loan.
enum:
- OWNER_OCCUPIED
- INVESTMENT
tiers:
uniqueItems: false
type: array
description: Rate tiers applicable for this rate.
items:
$ref: '#/definitions/Tier'
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the lendingRateType specified. Whether mandatory or not is dependent on the value of lendingRateType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|FIXED|Fixed rate for a period of time|The period of time fixed. Formatted according to ISO 8601 Durations|
|VARIABLE|A variable base rate for the product|NA|
|INTRODUCTORY|An introductory discount that will expire after a set period|The period of time for the introductory rate. Formatted according to ISO 8601 Durations|
|DISCOUNT|A specific discount rate that may be applied. A discount rate reduces the interest payable|Description of the discount rate that is applicable|
|PENALTY|A specific penalty rate that may be applied. A penalty rate increases the interest payable|Description of the penalty rate that is applicable|
|FLOATING|A floating rate is relatively fixed but still adjusts under specific circumstances|Details of the float parameters|
|MARKET_LINKED|A rate that is linked to a specific market, commodity or asset class|Details of the market linkage|
|CASH_ADVANCE|Specific rate applied to cash advances from the account|NA|
|PURCHASE|Specific rate applied to purchases from the account|NA|
|BUNDLE_DISCOUNT_FIXED|A discount rate off the fixed rate obtained by originating a bundle instead of a standalone product|The name of the bundle|
|BUNDLE_DISCOUNT_VARIABLE|A discount rate off the variable rate obtained by originating a bundle instead of a standalone product|The name of the bundle|
'
additionalInfo:
type: string
description: Display text providing more information on the rate.
additionalInfoUri:
type: string
description: Link to a web page with more information on this rate.
Tier:
type: object
description: Defines the criteria and conditions for which a rate applies.
required:
- name
- unitOfMeasure
- minimumValue
- maximumValue
properties:
name:
type: string
description: A display name for the tier.
unitOfMeasure:
type: string
description: The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. 'DOLLAR', 'MONTH' (in the case of term deposit tiers), 'PERCENT' (in the case of loan-to-value ratio or LVR).
enum:
- DOLLAR
- PERCENT
- MONTH
- DAY
minimumValue:
type: number
description: The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value.
maximumValue:
type: number
description: 'The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months).'
rateApplicationMethod:
type: string
description: The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps').
enum:
- WHOLE_BALANCE
- PER_TIER
applicabilityConditions:
$ref: '#/definitions/BankingProductRateCondition'
subTier:
type: object
description: Defines the sub-tier criteria and conditions for which a rate applies.
required:
- name
- unitOfMeasure
- minimumValue
- maximumValue
properties:
name:
type: string
description: A display name for the tier.
unitOfMeasure:
type: string
description: The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. 'DOLLAR', 'MONTH' (in the case of term deposit tiers), 'PERCENT' (in the case of loan-to-value ratio or LVR).
enum:
- DOLLAR
- PERCENT
- MONTH
- DAY
minimumValue:
type: number
description: The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value.
maximumValue:
type: number
description: 'The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months).'
rateApplicationMethod:
type: string
description: The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps').
enum:
- WHOLE_BALANCE
- PER_TIER
applicabilityConditions:
$ref: '#/definitions/BankingProductRateCondition'
LinksPaginated:
type: object
required:
- self
x-conditional:
- prev
- next
- first
- last
properties:
self:
type: string
description: Fully qualified link to this API call.
first:
type: string
description: URI to the first page of this set.
prev:
type: string
description: URI to the previous page of this set.
next:
type: string
description: URI to the next page of this set.
last:
type: string
description: URI to the last page of this set.
BankingProductV3:
type: object
required:
- productId
- lastUpdated
- productCategory
- name
- description
- brand
- isTailored
properties:
productId:
type: string
description: CommBank’s unique identifier for this product.
effectiveFrom:
type: string
description: Date and time from which this product is made available to customers.
effectiveTo:
type: string
description: Date and time at which this product will be retired and will no longer be offered.
lastUpdated:
type: string
description: Date and time that the information for this product was last updated.
productCategory:
type: string
$ref: '#/definitions/BankingEnumProductCategory'
name:
type: string
description: Display name of the product.
description:
type: string
description: Description of the product.
brand:
type: string
description: Label of the brand for the product.
brandName:
type: string
description: Brand display name
applicationUri:
type: string
description: A link to the web page where this product can be applied for.
isTailored:
type: boolean
description: Indicates whether the pricing for the product can be tailored to a specific customer.
additionalInformation:
$ref: '#/definitions/AdditionalInformation'
ResponseNoBody:
type: object
properties: {}
example: {}
Fee:
type: object
required:
- name
- feeType
- amount
x-conditional:
- additionalValue
- balanceRate
- transactionRate
- accruedRate
properties:
name:
type: string
description: A display name for the fee.
feeType:
enum:
- PERIODIC
- TRANSACTION
- WITHDRAWAL
- DEPOSIT
- PAYMENT
- PURCHASE
- EVENT
- UPFRONT
- EXIT
type: string
amount:
type: string
description: 'The amount charged for the fee. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
balanceRate:
type: string
description: 'A fee rate calculated based on a proportion of the balance. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
transactionRate:
type: string
description: 'A fee rate calculated based on a proportion of a transaction. One of: amount, balanceRate, transactionRate and accruedRate is mandatory.'
accruedRate:
type: string
description: A fee rate calculated based on a proportion of the calculated interest accrued on the account. One of amount, balanceRate, transactionRate and accruedRate is mandatory.
accrualFrequency:
type: string
description: The indicative frequency with which the fee is calculated on the account. Only applies if balanceRate or accruedRate is also present. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations).
currency:
type: string
description: The currency the fee will be charged in. Assumes AUD if absent.
discounts:
description: An optional list of discounts to this fee that may be available.
uniqueItems: false
type: array
items:
$ref: '#/definitions/Discount'
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the feeType specified. Whether mandatory or not is dependent on the value of feeType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|PERIODIC|A periodic fee such as a monthly account servicing fee|The period of charge. Formatted according to ISO 8601 Durations|
|TRANSACTION|A fee associated with any transaction (incorporates WITHDRAWAL, DEPOSIT, PAYMENT and PURCHASE)|NA|
|WITHDRAWAL|A fee associated with making a withdrawal|NA|
|DEPOSIT|A fee associated with making a deposit|NA|
|PAYMENT|A fee associated with making a payment|NA|
|PURCHASE|A fee associated with making a purchase at a merchant|NA|
|EVENT|A fee in relation to a particular event (e.g. NA ordering a new card, viewing a balance or stopping a cheque)|NA|
|UPFRONT|A fee paid at the beginning of the product NA lifecycle, such as an establishment fee, loyalty program fee or application fee|NA|
|EXIT|A fee for closing the product|NA|
'
additionalInfo:
type: string
description: Display text providing more information on the fee.
additionalInfoUri:
type: string
description: Link to a web page with more information on this fee.
Constraint:
type: object
required:
- constraintType
x-conditional:
- additionalValue
properties:
constraintType:
description: The type of constraint described.
enum:
- MIN_BALANCE
- MAX_BALANCE
- OPENING_BALANCE
- MAX_LIMIT
- MIN_LIMIT
type: string
additionalValue:
description: 'Generic field containing additional information relevant to the constraintType specified. Whether mandatory or not is dependent on the value of constraintType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|MIN_BALANCE|A minimum balance is required for the product|The minimum balance in AmountString format|
|MAX_BALANCE|A maximum balance is required for the product|The maximum balance in AmountString format|
|OPENING_BALANCE|An opening balance is required for the product|The minimum opening balance in AmountString format|
|MAX_LIMIT|A maximum credit limit exists|The maximum limit in AmountString format|
|MIN_LIMIT|A minimum credit limit exists|The minimum limit in AmountString format|
'
type: string
additionalInfo:
type: string
description: Display text providing more information describing the constraint.
additionalInfoUri:
type: string
description: Link to a web page with more information on the constraint.
Links:
type: object
required:
- self
properties:
self:
type: string
description: Fully qualified link to this API call.
Eligibility:
type: object
required:
- eligibilityType
x-conditional:
- additionalValue
- additionalInfo
properties:
eligibilityType:
description: The type of eligibility criteria described.
enum:
- BUSINESS
- PENSION_RECIPIENT
- MIN_AGE
- MAX_AGE
- MIN_INCOME
- MIN_TURNOVER
- STAFF
- STUDENT
- EMPLOYMENT_STATUS
- RESIDENCY_STATUS
- NATURAL_PERSON
- INTRODUCTORY
- OTHER
type: string
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the eligibilityType specified. Whether mandatory or not is dependent on the value of eligibilityType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|BUSINESS|Only business may apply for the account|NA|
|PENSION_RECIPIENT|A recipient of a government pension may apply for the product|NA|
|MIN_AGE|Only customers older than a minimum age may apply|The minimum age in years|
|MAX_AGE|Only customers younger than a maximum age may apply|The maximum age in years|
|MIN_INCOME|The customer must have an income greater than a specified threshold to obtain the product|Minimum income in AmountString format|
|MIN_TURNOVER|Only a business with greater than a minimum turnover may apply|Minimum turnover in AmountString format|
|STAFF|Only a staff member of the provider may apply|NA|
|STUDENT|Only students may apply for the product|NA|
|EMPLOYMENT_STATUS|An eligibility constraint based on employment status applies|A description of the status required|
|RESIDENCY_STATUS|An eligibility constraint based on residency status applies|A description of the status required|
|NATURAL_PERSON|The customer must be a natural person rather than another legal entity|NA|
|OTHER|Another eligibility criteria exists as described in the additionalInfo field (if this option is specified then the additionalInfo field is mandatory)|Value relevant to the criteria|
'
example: '14'
additionalInfo:
type: string
description: Display text providing more information on the eligibility criteria. Mandatory if the eligibilityType field is set to OTHER.
additionalInfoUri:
type: string
description: Link to a web page with more information on this eligibility criteria.
Error:
type: object
properties:
code:
type: string
title:
type: string
detail:
type: string
AdditionalInformation:
description: Object containing links to additional information on specific topics.
type: object
properties:
overviewUri:
type: string
description: General overview of the product.
termsUri:
type: string
description: Terms and conditions for the product.
eligibilityUri:
type: string
description: Eligibility rules and criteria for the product.
feesAndPricingUri:
type: string
description: Description of fees, pricing, discounts, exemptions and bonuses for the product.
bundleUri:
type: string
description: Description of a bundle that this product can be part of.
ErrorResponse400:
type: object
properties:
errors:
uniqueItems: false
type: array
items:
$ref: '#/definitions/Error'
example:
errors:
- code: PA-BR-02
title: updated-since is invalid
detail: updated-since must be a valid date.
- code: PA-BR-03
title: effective is invalid
detail: effective must be either ALL, CURRENT or FUTURE.
- code: PA-BR-04
title: product-category is invalid
detail: product-category must be a valid enumeration.
- code: PA-BR-05
title: page is invalid
detail: page must be a number and must be greater than 0.
- code: PA-BR-06
title: '{field-name} is Invalid'
detail: Something is wrong with your request. Please check your query parameters and try again.
- code: PA-BR-07
title: brand is Invalid
detail: brand must be a valid value.
BankingProductRateCondition:
type: object
description: Defines a condition for the applicability of a tiered rate.
properties:
additionalValue:
type: string
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.
ErrorResponse422:
type: object
properties:
errors:
uniqueItems: false
type: array
items:
$ref: '#/definitions/Error'
example:
errors:
- code: PA-BR-01
title: page-size is invalid
detail: page-size must be a number and between 1 and 1000.
ErrorResponse500:
type: object
properties:
errors:
uniqueItems: false
type: array
items:
$ref: '#/definitions/Error'
example:
errors:
- code: PA-IS-01
title: Server Error
detail: An error has occurred whilst processing your request. Please try again later.
Meta:
type: object
required:
- totalRecords
- totalPages
properties:
totalRecords:
type: integer
description: Total number of records in the full set.
example: 10
totalPages:
description: Total number of pages in the full set.
example: 10
type: integer
Bundle:
type: object
required:
- name
- description
- productIds
properties:
name:
type: string
description: Name of the bundle.
description:
type: string
description: Description of the bundle.
additionalInfo:
type: string
description: Display text providing more information on the bundle.
additionalInfoUri:
type: string
description: Link to a web page with more information on the bundle criteria and benefits.
productIds:
type: array
description: Array of product IDs for products included in the bundle.
uniqueItems: false
items:
type: string
BankingEnumProductCategory:
type: string
description: Product category of the product.
enum:
- TRANS_AND_SAVINGS_ACCOUNTS
- TERM_DEPOSITS
- CRED_AND_CHRG_CARDS
DepositRate:
type: object
required:
- depositRateType
- rate
x-conditional:
- additionalValue
properties:
depositRateType:
description: The type of rate (base, bonus, etc). See the next section for an overview of valid values and their meaning
enum:
- STANDARD
- FIXED
- BONUS
- BUNDLE_BONUS
- VARIABLE
- INTRODUCTORY
- FLOATING
- MARKET_LINKED
type: string
rate:
type: string
description: The rate to be applied
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).
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).
tiers:
uniqueItems: false
type: array
description: Rate tiers applicable for this rate
items:
$ref: '#/definitions/Tier'
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the depositRateType specified. Whether mandatory or not is dependent on the value of depositRateType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|FIXED|Fixed rate for a period of time|The period of time fixed. Formatted according to ISO 8601 Durations|
|BONUS|A bonus rate available by meeting a specific criteria|A description of the criteria to obtain the bonus|
|BUNDLE_BONUS|A bonus rate obtained by originating a bundle instead of a standalone product|The name of the bundle|
|VARIABLE|A variable base rate for the product|NA|
|INTRODUCTORY|An introductory bonus that will expire after a set period|The period of time for the introductory rate. Formatted according to ISO 8601 Durations|
|FLOATING|A floating rate is relatively fixed but still adjusts under specific circumstances|Details of the float parameters|
|MARKET_LINKED|A rate that is linked to a specific market, commodity or asset class|Details of the market linkage|
'
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
Discount:
type: object
required:
- description
- discountType
- amount
x-conditional:
- balanceRate
- transactionRate
- accruedRate
- feeRate
- additionalValue
properties:
description:
type: string
description: Description of the discount
discountType:
description: The type of discount. See the next section for an overview of valid values and their meaning
enum:
- BALANCE
- DEPOSITS
- PAYMENTS
- FEE_CAP
- ELIGIBILITY_ONLY
type: string
amount:
type: string
description: Value of the discount
balanceRate:
type: string
description: 'A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of: amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee.'
transactionRate:
type: string
description: A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory.
accruedRate:
type: string
description: A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee.
feeRate:
type: string
description: A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee.
eligibility:
uniqueItems: false
type: array
description: Eligibility constraints that apply to this discount.
items:
$ref: '#/definitions/DiscountEligibility'
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the discountType specified. Whether mandatory or not is dependent on the value of discountType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|BALANCE|Discount on a fee for maintaining a set balance. As the discount applies to a fee the period is the same as for the fee|The minimum balance in AmountString format|
|DEPOSITS|Discount for depositing a certain amount of money in a period. As the discount applies to a fee the period is the same as for the fee|The minimum deposit amount in AmountString format|
|PAYMENTS|Discount for outbound payments from the account under a certain amount of money in a period. As the discount applies to a fee the period is the same as for the fee|The payment threshold amount in AmountString format|
|FEE_CAP|The amount, balanceRate, transactionRate or calculatedInterestRate fields of the discount represent the maximum amount charged in a time period|The time period for which the fee cap applies. Formatted according to ISO 8601 Durations|
|ELIGIBILITY_ONLY|Discount applies based on customer eligibility (eligibility array must be populated)|N/A|
'
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.
Feature:
type: object
required:
- featureType
x-conditional:
- additionalValue
- additionalInfo
properties:
featureType:
type: string
description: The type of feature described.
enum:
- CARD_ACCESS
- ADDITIONAL_CARDS
- UNLIMITED_TXNS
- FREE_TXNS
- FREE_TXNS_ALLOWANCE
- LOYALTY_PROGRAM
- OFFSET
- OVERDRAFT
- REDRAW
- INSURANCE
- BALANCE_TRANSFERS
- INTEREST_FREE
- INTEREST_FREE_TRANSFERS
- DIGITAL_WALLET
- DIGITAL_BANKING
- NPP_PAYID
- NPP_ENABLED
- DONATE_INTEREST
- BILL_PAYMENT
- COMPLEMENTARY_PRODUCT_DISCOUNTS
- BONUS_REWARDS
- NOTIFICATIONS
- OTHER
additionalValue:
type: string
conditional: true
description: 'Generic field containing additional information relevant to the featureType specified. Whether mandatory or not is dependent on the value of featureType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|CARD_ACCESS|A card is available for the product to access funds|Text describing list of card types that this product can be linked to|
|ADDITIONAL_CARDS|Additional cards can be requested|The maximum number of additional cards. If no maximum then should be set to null|
|UNLIMITED_TXNS|Unlimited free transactions available|NA|
|FREE_TXNS|A set number of free transactions available per month|The number of free transactions|
|FREE_TXNS_ALLOWANCE|A set amount of transaction fee value that is discounted per month|The amount of transaction fee discounted (in AUD)|
|LOYALTY_PROGRAM|A points based loyalty program is available|Name of the loyalty program|
|OFFSET|An offset account can be connected to the product|NA|
|OVERDRAFT|An overdraft can be applied for|NA|
|REDRAW|Redraw of repaid principal above minimum required is available|NA|
|INSURANCE|Insurance is provided as an additional feature of the product|Text description of the type of insurance (e.g. Travel Insurance)|
|BALANCE_TRANSFERS|Balance transfers can be made to the account (eg. for credit cards)|NA|
|INTEREST_FREE|Interest free period for purchases|Interest free period. Formatted according to ISO 8601 Durations|
|INTEREST_FREE_TRANSFERS|Interest free period for balance transfers|Interest free period. Formatted according to ISO 8601 Durations|
|DIGITAL_WALLET|A Digital wallet can be attached to the product|The name or brand of the wallet|
|DIGITAL_BANKING|Access is available to online banking features for the product|NA|
|NPP_PAYID|An account of this product type can be used as the target of an NPP PayID|NA|
|NPP_ENABLED|An account of this product type can be used to receive funds as a result of a BSB/Number based NPP payment|NA|
|DONATE_INTEREST|Indicates that interest generated from the product can be automatically donated to a charity or community group|NA|
|BILL_PAYMENT|The product can be attached to an automatic budgeting and bill payment service|Optional name of the service|
|COMPLEMENTARY_PRODUCT_DISCOUNTS|Indicates that complementary, discounted offerings (such as gift cards, or discounted travel) is available|Description of the complementary offering|
|BONUS_REWARDS|Bonus loyalty rewards points are available|Number of points available|
|NOTIFICATIONS|Advanced notifications are available for the product|Description of the notification capability|
|OTHER|Another feature that can not be included in any of the other categories. The additionalInfo field is mandatory for this type|NA|
'
example: 'No'
additionalInfo:
type: string
description: Display text providing more information on the feature. Mandatory if the feature type is set to OTHER.
additionalInfoUri:
type: string
description: Link to a web page with more information on this feature.
ErrorResponse406:
type: object
properties:
errors:
uniqueItems: false
type: array
items:
$ref: '#/definitions/Error'
example:
errors:
- code: PA-RH-01
title: Accept header is invalid
detail: Accept header must be application/json.
- code: PA-RH-02
title: Content-Type is invalid
detail: Content-Type header must be application/json.
- code: PA-RH-03
title: x-v is Invalid
detail: x-v header must be a supported version number.
- code: PA-RH-04
title: x-min-v is invalid
detail: x-min-v header must be a supported version number.
DiscountEligibility:
type: object
required:
- discountEligibilityType
x-conditional:
- additionalValue
properties:
discountEligibilityType:
enum:
- BUSINESS
- PENSION_RECIPIENT
- MIN_AGE
- MAX_AGE
- MIN_INCOME
- MIN_TURNOVER
- STAFF
- STUDENT
- EMPLOYMENT_STATUS
- RESIDENCY_STATUS
- NATURAL_PERSON
- INTRODUCTORY
- OTHER
type: string
additionalValue:
type: string
description: 'Generic field containing additional information relevant to the discountEligibilityType specified. Whether mandatory or not is dependent on the value of discountEligibilityType.
See the below table for more details.
|Value|Description|Use of additionalValue Field|
|--- |--- |--- |
|BUSINESS|A business or other non-person legal entity|NA|
|PENSION_RECIPIENT|A recipient of a government pension may receive the discount|Optional. Should contain a description of which pensions qualify|
|MIN_AGE|Only customers older than a minimum age receive the discount|The minimum age in years|
|MAX_AGE|Only customers younger than a maximum age receive the discount|The maximum age in years|
|MIN_INCOME|The customer must have an income greater than a specified threshold to obtain the discount|Minimum income in AmountString format|
|MIN_TURNOVER|Only a business with greater than a minimum turnover is eligible|Minimum turnover in AmountString format|
|STAFF|Only a staff member of the provider may receive the discount|NA|
|STUDENT|Only students may receive the discount|Optional. Should contain a description of who qualifies as a student, e.g. do apprentices qualify?|
|EMPLOYMENT_STATUS|An eligibility constraint based on employment status applies|A description of the status required|
|RESIDENCY_STATUS|An eligibility constraint based on residency status applies|A description of the status required|
|NATURAL_PERSON|The customer must be a natural person rather than another legal entity|NA|
|INTRODUCTORY|The discount is only available during an introductory period|The period of time for the introductory discount. Formatted according to ISO 8601 Durations|
|OTHER|Another eligibility criteria exists as described in the additionalInfo field (if this option is specified then the additionalInfo field is mandatory)|NA|
'
additionalInfo:
type: string
description: Display text providing more information on this eligibility constraint.
additionalInfoUri:
type: string
description: Link to a web page with more information on this eligibility constraint.
parameters:
ParamAcceptHeader:
name: Accept
in: header
description: Content-Type that is acceptable for the server's response.
type: string
enum:
- application/json
required: true
ParamPageSize:
name: page-size
in: query
description: Number of records to return with the page
required: false
type: integer
default: 25
maximum: 1000
minimum: 1
ParamPage:
name: page
in: query
description: Page number being requested
required: false
type: integer
default: 1
ParamXMinVHeader:
name: x-min-v
in: header
description: Minimum version of the API end point you are requesting.
type: integer
example: 2
required: false
ParamProductCategory:
name: product-category
in: query
description: Filter to retrieve products by their Product Category.
required: false
type: string
enum:
- TRANS_AND_SAVINGS_ACCOUNTS
- TERM_DEPOSITS
- CRED_AND_CHRG_CARDS
ParamXFapiInterationId:
name: x-fapi-interaction-id
in: header
description: Reflects the value of the Interaction ID in the request.
required: false
example: f688ae24-9719-4975-9f58-f6b7e655c37d
type: string
ParamXVHeader:
name: x-v
in: header
description: Version of the API end point being requested.
type: integer
example: 2
required: true
x-tagGroups:
- name: ''
tags:
- Accounts API