openapi: 3.0.3
info:
title: CDR Banking Banking Account Balances Banking Account Direct Debits 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 Direct Debits
x-shortName: Direct Debits
description: Banking Account Direct Debit endpoints
paths:
/banking/accounts/{accountId}/direct-debits:
get:
tags:
- Banking Account Direct Debits
summary: Get Direct Debits For Account
description: Obtain direct debit authorisations for a specific account.
operationId: listDirectDebits
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/ListDirectDebits200'
'400':
$ref: '#/components/responses/ListDirectDebits400'
'404':
$ref: '#/components/responses/ListDirectDebits404'
'406':
$ref: '#/components/responses/ListDirectDebits406'
'422':
$ref: '#/components/responses/ListDirectDebits422'
x-scopes:
- bank:regular_payments:read
x-version: '1'
/banking/accounts/direct-debits:
get:
tags:
- Banking Account Direct Debits
summary: Get Bulk Direct Debits
description: 'Obtain direct debit authorisations for multiple, filtered accounts.
Obsolete versions: [v1](includes/obsolete/get-bulk-direct-debits-v1.html).'
operationId: listDirectDebitsBulk
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/ListDirectDebitsBulk200'
'400':
$ref: '#/components/responses/ListDirectDebitsBulk400'
'406':
$ref: '#/components/responses/ListDirectDebitsBulk406'
'422':
$ref: '#/components/responses/ListDirectDebitsBulk422'
x-scopes:
- bank:regular_payments:read
x-version: '2'
post:
tags:
- Banking Account Direct Debits
summary: Get Direct Debits For Specific Accounts
description: Obtain direct debit authorisations for a specified list of accounts.
operationId: listDirectDebitsSpecificAccounts
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/ListDirectDebitsSpecificAccounts200'
'400':
$ref: '#/components/responses/ListDirectDebitsSpecificAccounts400'
'406':
$ref: '#/components/responses/ListDirectDebitsSpecificAccounts406'
'422':
$ref: '#/components/responses/ListDirectDebitsSpecificAccounts422'
x-scopes:
- bank:regular_payments:read
x-version: '1'
components:
parameters:
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
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
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
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
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
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
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
QueryPage:
name: page
in: query
description: Page of results to request (standard pagination).
schema:
type: integer
default: 1
x-cds-type: PositiveInteger
responses:
ListDirectDebitsBulk406:
description: The following error codes **MUST** be supported: