openapi: 3.0.3
info:
title: CDR Banking Banking Account Balances Banking Account Scheduled Payments 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 Account Scheduled Payments
x-shortName: Scheduled Payments
description: Banking Account Scheduled Payment endpoints
paths:
/banking/accounts/{accountId}/payments/scheduled:
get:
tags:
- Banking Account Scheduled Payments
summary: Get Scheduled Payments for Account
description: 'Obtain scheduled, outgoing payments for a specific account.
Obsolete versions: [v1](includes/obsolete/get-scheduled-payments-for-account-v1.html).'
operationId: listScheduledPayments
parameters:
- $ref: '#/components/parameters/PathAccountId'
- $ref: '#/components/parameters/QueryPage'
- $ref: '#/components/parameters/QueryPageSize'
- $ref: '#/components/parameters/HeaderXV'
- $ref: '#/components/parameters/HeaderXMinV'
- $ref: '#/components/parameters/HeaderXFAPIInteractionId'
- $ref: '#/components/parameters/HeaderXFAPIAuthDate'
- $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
- $ref: '#/components/parameters/HeaderXCDSClientHeaders'
responses:
'200':
$ref: '#/components/responses/ListScheduledPayments200'
'400':
$ref: '#/components/responses/ListScheduledPayments400'
'404':
$ref: '#/components/responses/ListScheduledPayments404'
'406':
$ref: '#/components/responses/ListScheduledPayments406'
'422':
$ref: '#/components/responses/ListScheduledPayments422'
x-scopes:
- bank:regular_payments:read
x-version: '2'
/banking/payments/scheduled:
get:
tags:
- Banking Account Scheduled Payments
summary: Get Scheduled Payments Bulk
description: 'Obtain scheduled payments for multiple, filtered accounts that are the source of funds for the payments.
Obsolete versions: [v1](includes/obsolete/get-scheduled-payments-bulk-v1.html), [v2](includes/obsolete/get-scheduled-payments-bulk-v2.html).'
operationId: listScheduledPaymentsBulk
parameters:
- $ref: '#/components/parameters/QueryBankingProductCategory'
- $ref: '#/components/parameters/QueryBankingAccountOpenStatus'
- $ref: '#/components/parameters/QueryBankingAccountIsOwned'
- $ref: '#/components/parameters/QueryPage'
- $ref: '#/components/parameters/QueryPageSize'
- $ref: '#/components/parameters/HeaderXV'
- $ref: '#/components/parameters/HeaderXMinV'
- $ref: '#/components/parameters/HeaderXFAPIInteractionId'
- $ref: '#/components/parameters/HeaderXFAPIAuthDate'
- $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
- $ref: '#/components/parameters/HeaderXCDSClientHeaders'
responses:
'200':
$ref: '#/components/responses/ListScheduledPaymentsBulk200'
'400':
$ref: '#/components/responses/ListScheduledPaymentsBulk400'
'406':
$ref: '#/components/responses/ListScheduledPaymentsBulk406'
'422':
$ref: '#/components/responses/ListScheduledPaymentsBulk422'
x-scopes:
- bank:regular_payments:read
x-version: '3'
post:
tags:
- Banking Account Scheduled Payments
summary: Get Scheduled Payments For Specific Accounts
description: 'Obtain scheduled payments for a specified list of accounts.
Obsolete versions: [v1](includes/obsolete/get-scheduled-payments-for-specific-accounts-v1.html).'
operationId: listScheduledPaymentsSpecificAccounts
parameters:
- $ref: '#/components/parameters/QueryPage'
- $ref: '#/components/parameters/QueryPageSize'
- $ref: '#/components/parameters/HeaderXV'
- $ref: '#/components/parameters/HeaderXMinV'
- $ref: '#/components/parameters/HeaderXFAPIInteractionId'
- $ref: '#/components/parameters/HeaderXFAPIAuthDate'
- $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
- $ref: '#/components/parameters/HeaderXCDSClientHeaders'
requestBody:
$ref: '#/components/requestBodies/RequestAccountIds'
responses:
'200':
$ref: '#/components/responses/ListScheduledPaymentsSpecificAccounts200'
'400':
$ref: '#/components/responses/ListScheduledPaymentsSpecificAccounts400'
'406':
$ref: '#/components/responses/ListScheduledPaymentsSpecificAccounts406'
'422':
$ref: '#/components/responses/ListScheduledPaymentsSpecificAccounts422'
x-scopes:
- bank:regular_payments:read
x-version: '2'
/banking/accounts/{accountId}/payments/plans:
get:
tags:
- Banking Account Scheduled Payments
summary: Get Instalment Plans for Account
description: Obtain instalment plans for a single specified account. The response **MUST** be ordered by plan _creationDate_ in descending order. If _isInstalmentDetailAvailable_ was specified as `true` for the provided _accountId_ but no plans match the provided parameters, an empty array **MUST** be returned. If _isInstalmentDetailAvailable_ was specified as `false` for the provided _accountId_, then the endpoint **MAY** respond with [404 - Resource Not Implemented](#error-404-resource-not-implemented).
operationId: listInstalmentPlans
parameters:
- $ref: '#/components/parameters/PathAccountId'
- $ref: '#/components/parameters/QueryPlanStatus'
- $ref: '#/components/parameters/QueryPage'
- $ref: '#/components/parameters/QueryPageSize'
- $ref: '#/components/parameters/HeaderXV'
- $ref: '#/components/parameters/HeaderXMinV'
- $ref: '#/components/parameters/HeaderXFAPIInteractionId'
- $ref: '#/components/parameters/HeaderXFAPIAuthDate'
- $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
- $ref: '#/components/parameters/HeaderXCDSClientHeaders'
responses:
'200':
$ref: '#/components/responses/ListInstalmentPlans200'
'400':
$ref: '#/components/responses/ListInstalmentPlans400'
'404':
$ref: '#/components/responses/ListInstalmentPlans404'
'406':
$ref: '#/components/responses/ListInstalmentPlans406'
'422':
$ref: '#/components/responses/ListInstalmentPlans422'
x-scopes:
- bank:regular_payments:read
x-version: '1'
/banking/accounts/payments/plans:
get:
tags:
- Banking Account Scheduled Payments
summary: Get Instalment Plans Bulk
description: Obtain instalment plans for multiple accounts. The response **MUST** be ordered by plan _creationDate_ in descending order. If instalments are not supported for any account type, the endpoint **MAY** respond with [404 - Resource Not Implemented](#error-404-resource-not-implemented).
operationId: listInstalmentPlansBulk
parameters:
- $ref: '#/components/parameters/QueryPlanStatus'
- $ref: '#/components/parameters/QueryPage'
- $ref: '#/components/parameters/QueryPageSize'
- $ref: '#/components/parameters/HeaderXV'
- $ref: '#/components/parameters/HeaderXMinV'
- $ref: '#/components/parameters/HeaderXFAPIInteractionId'
- $ref: '#/components/parameters/HeaderXFAPIAuthDate'
- $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
- $ref: '#/components/parameters/HeaderXCDSClientHeaders'
responses:
'200':
$ref: '#/components/responses/ListInstalmentPlansBulk200'
'400':
$ref: '#/components/responses/ListInstalmentPlansBulk400'
'406':
$ref: '#/components/responses/ListInstalmentPlansBulk406'
'422':
$ref: '#/components/responses/ListInstalmentPlansBulk422'
x-scopes:
- bank:regular_payments:read
x-version: '1'
components:
schemas:
BankingDomesticPayeeAccount:
required:
- accountNumber
- bsb
type: object
properties:
accountName:
type: string
description: Name of the account to pay to.
bsb:
type: string
description: BSB of the account to pay to.
accountNumber:
type: string
description: Number of the account to pay to.
BankingPayeeId:
type: string
description: A unique identifier for a Banking payee, generated according to [CDR ID Permanence](#id-permanence) requirements.
x-cds-type: ASCIIString
BankingInstalmentPlan:
required:
- accountId
- planId
- planReference
- merchantName
- planNickname
- creationDate
- amount
- duration
- instalmentInterval
- schedule
type: object
properties:
accountId:
description: Unique identifier for the account.
allOf:
- $ref: '#/components/schemas/BankingAccountId'
planId:
description: Unique identifier for this plan in accordance with ID Permanence requirements.
allOf:
- $ref: '#/components/schemas/BankingInstalmentPlanId'
planReference:
type: string
description: Unique purchase or order number for this plan, aligned to other channels.
merchantName:
type: string
description: Name of the merchant associated with the instalment plan.
merchantCategoryCode:
type: string
description: The merchant category code (MCC) for the merchant associated with the instalment plan.
planNickname:
type: string
description: The short display name of the plan as provided by the customer. Where a customer has not provided a nickname, a display name derived by the data holder consistent with other channels.
creationDate:
type: string
description: The date the plan was created.
x-cds-type: DateString
amount:
type: string
description: The original transaction amount the instalment plan was created for, including any upfront payment. E.g., For a $100 purchase split into four repayments, this would be `100.00`.
x-cds-type: AmountString
planCurrency:
type: string
description: The currency of the plan amount. If absent assumed to be `AUD`.
default: AUD
x-cds-type: CurrencyString
planCharge:
type: string
description: Any charges incorporated into the scheduled amounts due, excluding other fees. E.g., If the consumer agrees to repay a $100 purchase plus a $5 charge split across four instalments, this would be `5.00`.
x-cds-type: AmountString
planRate:
type: string
description: If displayed to the consumer, the percentage value of any charges incorporated into the scheduled amounts due, excluding other fees. E.g., If the consumer agrees to repay a $1000 purchase plus 10% interest split across twelve instalments, this would be `0.1`.
x-cds-type: RateString
duration:
type: string
description: The expected repayment period as at the creation of the plan. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). E.g., For a further three fortnightly repayments from the _creationDate_, this would be `P6W`.
x-cds-type: ExternalRef
instalmentInterval:
type: string
description: The expected repayment interval. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). E.g., For fortnightly repayments, this would be `P2W`.
x-cds-type: ExternalRef
schedule:
type: array
description: Array of scheduled repayment amounts and dates.
items:
$ref: '#/components/schemas/BankingInstalmentPlanSchedule'
BankingInternationalPayee:
required:
- bankDetails
- beneficiaryDetails
type: object
properties:
beneficiaryDetails:
required:
- country
type: object
properties:
name:
type: string
description: Name of the beneficiary.
country:
type: string
description: Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code.
x-cds-type: ExternalRef
message:
type: string
description: Response message for the payment.
bankDetails:
required:
- accountNumber
- country
type: object
properties:
country:
type: string
description: Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code.
x-cds-type: ExternalRef
accountNumber:
type: string
description: Account Targeted for payment.
bankAddress:
required:
- address
- name
type: object
properties:
name:
type: string
description: Name of the recipient Bank.
address:
type: string
description: Address of the recipient Bank.
beneficiaryBankBIC:
type: string
description: Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html).
x-cds-type: ExternalRef
fedWireNumber:
type: string
description: Number for Fedwire payment (Federal Reserve Wire Network).
sortCode:
type: string
description: Sort code used for account identification in some jurisdictions.
chipNumber:
type: string
description: Number for the Clearing House Interbank Payments System.
routingNumber:
type: string
description: International bank routing number.
legalEntityIdentifier:
type: string
description: The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html).
x-cds-type: ExternalRef
Meta:
type: object
BankingScheduledPaymentFrom:
required:
- accountId
type: object
properties:
accountId:
description: Unique identifier for the account.
allOf:
- $ref: '#/components/schemas/BankingAccountId'
description: Object containing details of the source of the payment. Currently only specifies an _accountId_ but provided as an object to facilitate future extensibility and consistency with the _to_ object.
BankingDomesticPayeeCard:
required:
- cardNumber
type: object
properties:
cardNumber:
type: string
description: Name of the account to pay to.
x-cds-type: MaskedPANString
BankingScheduledPaymentSetV2:
required:
- to
type: object
properties:
to:
$ref: '#/components/schemas/BankingScheduledPaymentToV2'
isAmountCalculated:
type: boolean
description: Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then `false` is assumed.
default: false
amount:
type: string
description: The amount of the next payment if known. Mandatory unless the _isAmountCalculated_ field is set to `true`. Must be zero or positive if present.
x-cds-type: AmountString
currency:
type: string
description: The currency for the payment. `AUD` assumed if not present.
default: AUD
x-cds-type: CurrencyString
description: The set of payment amounts and destination accounts for this payment accommodating multi-part payments. A single entry indicates a simple payment with one destination account. Must have at least one entry.
x-conditional:
- amount
BankingAccountId:
type: string
description: A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements.
x-cds-type: ASCIIString
BankingInstalmentPlanSchedule:
required:
- amountDue
- dueDate
type: object
properties:
amountDue:
type: string
description: Amount due with this repayment.
x-cds-type: AmountString
dueDate:
type: string
description: Date this repayment is or was due.
x-cds-type: DateString
isPaid:
type: boolean
default: false
description: Whether the associated _amountDue_ has been paid or is otherwise considered as not outstanding. `false` is assumed if absent.
ErrorV2:
type: object
required:
- code
- title
- detail
x-conditional:
- meta
properties:
code:
type: string
description: The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN.
title:
type: string
description: A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code.
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem.
meta:
type: object
x-conditional:
- urn
description: Additional data for customised error codes.
properties:
urn:
type: string
description: The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code.
LinksPaginated:
required:
- self
type: object
properties:
self:
type: string
description: Fully qualified link that generated the current response document.
x-cds-type: URIString
first:
type: string
description: URI to the first page of this set. Mandatory if this response is not the first page.
x-cds-type: URIString
prev:
type: string
description: URI to the previous page of this set. Mandatory if this response is not the first page.
x-cds-type: URIString
next:
type: string
description: URI to the next page of this set. Mandatory if this response is not the last page.
x-cds-type: URIString
last:
type: string
description: URI to the last page of this set. Mandatory if this response is not the last page.
x-cds-type: URIString
x-conditional:
- prev
- next
- first
- last
ResponseBankingInstalmentPlanList:
required:
- data
- links
- meta
type: object
properties:
data:
required:
- plans
type: object
properties:
plans:
type: array
description: Array of instalment plans. An instalment plan describes the terms of repayment for a specified loan amount such as a Buy Now, Pay Later (BNPL) purchase or a specific card transaction.
items:
$ref: '#/components/schemas/BankingInstalmentPlan'
links:
$ref: '#/components/schemas/LinksPaginated'
meta:
$ref: '#/components/schemas/MetaPaginated'
BankingScheduledPaymentRecurrenceOnceOff:
required:
- paymentDate
type: object
properties:
paymentDate:
type: string
description: The scheduled date for the once off payment.
x-cds-type: DateString
description: Indicates that the payment is a once off payment on a specific future date. Mandatory if the _recurrenceUType_ value is `onceOff`.
BankingScheduledPaymentRecurrence:
required:
- recurrenceUType
type: object
properties:
nextPaymentDate:
type: string
description: The date of the next payment under the recurrence schedule.
x-cds-type: DateString
recurrenceUType:
type: string
description: The type of recurrence used to define the schedule.
enum:
- eventBased
- intervalSchedule
- lastWeekDay
- onceOff
onceOff:
$ref: '#/components/schemas/BankingScheduledPaymentRecurrenceOnceOff'
intervalSchedule:
$ref: '#/components/schemas/BankingScheduledPaymentRecurrenceIntervalSchedule'
lastWeekDay:
$ref: '#/components/schemas/BankingScheduledPaymentRecurrenceLastWeekday'
eventBased:
$ref: '#/components/schemas/BankingScheduledPaymentRecurrenceEventBased'
description: Object containing the detail of the schedule for the payment.
x-conditional:
- onceOff
- intervalSchedule
- lastWeekDay
- eventBased
BankingScheduledPaymentRecurrenceIntervalSchedule:
required:
- intervals
type: object
properties:
finalPaymentDate:
type: string
description: The limit date after which no more payments should be made using this schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely.
x-cds-type: DateString
paymentsRemaining:
type: integer
description: Indicates the number of payments remaining in the schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value, If neither field is present the payments will continue indefinitely.
example: 1
x-cds-type: PositiveInteger
nonBusinessDayTreatment:
type: string
description: Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be `ON`.
- `AFTER` - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
- `BEFORE` - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
- `ON` - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
- `ONLY` - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored.
default: 'ON'
enum:
- AFTER
- BEFORE
- 'ON'
- ONLY
intervals:
type: array
description: An array of interval objects defining the payment schedule. Each entry in the array is additive, in that it adds payments to the overall payment schedule. If multiple intervals result in a payment on the same day then only one payment will be made. Must have at least one entry.
items:
$ref: '#/components/schemas/BankingScheduledPaymentInterval'
description: Indicates that the schedule of payments is defined by a series of intervals. Mandatory if the _recurrenceUType_ value is `intervalSchedule`.
BankingInstalmentPlanId:
type: string
description: A unique identifier for a Banking instalment plan, generated according to [CDR ID Permanence](#id-permanence) requirements.
x-cds-type: ASCIIString
BankingDigitalWalletPayee:
required:
- identifier
- name
- provider
- type
type: object
properties:
name:
type: string
description: The display name of the wallet as given by the customer, else a default value defined by the data holder.
identifier:
type: string
description: The identifier of the digital wallet (dependent on type).
type:
type: string
description: The type of the digital wallet identifier.
enum:
- EMAIL
- CONTACT_NAME
- TELEPHONE
provider:
type: string
description: The provider of the digital wallet.
enum:
- PAYPAL_AU
- OTHER
BankingScheduledPaymentToV2:
required:
- toUType
type: object
properties:
toUType:
type: string
description: The type of object provided that specifies the destination of the funds for the payment.
enum:
- accountId
- biller
- digitalWallet
- domestic
- international
- payeeId
accountId:
description: Present if _toUType_ is set to `accountId`. Indicates that the payment is to another account that is accessible under the current consent.
allOf:
- $ref: '#/components/schemas/BankingAccountId'
payeeId:
description: Present if _toUType_ is set to `payeeId`. Indicates that the payment is to registered payee that can be accessed using the payee endpoint. If the Bank Payees scope has not been consented to then a _payeeId_ should not be provided and the full payee details should be provided instead.
allOf:
- $ref: '#/components/schemas/BankingPayeeId'
nickname:
type: string
description: The short display name of the payee as provided by the customer unless _toUType_ is set to `payeeId`. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels.
payeeReference:
type: string
description: The reference for the transaction, if applicable, that will be provided by the originating institution for the specific payment. If not empty, it overrides the value provided at the BankingScheduledPayment level.
digitalWallet:
$ref: '#/components/schemas/BankingDigitalWalletPayee'
domestic:
$ref: '#/components/schemas/BankingDomesticPayee'
biller:
$ref: '#/components/schemas/BankingBillerPayee'
international:
$ref: '#/components/schemas/BankingInternationalPayee'
description: Object containing details of the destination of the payment. Used to specify a variety of payment destination types.
x-conditional:
- accountId
- payeeId
- digitalWallet
- domestic
- biller
- international
- nickname
- payeeReference
BankingScheduledPaymentRecurrenceEventBased:
required:
- description
type: object
properties:
description:
type: string
description: Description of the event and conditions that will result in the payment. Expected to be formatted for display to a customer.
description: Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if the _recurrenceUType_ value is `eventBased`.
ResponseErrorListV2:
type: object
required:
- errors
properties:
errors:
description: List of errors.
type: array
items:
$ref: '#/components/schemas/ErrorV2'
MetaPaginated:
required:
- totalPages
- totalRecords
type: object
properties:
totalRecords:
type: integer
description: The total number of records in the full set. See [pagination](#pagination).
x-cds-type: NaturalNumber
totalPages:
type: integer
description: The total number of pages in the full set. See [pagination](#pagination).
x-cds-type: NaturalNumber
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
BankingDomesticPayee:
required:
- payeeAccountUType
type: object
properties:
payeeAccountUType:
type: string
description: 'Type of account object included. Valid values are: - `account` A standard Australian account defined by BSB/Account Number.
- `card` A credit or charge card to pay to (note that PANs are masked).
- `payId` A PayID recognised by NPP.
'
enum:
- account
- card
- payId
account:
$ref: '#/components/schemas/BankingDomesticPayeeAccount'
card:
$ref: '#/components/schemas/BankingDomesticPayeeCard'
payId:
$ref: '#/components/schemas/BankingDomesticPayeePayId'
x-conditional:
- account
- card
- payId
BankingScheduledPaymentRecurrenceLastWeekday:
required:
- interval
- lastWeekDay
type: object
properties:
finalPaymentDate:
type: string
description: The limit date after which no more payments should be made using this schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely.
x-cds-type: DateString
paymentsRemaining:
type: integer
description: Indicates the number of payments remaining in the schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely.
example: 1
x-cds-type: PositiveInteger
interval:
type: string
description: The interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with _nextPaymentDate_.
x-cds-type: ExternalRef
lastWeekDay:
type: string
description: The weekDay specified. The payment will occur on the last occurrence of this weekday in the interval.
enum:
- FRI
- MON
- SAT
- SUN
- THU
- TUE
- WED
nonBusinessDayTreatment:
type: string
description: Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be `ON`.- `AFTER` - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
- `BEFORE` - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
- `ON` - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
- `ONLY` - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored.
default: 'ON'
enum:
- AFTER
- BEFORE
- 'ON'
- ONLY
description: Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if the _recurrenceUType_ value is `lastWeekDay`.
BankingScheduledPaymentId:
type: string
description: A unique identifier for a Banking scheduled payment, generated according to [CDR ID Permanence](#id-permanence) requirements.
x-cds-type: ASCIIString
ResponseBankingScheduledPaymentsListV2:
required:
- data
- links
- meta
type: object
properties:
data:
required:
- scheduledPayments
type: object
properties:
scheduledPayments:
type: array
description: The list of scheduled payments to return.
items:
$ref: '#/components/schemas/BankingScheduledPaymentV2'
links:
$ref: '#/components/schemas/LinksPaginated'
meta:
$ref: '#/components/schemas/MetaPaginated'
RequestAccountIdListV1:
type: object
required:
- data
properties:
data:
type: object
required:
- accountIds
properties:
accountIds:
type: array
description: Array of _accountId_ values to obtain data for.
items:
$ref: '#/components/schemas/BankingAccountId'
meta:
$ref: '#/components/schemas/Meta'
BankingDomesticPayeePayId:
required:
- identifier
- type
type: object
properties:
name:
type: string
description: The name assigned to the PayID by the owner of the PayID.
identifier:
type: string
description: The identifier of the PayID (dependent on type).
type:
type: string
description: The type of the PayID.
enum:
- ABN
- EMAIL
- ORG_IDENTIFIER
- TELEPHONE
BankingScheduledPaymentInterval:
required:
- interval
type: object
properties:
interval:
type: string
description: An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with _nextPaymentDate_.
x-cds-type: ExternalRef
dayInInterval:
type: string
description: Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is `P1D`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday.
default: P1D
x-cds-type: ExternalRef
BankingScheduledPaymentV2:
required:
- from
- payerReference
- paymentSet
- recurrence
- scheduledPaymentId
- status
type: object
properties:
scheduledPaymentId:
description: Unique identifier for the scheduled payment.
allOf:
- $ref: '#/components/schemas/BankingScheduledPaymentId'
nickname:
type: string
description: The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels.
payerReference:
type: string
description: The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided.
payeeReference:
type: string
description: The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided.
status:
type: string
description: Indicates whether the schedule is currently active. The value `SKIP` is equivalent to `ACTIVE` except that the customer has requested the next normal occurrence to be skipped.
enum:
- ACTIVE
- INACTIVE
- SKIP
from:
$ref: '#/components/schemas/BankingScheduledPaymentFrom'
paymentSet:
type: array
items:
$ref: '#/components/schemas/BankingScheduledPaymentSetV2'
recurrence:
$ref: '#/components/schemas/BankingScheduledPaymentRecurrence'
x-conditional:
- payeeReference
BankingBillerPayee:
required:
- billerCode
- billerName
type: object
properties:
billerCode:
type: string
description: BPAY Biller Code of the Biller.
crn:
type: string
description: BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for [MaskedPANString](#common-field-types). If the contents are otherwise sensitive, then it should be masked using the rules applicable for the [MaskedAccountString](#common-field-types) common type.
billerName:
type: string
description: Name of the Biller.
x-conditional:
- crn
responses:
ListInstalmentPlansBulk200:
description: Successful response
headers:
x-v:
$ref: '#/components/headers/XV'
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBankingInstalmentPlanList'
ListScheduledPayments200:
description: Successful response
headers:
x-v:
$ref: '#/components/headers/XV'
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBankingScheduledPaymentsListV2'
ListScheduledPaymentsBulk422:
description: The following error codes **MUST** be supported:
- [422 - Invalid Page](#error-422-field-invalid-page)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsBulk406:
description: The following error codes **MUST** be supported:
- [406 - Unsupported Version](#error-406-header-unsupported-version)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlans406:
description: The following error codes **MUST** be supported:
- [406 - Unsupported Version](#error-406-header-unsupported-version)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPayments404:
description: The following error codes **MUST** be supported:
- [404 - Unavailable Banking Account](#error-404-authorisation-unavailable-banking-account)
- [404 - Invalid Banking Account](#error-404-authorisation-invalid-banking-account)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlans404:
description: The following error codes **MUST** be supported:
- [404 - Unavailable Banking Account](#error-404-authorisation-unavailable-banking-account)
- [404 - Invalid Banking Account](#error-404-authorisation-invalid-banking-account)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsSpecificAccounts422:
description: The following error codes **MUST** be supported:
- [422 - Invalid Page](#error-422-field-invalid-page)
- [422 - Unavailable Banking Account](#error-422-authorisation-unavailable-banking-account)
- [422 - Invalid Banking Account](#error-422-authorisation-invalid-banking-account)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlansBulk406:
description: The following error codes **MUST** be supported:
- [406 - Unsupported Version](#error-406-header-unsupported-version)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsSpecificAccounts400:
description: The following error codes **MUST** be supported:
- [400 - Invalid Field](#error-400-field-invalid)
- [400 - Missing Required Field](#error-400-field-missing)
- [400 - Missing Required Header](#error-400-header-missing)
- [400 - Invalid Version](#error-400-header-invalid-version)
- [400 - Invalid Page Size](#error-400-field-invalid-page-size)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsSpecificAccounts406:
description: The following error codes **MUST** be supported:
- [406 - Unsupported Version](#error-406-header-unsupported-version)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsBulk400:
description: The following error codes **MUST** be supported:
- [400 - Invalid Field](#error-400-field-invalid)
- [400 - Missing Required Field](#error-400-field-missing)
- [400 - Missing Required Header](#error-400-header-missing)
- [400 - Invalid Version](#error-400-header-invalid-version)
- [400 - Invalid Page Size](#error-400-field-invalid-page-size)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPayments406:
description: The following error codes **MUST** be supported:
- [406 - Unsupported Version](#error-406-header-unsupported-version)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPaymentsBulk200:
description: Successful response
headers:
x-v:
$ref: '#/components/headers/XV'
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBankingScheduledPaymentsListV2'
ListScheduledPaymentsSpecificAccounts200:
description: Successful response
headers:
x-v:
$ref: '#/components/headers/XV'
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBankingScheduledPaymentsListV2'
ListScheduledPayments400:
description: The following error codes **MUST** be supported:
- [400 - Invalid Field](#error-400-field-invalid)
- [400 - Missing Required Field](#error-400-field-missing)
- [400 - Missing Required Header](#error-400-header-missing)
- [400 - Invalid Version](#error-400-header-invalid-version)
- [400 - Invalid Page Size](#error-400-field-invalid-page-size)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlansBulk422:
description: The following error codes **MUST** be supported:
- [422 - Invalid Page](#error-422-field-invalid-page)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListScheduledPayments422:
description: The following error codes **MUST** be supported:
- [422 - Invalid Page](#error-422-field-invalid-page)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlansBulk400:
description: The following error codes **MUST** be supported:
- [400 - Invalid Field](#error-400-field-invalid)
- [400 - Missing Required Field](#error-400-field-missing)
- [400 - Missing Required Header](#error-400-header-missing)
- [400 - Invalid Version](#error-400-header-invalid-version)
- [400 - Invalid Page Size](#error-400-field-invalid-page-size)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlans400:
description: The following error codes **MUST** be supported:
- [400 - Invalid Field](#error-400-field-invalid)
- [400 - Missing Required Field](#error-400-field-missing)
- [400 - Missing Required Header](#error-400-header-missing)
- [400 - Invalid Version](#error-400-header-invalid-version)
- [400 - Invalid Page Size](#error-400-field-invalid-page-size)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
ListInstalmentPlans200:
description: Successful response
headers:
x-v:
$ref: '#/components/headers/XV'
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBankingInstalmentPlanList'
ListInstalmentPlans422:
description: The following error codes **MUST** be supported:
- [422 - Invalid Page](#error-422-field-invalid-page)
headers:
x-fapi-interaction-id:
$ref: '#/components/headers/XFAPIInteractionId'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseErrorListV2'
parameters:
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
HeaderXFAPIInteractionId:
name: x-fapi-interaction-id
in: header
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.
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
QueryBankingAccountIsOwned:
name: is-owned
in: query
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.
schema:
type: boolean
HeaderXFAPIAuthDate:
name: x-fapi-auth-date
in: header
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.
schema:
type: string
x-conditional: true
QueryPlanStatus:
name: plan-status
in: query
description: Allows for the filtering of plans based on their schedule status:- `ACTIVE` requests plans where one or more scheduled instalments have _isPaid_ equal to `false`,
- `INACTIVE` requests plans where all scheduled instalments have _isPaid_ equal to `true`,
- `ALL` requests all `ACTIVE` and `INACTIVE` plans.
schema:
type: string
default: ACTIVE
enum:
- ACTIVE
- INACTIVE
- ALL
QueryPage:
name: page
in: query
description: Page of results to request (standard pagination).
schema:
type: integer
default: 1
x-cds-type: PositiveInteger
PathAccountId:
name: accountId
in: path
description: The _accountId_ to obtain data for. _accountId_ values are returned by account list endpoints.
required: true
schema:
$ref: '#/components/schemas/BankingAccountId'
QueryBankingAccountOpenStatus:
name: open-status
in: query
description: Used to filter results according to open/closed status. Values can be `OPEN`, `CLOSED` or `ALL`. If absent then `ALL` is assumed.
schema:
type: string
default: ALL
enum:
- ALL
- CLOSED
- OPEN
HeaderXCDSClientHeaders:
name: x-cds-client-headers
in: header
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.
schema:
type: string
x-conditional: true
x-cds-type: Base64
HeaderXFAPICustomerIPAddress:
name: x-fapi-customer-ip-address
in: header
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.
schema:
type: string
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'
requestBodies:
RequestAccountIds:
description: Request payload containing a list of _accountId_ values to obtain data for.
content:
application/json:
schema:
$ref: '#/components/schemas/RequestAccountIdListV1'
required: true
headers:
XV:
description: The [payload version](#response-headers) that the endpoint has responded with.
required: true
schema:
type: string
XFAPIInteractionId:
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.
required: true
schema:
type: string