openapi: 3.0.3 info: title: CDR Banking Banking Account Balances Banking Products API version: 1.36.0 description: Specifications for resource endpoints applicable to data holders in the Banking sector. license: name: MIT License url: https://opensource.org/licenses/MIT contact: name: Data Standards Body email: contact@dsb.gov.au url: https://dsb.gov.au/ servers: - description: MTLS url: https://mtls.dh.example.com/cds-au/v1 tags: - name: Banking Products x-shortName: Products description: Banking Product endpoints paths: /banking/products: get: servers: - description: TLS url: https://tls.dh.example.com/cds-au/v1 tags: - Banking Products summary: Get Products description: 'Obtain a list of products that are currently openly offered to the market. Note that the results returned by this endpoint are expected to be ordered in descending order according to _lastUpdated_. ### Conventions In the product reference payloads there are a number of recurring conventions that are explained below. #### Arrays Of Features In the product detail payload there are a number of arrays articulating generic features, constraints, prices, etc. The intent of these arrays is as follows: - Each element in an array has the same structure so that clients can reliably interpret the payloads - Each element as a type element that is an enumeration of the specific aspect of a product being described, such as types of fees. - Each element has a field named [_additionalValue_](#productfeaturetypedoc). This is a generic field with contents that will vary based on the type of object being described. The contents of this field for the `ADDITIONAL_CARDS` feature is the number of cards allowed while the contents of this field for the `MAX_LIMIT` constraint would be the maximum credit limit allowed for the product. - An element in these arrays of the same type may appear more than once. For instance, a product may offer two separate loyalty programs that the customer can select from. A fixed term mortgage may have different rates for different term lengths. - An element in these arrays may contain an _additionalInfo_ and _additionalInfoUri_ field. The _additionalInfo_ field is used to provide displayable text clarifying the purpose of the element in some way when the product is presented to a customer. The _additionalInfoUri_ provides a link to externally hosted information specifically relevant to that feature of the product. - Depending on the type of data being represented there may be additional specific fields. #### URIs To More Information As the complexities and nuances of a financial product can not easily be fully expressed in a data structure without a high degree of complexity it is necessary to provide additional reference information that a potential customer can access so that they are fully informed of the features and implications of the product. The payloads for product reference therefore contain numerous fields that are provided to allow the product holder to describe the product more fully using a web page hosted on their online channels. These URIs do not need to all link to different pages. If desired, they can all link to a single hosted page and use different HTML anchors to focus on a specific topic such as eligibility or fees. #### Linkage To Accounts From the moment that a customer applies for a product and an account is created the account and the product that spawned it will diverge. Rates and features of the product may change and a discount may be negotiated for the account. For this reason, while _productCategory_ is a common field between accounts and products, there is no specific ID that can be used to link an account to a product within the regime. Similarly, many of the fields and objects in the product payload will appear in the account detail payload but the structures and semantics are not identical as one refers to a product that can potentially be originated and one refers to an account that actually has been instantiated and created along with the associated decisions inherent in that process. #### Dates It is expected that data consumers needing this data will call relatively frequently to ensure the data they have is representative of the current offering from a bank. To minimise the volume and frequency of these calls the ability to set a _lastUpdated_ field with the date and time of the last update to this product is included. A call for a list of products can then be filtered to only return products that have been updated since the last time that data was obtained using the _updated-since_ query parameter. In addition, the concept of effective date and time has also been included. This allows for a product to be marked for obsolescence, or introduction, from a certain time without the need for an update to show that a product has been changed. The inclusion of these dates also removes the need to represent deleted products in the payload. Products that are no longer offered can be marked not effective for a few weeks before they are then removed from the product set as an option entirely. Obsolete versions: [v1](includes/obsolete/get-products-v1.html), [v2](includes/obsolete/get-products-v2.html), [v3](includes/obsolete/get-products-v3.html), [v4](includes/obsolete/get-products-v4.html).' operationId: listBankingProducts parameters: - name: effective in: query description: Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the _effectiveFrom_ and _effectiveTo_ fields. Valid values are `CURRENT`, `FUTURE` and `ALL`. If absent defaults to `CURRENT`. schema: type: string default: CURRENT enum: - ALL - CURRENT - FUTURE - name: updated-since in: query description: Only include products that have been updated after the specified date and time. If absent defaults to include all products. schema: type: string x-cds-type: DateTimeString - name: brand in: query description: Filter results based on a specific brand. schema: type: string - $ref: '#/components/parameters/QueryBankingProductCategory' - $ref: '#/components/parameters/QueryPage' - $ref: '#/components/parameters/QueryPageSize' - $ref: '#/components/parameters/HeaderXV' - $ref: '#/components/parameters/HeaderXMinV' responses: '200': $ref: '#/components/responses/ListBankingProducts200' '400': $ref: '#/components/responses/ListBankingProducts400' '406': $ref: '#/components/responses/ListBankingProducts406' '422': $ref: '#/components/responses/ListBankingProducts422' x-version: '5' /banking/products/{productId}: get: servers: - description: TLS url: https://tls.dh.example.com/cds-au/v1 tags: - Banking Products summary: Get Product Detail description: 'Obtain detailed information on a single product offered openly to the market. Obsolete versions: [v1](includes/obsolete/get-product-detail-v1.html), [v2](includes/obsolete/get-product-detail-v2.html), [v3](includes/obsolete/get-product-detail-v3.html), [v4](includes/obsolete/get-product-detail-v4.html), [v5](includes/obsolete/get-product-detail-v5.html), [v6](includes/obsolete/get-product-detail-v6.html).' operationId: getBankingProductDetail parameters: - name: productId in: path description: The _productId_ to obtain data for. _productId_ values are returned by product list endpoints. required: true schema: $ref: '#/components/schemas/BankingProductId' x-cds-type: ASCIIString - $ref: '#/components/parameters/HeaderXV' - $ref: '#/components/parameters/HeaderXMinV' responses: '200': $ref: '#/components/responses/GetBankingProductDetail200' '400': $ref: '#/components/responses/GetBankingProductDetail400' '404': $ref: '#/components/responses/GetBankingProductDetail404' '406': $ref: '#/components/responses/GetBankingProductDetail406' x-version: '7' components: schemas: BankingProductAdditionalInformationV2_additionalInformationUris: required: - additionalInfoUri type: object properties: description: type: string description: Display text providing more information about the document URI. additionalInfoUri: type: string description: The URI describing the additional information. x-cds-type: URIString BankingProductId: type: string description: A data holder-specific unique identifier for a Banking product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. x-cds-type: ASCIIString BankingProductDiscountV2: description: Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. required: - description - discountType - discountMethodUType type: object properties: description: type: string description: Description of the discount. discountType: type: string description: The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc). enum: - BALANCE - DEPOSITS - ELIGIBILITY_ONLY - FEE_CAP - PAYMENTS discountMethodUType: type: string description: Reference to the applicable fee discount method structure. enum: - fixedAmount - rateBased fixedAmount: description: Mandatory if the _discountMethodUType_ value is `fixedAmount`. Where the discount is a specific amount. allOf: - $ref: '#/components/schemas/BankingFeeDiscountAmount' rateBased: description: Mandatory if the _discountMethodUType_ value is `rateBased`. Where the discount is based on a type of rate. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. allOf: - $ref: '#/components/schemas/BankingFeeDiscountRate' additionalValue: type: string description: Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc). additionalInfo: type: string description: Display text providing more information on the discount. additionalInfoUri: type: string description: Link to a web page with more information on this discount. x-cds-type: URIString eligibility: type: array description: Eligibility constraints that apply to this discount. Mandatory if the [_discountType_](#tocSproductdiscounttypedoc) value is `ELIGIBILITY_ONLY`. items: $ref: '#/components/schemas/BankingProductDiscountEligibility' x-conditional: - fixedAmount - rateBased - additionalValue - eligibility Meta: type: object BankingFeeDiscountRate: type: object required: - rateType - rate properties: rateType: type: string description: Type of fee rate discount calculation. enum: - BALANCE - FEE - INTEREST_ACCRUED - TRANSACTION rate: type: string x-cds-type: RateString description: The fee rate discount calculated according to the _rateType_. amountRange: $ref: '#/components/schemas/BankingFeeDiscountRange' Links: required: - self type: object properties: self: type: string description: Fully qualified link that generated the current response document. x-cds-type: URIString BankingProductEligibilityV2: required: - eligibilityType type: object properties: eligibilityType: type: string description: The type of eligibility criteria described. For further details, refer to [Product Eligibility Types](#tocSproducteligibilitytypedoc). enum: - BUSINESS - EMPLOYMENT_STATUS - MAX_AGE - MIN_AGE - MIN_INCOME - MIN_TURNOVER - NATURAL_PERSON - OTHER - PENSION_RECIPIENT - RESIDENCY_STATUS - STAFF - STUDENT additionalValue: type: string description: Generic field containing additional information relevant to the [_eligibilityType_](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [_eligibilityType_](#tocSproducteligibilitytypedoc). additionalInfo: type: string description: Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the [_eligibilityType_](#tocSproducteligibilitytypedoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on this eligibility criteria. x-cds-type: URIString x-conditional: - additionalValue - additionalInfo ResponseBankingProductByIdV7: required: - data - links type: object properties: data: $ref: '#/components/schemas/BankingProductDetailV7' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' LinksPaginated: required: - self type: object properties: self: type: string description: Fully qualified link that generated the current response document. x-cds-type: URIString first: type: string description: URI to the first page of this set. Mandatory if this response is not the first page. x-cds-type: URIString prev: type: string description: URI to the previous page of this set. Mandatory if this response is not the first page. x-cds-type: URIString next: type: string description: URI to the next page of this set. Mandatory if this response is not the last page. x-cds-type: URIString last: type: string description: URI to the last page of this set. Mandatory if this response is not the last page. x-cds-type: URIString x-conditional: - prev - next - first - last BankingFeeRate: type: object required: - rateType - rate properties: rateType: type: string description: Type of fee rate calculation. enum: - BALANCE - INTEREST_ACCRUED - TRANSACTION rate: type: string x-cds-type: RateString description: The fee rate calculated according to the _rateType_. accrualFrequency: type: string 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). x-cds-type: ExternalRef amountRange: $ref: '#/components/schemas/BankingFeeRange' x-conditional: - balanceRate - transactionRate - accruedRate BankingProductAdditionalInformationV2: type: object properties: overviewUri: type: string description: General overview of the product. Mandatory if _additionalOverviewUris_ includes one or more supporting documents. x-cds-type: URIString termsUri: type: string description: Terms and conditions for the product. Mandatory if _additionalTermsUris_ includes one or more supporting documents. x-cds-type: URIString eligibilityUri: type: string description: Eligibility rules and criteria for the product. Mandatory if _additionalEligibilityUris_ includes one or more supporting documents. x-cds-type: URIString feesAndPricingUri: type: string description: Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if _additionalFeesAndPricingUris_ includes one or more supporting documents. x-cds-type: URIString bundleUri: type: string description: Description of a bundle that this product can be part of. Mandatory if _additionalBundleUris_ includes one or more supporting documents. x-cds-type: URIString additionalOverviewUris: type: array description: An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the _overviewUri_. Only to be used if there is a primary _overviewUri_. items: $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris' additionalTermsUris: type: array description: An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the _termsUri_. Only to be used if there is a primary _termsUri_. items: $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris' additionalEligibilityUris: type: array description: An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the _eligibilityUri_. Only to be used if there is a primary _eligibilityUri_. items: $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris' additionalFeesAndPricingUris: type: array description: An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the _feesAndPricingUri_. Only to be used if there is a primary _feesAndPricingUri_. items: $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris' additionalBundleUris: type: array description: An array of additional bundles for the product, if applicable. To be treated as secondary documents to the _bundleUri_. Only to be used if there is a primary _bundleUri_. items: $ref: '#/components/schemas/BankingProductAdditionalInformationV2_additionalInformationUris' description: Object that contains links to additional information on specific topics. x-conditional: - overviewUri - termsUri - eligibilityUri - feesAndPricingUri - bundleUri BankingProductDepositRateV2: required: - depositRateType - rate - applicationType type: object properties: depositRateType: type: string description: The type of rate (`FIXED`, `VARIABLE`, `BONUS`, etc.) For further details, refer to [Product Deposit Rate Types](#tocSproductdepositratetypedoc). enum: - BONUS - BUNDLE_BONUS - FIXED - FLOATING - INTRODUCTORY - MARKET_LINKED - VARIABLE example: VARIABLE rate: type: string description: The rate to be applied. x-cds-type: RateString calculationFrequency: type: string description: The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). x-cds-type: ExternalRef applicationType: type: string description: The type of approach used to apply the rate to the account. enum: - MATURITY - PERIODIC - UPFRONT example: PERIODIC applicationFrequency: type: string description: The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Mandatory if the _applicationType_ value is `PERIODIC`. x-cds-type: ExternalRef tiers: type: array description: Qualifying criteria or conditions relevant to the associated rate. items: $ref: '#/components/schemas/BankingProductRateTierV4' applicabilityConditions: type: array description: Applicability conditions for the rate. items: $ref: '#/components/schemas/BankingProductRateConditionV2' additionalValue: type: string description: Generic field containing additional information relevant to the [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc). additionalInfo: type: string description: Display text providing more information on the rate. additionalInfoUri: type: string description: Link to a web page with more information on this rate. x-cds-type: URIString x-conditional: - additionalValue - applicationFrequency ErrorV2: type: object required: - code - title - detail x-conditional: - meta properties: code: type: string description: The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. title: type: string description: A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. detail: type: string description: A human-readable explanation specific to this occurrence of the problem. meta: type: object x-conditional: - urn description: Additional data for customised error codes. properties: urn: type: string description: The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. BankingProductInstalments: description: Details of instalment features on the account. required: - minimumSplit - maximumSplit type: object properties: maximumConcurrentPlans: type: integer description: Maximum number of concurrent active instalment plans that may be created on the account. If `null`, there is no predetermined maximum number. x-cds-type: NaturalNumber instalmentsLimit: type: string 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. x-cds-type: AmountString minimumPlanValue: type: string description: Minimum value that can be opened as an instalment plan. x-cds-type: AmountString maximumPlanValue: type: string 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. x-cds-type: AmountString minimumSplit: type: integer description: Minimum number of instalment payments a plan can be created with. x-cds-type: PositiveInteger example: 4 maximumSplit: type: integer description: Maximum number of instalment payments a plan can be created with. x-cds-type: PositiveInteger example: 4 BankingProductLendingRateV3: required: - lendingRateType - rate - applicationType - repaymentType - loanPurpose type: object properties: lendingRateType: type: string description: The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc). enum: - BALANCE_TRANSFER - BUNDLE_DISCOUNT_FIXED - BUNDLE_DISCOUNT_VARIABLE - CASH_ADVANCE - DISCOUNT - FIXED - FLOATING - INTRODUCTORY - MARKET_LINKED - PENALTY - PURCHASE - VARIABLE example: FIXED rate: type: string description: The rate to be applied. x-cds-type: RateString comparisonRate: type: string description: A comparison rate equivalent for this rate. x-cds-type: RateString calculationFrequency: type: string description: The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). x-cds-type: ExternalRef applicationType: type: string description: The type of approach used to apply the rate to the account. enum: - MATURITY - PERIODIC - UPFRONT example: PERIODIC applicationFrequency: type: string description: The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Mandatory if the _applicationType_ value is `PERIODIC`. x-cds-type: ExternalRef interestPaymentDue: type: string description: When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered. enum: - IN_ADVANCE - IN_ARREARS repaymentType: type: string description: Option in place for repayments. enum: - INTEREST_ONLY - OTHER - PRINCIPAL_AND_INTEREST - UNCONSTRAINED loanPurpose: type: string description: The reason for taking out the loan. enum: - INVESTMENT - OTHER - OWNER_OCCUPIED - UNCONSTRAINED tiers: type: array description: Qualifying criteria or conditions relevant to the associated rate. items: $ref: '#/components/schemas/BankingProductRateTierV4' applicabilityConditions: type: array description: Applicability conditions for the rate. items: $ref: '#/components/schemas/BankingProductRateConditionV2' additionalValue: type: string description: Generic field containing additional information relevant to the [_lendingRateType_](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [_lendingRateType_](#tocSproductlendingratetypedoc). additionalInfo: type: string description: Display text providing more information on the rate. additionalInfoUri: type: string description: Link to a web page with more information on this rate. x-cds-type: URIString x-conditional: - additionalValue - applicationFrequency BankingProductDiscountEligibility: required: - discountEligibilityType type: object properties: discountEligibilityType: type: string description: The type of the specific eligibility constraint for a discount. For further details, refer to [Product Discount Eligibility Types](#tocSproductdiscounteligibilitydoc). enum: - BUSINESS - EMPLOYMENT_STATUS - INTRODUCTORY - MAX_AGE - MIN_AGE - MIN_INCOME - MIN_TURNOVER - NATURAL_PERSON - OTHER - PENSION_RECIPIENT - RESIDENCY_STATUS - STAFF - STUDENT additionalValue: type: string description: Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). additionalInfo: type: string description: Display text providing more information on this eligibility constraint. Mandatory if the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on this eligibility constraint. x-cds-type: URIString x-conditional: - additionalInfo - additionalValue BankingProductRateTierV4: required: - minimumValue - name - unitOfMeasure type: object properties: name: type: string description: A display name for the tier. unitOfMeasure: type: string description: The unit of measure that applies to the _minimumValue_ and _maximumValue_ values, e.g., enum: - DAY - DOLLAR - MONTH - PERCENT minimumValue: type: string description: The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value. maximumValue: type: string description: 'The number of _unitOfMeasure_ 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 _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier''s range has no upper bound.' rateApplicationMethod: type: string description: The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps'). enum: - PER_TIER - WHOLE_BALANCE applicabilityConditions: type: array description: Applicability conditions for the rate tier. items: $ref: '#/components/schemas/BankingProductRateConditionV2' additionalInfo: type: string description: Display text providing more information on the rate tier. additionalInfoUri: type: string description: Link to a web page with more information on this rate tier. x-cds-type: URIString description: Defines the criteria and conditions for which a rate applies. BankingProductFeeV2: required: - name - feeType - feeMethodUType type: object properties: name: type: string description: Name of the fee. feeType: type: string description: The type of fee. For further details, refer to [Product Fee Types](#tocSproductfeetypedoc). enum: - CASH_ADVANCE - DEPOSIT - DISHONOUR - ENQUIRY - EVENT - EXIT - LATE_PAYMENT - OTHER - PAYMENT - PERIODIC - PURCHASE - REPLACEMENT - TRANSACTION - UPFRONT - UPFRONT_PER_PLAN - VARIATION - WITHDRAWAL example: CASH_ADVANCE feeMethodUType: type: string description: Reference to the applicable fee charging method structure. enum: - fixedAmount - rateBased - variable fixedAmount: description: Mandatory if the _feeMethodUType_ value is `fixedAmount`. Where the fee is a specific amount. allOf: - $ref: '#/components/schemas/BankingFeeAmount' rateBased: description: Mandatory if the _feeMethodUType_ value is `rateBased`. Where the fee is based on a type of rate. allOf: - $ref: '#/components/schemas/BankingFeeRate' variable: description: Mandatory if the _feeMethodUType_ value is `variable`. Where the amount or rate may not be known until the fee is incurred. allOf: - $ref: '#/components/schemas/BankingFeeRange' feeCap: type: string description: The cap amount if multiple occurrences of the fee are capped to a limit. x-cds-type: AmountString feeCapPeriod: type: string description: Specifies a duration over which multiple occurrences of the fee will be capped. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). x-cds-type: ExternalRef currency: type: string description: The currency the fee will be charged in. Assumes `AUD` if absent. default: AUD x-cds-type: CurrencyString additionalValue: type: string description: Generic field containing additional information relevant to the [_feeType_](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [_feeType_](#tocSproductfeetypedoc). additionalInfo: type: string description: Display text providing more information on the fee. Mandatory if the [_feeType_](#tocSproductfeetypedoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on this fee. x-cds-type: URIString discounts: type: array description: An optional list of discounts to this fee that may be available. items: $ref: '#/components/schemas/BankingProductDiscountV2' x-conditional: - fixedAmount - rateBased - variable - additionalValue - additionalInfo BankingFeeRange: type: object description: A minimum or maximum fee amount where a specific fixed amount is not known until the fee is incurred. properties: feeMinimum: type: string description: The minimum fee that will be charged per occurrence. x-cds-type: AmountString feeMaximum: type: string description: The maximum fee that will be charged per occurrence. x-cds-type: AmountString BankingProductCardArt: required: - cardScheme - cardType - imageUri type: object properties: cardScheme: type: string description: Card scheme available with the account. enum: - AMEX - EFTPOS - MASTERCARD - VISA - OTHER cardType: type: string description: Card type available with the account. enum: - CHARGE - CREDIT - DEBIT title: type: string description: Display label for the specific image. imageUri: type: string description: URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI according to **[[RFC2397]](#nref-RFC2397)**. x-cds-type: URIString BankingProductCategoryV2: type: string description: The category to which a product or account belongs. See [here](#product-categories) for more details. enum: - BUSINESS_LOANS - BUY_NOW_PAY_LATER - CRED_AND_CHRG_CARDS - LEASES - MARGIN_LOANS - OVERDRAFTS - PERS_LOANS - REGULATED_TRUST_ACCOUNTS - RESIDENTIAL_MORTGAGES - TERM_DEPOSITS - TRADE_FINANCE - TRANS_AND_SAVINGS_ACCOUNTS - TRAVEL_CARDS BankingFeeDiscountAmount: type: object required: - amount properties: amount: type: string description: The specific amount discounted from the fee each time it is incurred. x-cds-type: AmountString MetaPaginated: required: - totalPages - totalRecords type: object properties: totalRecords: type: integer description: The total number of records in the full set. See [pagination](#pagination). x-cds-type: NaturalNumber totalPages: type: integer description: The total number of pages in the full set. See [pagination](#pagination). x-cds-type: NaturalNumber BankingFeeAmount: type: object required: - amount properties: amount: type: string description: The specific amount charged for the fee each time it is incurred. x-cds-type: AmountString BankingProductDetailV7: allOf: - $ref: '#/components/schemas/BankingProductV6' - type: object properties: bundles: type: array description: An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of _productID_ values of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. items: $ref: '#/components/schemas/BankingProductBundle' features: type: array description: Array of features and limitations of the product. items: $ref: '#/components/schemas/BankingProductFeatureV4' constraints: type: array description: Constraints on the application for the product such as minimum balances or limit thresholds. items: $ref: '#/components/schemas/BankingProductConstraintV3' eligibility: type: array description: Eligibility criteria for the product. items: $ref: '#/components/schemas/BankingProductEligibilityV2' fees: type: array description: Fees applicable to the product. items: $ref: '#/components/schemas/BankingProductFeeV2' depositRates: type: array description: Interest rates available for deposits. items: $ref: '#/components/schemas/BankingProductDepositRateV2' lendingRates: type: array description: Interest rates charged against lending balances. items: $ref: '#/components/schemas/BankingProductLendingRateV3' instalments: $ref: '#/components/schemas/BankingProductInstalments' BankingProductRateConditionV2: type: object description: Defines a condition for the applicability of a rate. properties: rateApplicabilityType: type: string description: Category of applicability condition associated with the rate. For more information refer to [Rate and Tier Applicability Types](#tocSbankingproductrateconditiondoc). enum: - MIN_DEPOSITS - MIN_DEPOSIT_AMOUNT - DEPOSIT_BALANCE_INCREASED - EXISTING_CUST - NEW_ACCOUNTS - NEW_CUSTOMER - NEW_CUSTOMER_TO_GROUP - ONLINE_ONLY - OTHER - MIN_PURCHASES - MAX_WITHDRAWALS - MAX_WITHDRAWAL_AMOUNT example: NEW_CUSTOMER additionalValue: type: string description: Generic field containing additional information relevant to the _rateApplicabilityType_ specified. Whether mandatory or not is dependent on the value of [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc). additionalInfo: type: string description: Display text providing more information on the condition. Mandatory if the [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on this condition. x-cds-type: URIString required: - rateApplicabilityType x-conditional: - additionalValue - additionalInfo BankingFeeDiscountRange: type: object description: A minimum or maximum fee discount amount where a specific fixed amount is not known until the fee is incurred. properties: discountMinimum: type: string description: The minimum fee discount that will be applied per occurrence. x-cds-type: AmountString discountMaximum: type: string description: The maximum fee discount that will be applied per occurrence. x-cds-type: AmountString BankingProductBundle: required: - description - name type: object 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. x-cds-type: URIString productIds: type: array description: Array of _productID_ values for products included in the bundle that are available via the product endpoints. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference endpoints. items: $ref: '#/components/schemas/BankingProductId' BankingProductV6: required: - brand - description - isTailored - lastUpdated - name - productCategory - productId type: object properties: productId: $ref: '#/components/schemas/BankingProductId' effectiveFrom: type: string description: The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. x-cds-type: DateTimeString effectiveTo: type: string description: The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products. x-cds-type: DateTimeString lastUpdated: type: string description: The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered). x-cds-type: DateTimeString productCategory: $ref: '#/components/schemas/BankingProductCategoryV2' name: type: string description: The display name of the product. description: type: string description: A description of the product. brand: type: string description: A label of the brand for the product. Able to be used for filtering. For data holders with single brands this value is still required. brandName: type: string description: An optional display name of the brand. brandGroup: type: string x-cds-type: ASCIIString description: The *brandGroup* of a consumer data sharing brand that the product is associated with. applicationUri: type: string description: A link to an application web page where this product can be applied for. x-cds-type: URIString isTailored: type: boolean description: Indicates whether the product is specifically tailored to a circumstance. In this case fees and prices are significantly negotiated depending on context. While all products are open to a degree of tailoring this flag indicates that tailoring is expected and thus that the provision of specific fees and rates is not applicable. additionalInformation: $ref: '#/components/schemas/BankingProductAdditionalInformationV2' cardArt: type: array description: Information about any cards available with the account. items: $ref: '#/components/schemas/BankingProductCardArt' ResponseBankingProductListV4: required: - data - links - meta type: object properties: data: required: - products type: object properties: products: type: array description: The list of products returned. If the filter results in an empty set then this array may have no records. items: $ref: '#/components/schemas/BankingProductV6' links: $ref: '#/components/schemas/LinksPaginated' meta: $ref: '#/components/schemas/MetaPaginated' ResponseErrorListV2: type: object required: - errors properties: errors: description: List of errors. type: array items: $ref: '#/components/schemas/ErrorV2' BankingProductFeatureV4: required: - featureType type: object properties: featureType: type: string description: The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). enum: - ADDITIONAL_CARDS - BALANCE_TRANSFERS - BILL_PAYMENT - BONUS_REWARDS - CARD_ACCESS - CASHBACK_OFFER - COMPLEMENTARY_PRODUCT_DISCOUNTS - EXTRA_DOWN_PAYMENT - DIGITAL_BANKING - DIGITAL_WALLET - DONATE_INTEREST - EXTRA_REPAYMENTS - FRAUD_PROTECTION - FREE_TXNS - FREE_TXNS_ALLOWANCE - FUNDS_AVAILABLE_AFTER - GUARANTOR - INSTALMENT_PLAN - INSURANCE - INTEREST_FREE - INTEREST_FREE_TRANSFERS - LOYALTY_PROGRAM - NOTIFICATIONS - NPP_ENABLED - NPP_PAYID - OFFSET - OTHER - OVERDRAFT - REDRAW - RELATIONSHIP_MANAGEMENT - UNLIMITED_TXNS additionalValue: type: string description: Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). additionalInfo: type: string description: Display text providing more information on the feature. Mandatory if the [_featureType_](#tocSproductfeaturetypedoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on this feature. x-cds-type: URIString x-conditional: - additionalValue - additionalInfo BankingProductConstraintV3: required: - constraintType type: object properties: constraintType: type: string description: The type of constraint described. For further details, refer to [Product Constraint Types](#tocSproductconstrainttypedoc). enum: - MAX_BALANCE - MAX_LIMIT - MAX_LVR - MIN_BALANCE - MIN_LIMIT - MIN_LVR - OPENING_BALANCE - OTHER additionalValue: type: string description: Generic field containing additional information relevant to the [_constraintType_](#tocSproductconstrainttypedoc) specified. Whether mandatory or not is dependent on the value of [_constraintType_](#tocSproductconstrainttypedoc). additionalInfo: type: string description: Display text providing more information on the constraint. Mandatory if the [_constraintType_](#tocSproductconstrainttypedoc) value is `OTHER`. additionalInfoUri: type: string description: Link to a web page with more information on the constraint. x-cds-type: URIString x-conditional: - additionalValue - additionalInfo responses: GetBankingProductDetail404: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' ListBankingProducts406: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' ListBankingProducts400: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' ListBankingProducts200: description: Successful response headers: x-v: $ref: '#/components/headers/XV' content: application/json: schema: $ref: '#/components/schemas/ResponseBankingProductListV4' ListBankingProducts422: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' GetBankingProductDetail200: description: Successful response headers: x-v: $ref: '#/components/headers/XV' content: application/json: schema: $ref: '#/components/schemas/ResponseBankingProductByIdV7' GetBankingProductDetail406: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' GetBankingProductDetail400: description: The following error codes **MUST** be supported:
content: application/json: schema: $ref: '#/components/schemas/ResponseErrorListV2' parameters: QueryBankingProductCategory: name: product-category in: query 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. schema: $ref: '#/components/schemas/BankingProductCategoryV2' HeaderXV: name: x-v in: header 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). required: true schema: type: string HeaderXMinV: name: x-min-v in: header 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`. schema: type: string QueryPageSize: name: page-size in: query description: Page size to request. Default is 25 (standard pagination). schema: type: integer default: 25 x-cds-type: PositiveInteger QueryPage: name: page in: query description: Page of results to request (standard pagination). schema: type: integer default: 1 x-cds-type: PositiveInteger headers: XV: description: The [payload version](#response-headers) that the endpoint has responded with. required: true schema: type: string