Auswide Bank Banking Accounts API
Banking Account endpoints
Banking Account endpoints
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:
ErrorV2_meta:
description: Additional data for customised error codes.
properties:
urn:
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.
type: string
type: object
x-conditional:
- urn
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
Meta:
type: object
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
Links:
properties:
self:
description: Fully qualified link that generated the current response document.
type: string
x-cds-type: URIString
required:
- self
type: object
CommonSimpleAddress:
description: Mandatory if the _addressUType_ value is `simple`.
properties:
mailingName:
description: Name of the individual or business formatted for inclusion in an address used for physical mail.
type: string
addressLine1:
description: First line of the standard address object.
type: string
addressLine2:
description: Second line of the standard address object.
type: string
addressLine3:
description: Third line of the standard address object.
type: string
postcode:
description: Mandatory for Australian addresses.
type: string
city:
description: Name of the city or locality.
type: string
state:
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`.
type: string
country:
default: AUS
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.
type: string
x-cds-type: ExternalRef
required:
- addressLine1
- city
- state
type: object
x-conditional:
- postcode
LinksPaginated:
properties:
self:
description: Fully qualified link that generated the current response document.
type: string
x-cds-type: URIString
first:
description: URI to the first page of this set. Mandatory if this response is not the first page.
type: string
x-cds-type: URIString
prev:
description: URI to the previous page of this set. Mandatory if this response is not the first page.
type: string
x-cds-type: URIString
next:
description: URI to the next page of this set. Mandatory if this response is not the last page.
type: string
x-cds-type: URIString
last:
description: URI to the last page of this set. Mandatory if this response is not the last page.
type: string
x-cds-type: URIString
required:
- self
type: object
x-conditional:
- prev
- next
- first
- last
BankingAccountDetailV5:
allOf:
- $ref: '#/components/schemas/BankingAccountV3'
- $ref: '#/components/schemas/BankingAccountDetailV5_allOf'
ResponseBankingAccountByIdV5:
properties:
data:
$ref: '#/components/schemas/BankingAccountDetailV5'
links:
$ref: '#/components/schemas/Links'
meta:
$ref: '#/components/schemas/Meta'
required:
- data
- links
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
BankingProductDepositRateV2:
properties:
depositRateType:
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
type: string
rate:
description: The rate to be applied.
type: string
x-cds-type: RateString
calculationFrequency:
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).
type: string
x-cds-type: ExternalRef
applicationType:
description: The type of approach used to apply the rate to the account.
enum:
- MATURITY
- PERIODIC
- UPFRONT
example: PERIODIC
type: string
applicationFrequency:
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`.
type: string
x-cds-type: ExternalRef
tiers:
description: Qualifying criteria or conditions relevant to the associated rate.
items:
$ref: '#/components/schemas/BankingProductRateTierV4'
type: array
applicabilityConditions:
description: Applicability conditions for the rate.
items:
$ref: '#/components/schemas/BankingProductRateConditionV2'
type: array
additionalValue:
description: Generic field containing additional information relevant to the [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc).
type: string
additionalInfo:
description: Display text providing more information on the rate.
type: string
additionalInfoUri:
description: Link to a web page with more information on this rate.
type: string
x-cds-type: URIString
required:
- applicationType
- depositRateType
- rate
type: object
x-conditional:
- additionalValue
- applicationFrequency
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
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: '#/components/schemas/BankingLoanAccountV3'
description: Mandatory if the _specificAccountUType_ value is `loan`.
depositRate:
description: Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call.
type: string
x-cds-type: RateString
lendingRate:
description: The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call.
type: string
x-cds-type: RateString
depositRates:
description: Fully described deposit rates for this account based on the equivalent structure in Product Reference.
items:
$ref: '#/components/schemas/BankingProductDepositRateV2'
type: array
lendingRates:
description: Fully described lending rates for this account based on the equivalent structure in Product Reference.
items:
$ref: '#/components/schemas/BankingProductLendingRateV3'
type: array
features:
description: Array of features of the account based on the equivalent structure in Product Reference with the following additional field.
items:
allOf:
- $ref: '#/components/schemas/BankingProductFeatureV4'
- properties:
isActivated:
default: UNKNOWN
description: <ul><li>`ACTIVATED` if the feature has been activated by the customer or is a standard feature of the product</li><li>`NOT_ACTIVATED` if the feature is not activated but is available for activation</li><li>`UNKNOWN` or absent if the activation state is unknown.</ul>**Note:** This is an additional field appended to the feature structure defined in the Product Reference payload.
enum:
- ACTIVATED
- NOT_ACTIVATED
- UNKNOWN
type: string
type: object
type: object
type: array
fees:
description: Fees and charges applicable to the account based on the equivalent structure in Product Reference.
items:
$ref: '#/components/schemas/BankingProductFeeV2'
type: array
addresses:
description: The addresses for the account to be used for correspondence.
items:
$ref: '#/components/schemas/CommonPhysicalAddress'
type: array
type: object
x-conditional:
- termDeposit
- creditCard
- loan
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
BankingProductInstalments:
description: Details of instalment features on the account.
properties:
maximumConcurrentPlans:
description: Maximum number of concurrent active instalment plans that may be created on the account. If `null`, there is no predetermined maximum number.
type: integer
x-cds-type: NaturalNumber
instalmentsLimit:
description: Maximum combined limit of all instalment plans that may be created on the account. If `null` or not present, an opened account balance _creditLimit_ may be assumed to provide a maximum limit for instalments.
type: string
x-cds-type: AmountString
minimumPlanValue:
description: Minimum value that can be opened as an instalment plan.
type: string
x-cds-type: AmountString
maximumPlanValue:
description: Maximum value that can be opened as an instalment plan. If `null` or not present, _instalmentsLimit_ is assumed to be the maximum individual plan value.
type: string
x-cds-type: AmountString
minimumSplit:
description: Minimum number of instalment payments a plan can be created with.
example: 4
type: integer
x-cds-type: PositiveInteger
maximumSplit:
description: Maximum number of instalment payments a plan can be created with.
example: 4
type: integer
x-cds-type: PositiveInteger
required:
- maximumSplit
- minimumSplit
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
BankingAccountId:
description: A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements.
typ
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/auswide-bank/refs/heads/main/openapi/auswide-bank-banking-accounts-api-openapi.yml