swagger: '2.0' info: version: '' title: CommBank Accounts Accounts API Balances API API description: "Obtain the list of accounts authorised to be shared by the customer. \n\nAccount API is a consumer API. To access data you'll need the customer's consent.
CommBank requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/banking
CBA – CommBiz requests are passed to the URL https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking
" x-provenance: First-party CommBank OpenAPI (Swagger 2.0) harvested verbatim from the CommBank developer portal. These are Commonwealth Bank's own renderings of its CDR / Open Banking Consumer Data Standards endpoints. x-source-url: https://www.commbank.com.au/developer/Documentation/specification/Accounts x-doc-url: https://www.commbank.com.au/developer/documentation/Accounts x-harvested: '2026-07-21' host: secure.api.commbank.com.au basePath: /api/cds-au/v1/banking schemes: - https tags: - name: Balances API description: "Obtain the balance for a single specified account. \n\nBalances API is a consumer API. To access data you'll need the customer's consent.CommBank requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/banking
CBA – CommBiz requests are passed to the URL https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking
" paths: /accounts/{accountId}/balance: get: summary: Get Balances description: Obtain the balance of a specified account operationId: getBalances tags: - Balances API consumes: - application/json produces: - application/json parameters: - name: accountId in: path description: ID of the specific account requested. required: true type: string x-cds-type: ASCIIString - $ref: '#/parameters/ParamAcceptHeader' - $ref: '#/parameters/ParamXVHeader' - $ref: '#/parameters/ParamXMinVHeader' - $ref: '#/parameters/ParamXFapiAuthDate' - $ref: '#/parameters/ParamXFapiInterationId' - $ref: '#/parameters/ParamXFapiCustomerIpAddress' - $ref: '#/parameters/ParamXCdsClientHeaders' responses: '200': description: Success headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ResponseBankingAccountsBalanceById' '400': description: Bad Request headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse400' '406': description: Not Acceptable headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse406' '422': description: Unprocessable Entity headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse422' '429': description: Too Many Requests headers: Content-Type: type: string description: Payload format responded with. Retry-After: type: integer description: Amount of time the client should wait before re-trying the operation. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ResponseNoBody' '500': description: Internal Server Error headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse500' /accounts/balances: get: tags: - Balances API consumes: - application/json produces: - application/json summary: Get Bulk Balances description: Obtain balances for multiple, filtered accounts operationId: listBalancesBulk parameters: - name: product-category in: query description: Used to filter results on the productCategory field applicable to accounts. If absent then all accounts returned. required: false type: string enum: - TRANS_AND_SAVINGS_ACCOUNTS - TERM_DEPOSITS - TRAVEL_CARDS - REGULATED_TRUST_ACCOUNTS - RESIDENTIAL_MORTGAGES - CRED_AND_CHRG_CARDS - PERS_LOANS - MARGIN_LOANS - LEASES - TRADE_FINANCE - OVERDRAFTS - BUSINESS_LOANS - name: open-status in: query description: Used to filter results according to open/closed status. If absent then ALL is assumed required: false type: string default: ALL enum: - OPEN - CLOSED - ALL - 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 required: false type: boolean x-cds-type: Boolean - $ref: '#/parameters/ParamPage' - $ref: '#/parameters/ParamPageSize' - $ref: '#/parameters/ParamXVHeader' - $ref: '#/parameters/ParamXMinVHeader' - $ref: '#/parameters/ParamXFapiAuthDate' - $ref: '#/parameters/ParamXFapiInterationId' - $ref: '#/parameters/ParamXFapiCustomerIpAddress' - $ref: '#/parameters/ParamXCdsClientHeaders' responses: '200': description: Success headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ResponseBankingAccountsBalanceList' '400': description: Bad Request headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-Id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse400' '406': description: Not Acceptable headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse406' '422': description: Unprocessable Entity headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse422' '429': description: Too Many Requests headers: Content-Type: type: string description: Payload format responded with. Retry-After: type: integer description: Amount of time the client should wait before re-trying the operation. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ResponseNoBody' '500': description: Internal Server Error headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse500' x-scopes: - bank:accounts.basic:read x-version: '1' post: tags: - Balances API summary: Get Balances For Specific Accounts description: Obtain balances for a specified list of accounts operationId: listBalancesSpecificAccounts parameters: - in: body name: accountIds description: The list of account IDs to obtain balances for required: true schema: $ref: '#/definitions/RequestAccountIds' - $ref: '#/parameters/ParamPage' - $ref: '#/parameters/ParamPageSize' - $ref: '#/parameters/ParamXVHeader' - $ref: '#/parameters/ParamXMinVHeader' - $ref: '#/parameters/ParamXFapiAuthDate' - $ref: '#/parameters/ParamXFapiInterationId' - $ref: '#/parameters/ParamXFapiCustomerIpAddress' - $ref: '#/parameters/ParamXCdsClientHeaders' responses: '200': description: Success headers: x-v: type: string description: Version of the API end point that the data holder has responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ResponseBankingAccountsBalanceList' '400': description: Bad Request headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse400' '406': description: Not Acceptable headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse406' '422': description: Unprocessable Entity headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse422' '500': description: Internal Server Error headers: Content-Type: type: string description: Payload format responded with. x-v: type: integer description: Version of the API end point responded with. x-fapi-interaction-id: type: string description: Reflects the value of the Interaction ID in the request. schema: $ref: '#/definitions/ErrorResponse500' x-scopes: - bank:accounts.basic:read x-version: '1' definitions: BankingBalancePurse: type: object required: - amount properties: amount: type: string description: The balance available for this additional currency purse x-cds-type: AmountString currency: type: string description: The currency for the purse x-cds-type: CurrencyString LinksPaginated: type: object required: - self x-conditional: - prev - next - first - last properties: self: type: string description: Fully qualified link to this API call. first: type: string description: URI to the first page of this set. prev: type: string description: URI to the previous page of this set. next: type: string description: URI to the next page of this set. last: type: string description: URI to the last page of this set. ResponseNoBody: type: object properties: {} example: {} ResponseBankingAccountsBalanceList: type: object required: - data - links - meta example: data: balances: - accountId: 2M_8F2Q0aPjdPnO-FYMkt6fOBQNBPobNrXzAjwzrmWQ currentBalance: '561950.07' availableBalance: '561950.07' currency: AUD - accountId: 8L_GAHf3425ADFf-FYMkt6fOBQNBPobNrXzAjwzrmWQ currentBalance: '32012.03' availableBalance: '32012.037' currency: AUD links: self: https://secure.api.commbank.com.au/api/cds-au/v1/banking/accounts/balances first: https://secure.api.commbank.com.au/api/cds-au/v1/banking/accounts/balances?page=1&page-size=25 last: https://secure.api.commbank.com.au/api/cds-au/v1/banking/accounts/balances?page=1&page-size=25 meta: totalRecords: 2 totalPages: 1 properties: data: $ref: '#/definitions/ResponseBankingAccountsBalanceList_data' links: $ref: '#/definitions/LinksPaginated' meta: $ref: '#/definitions/MetaPaginated' RequestAccountIds: type: object required: - data example: data: accountIds: - 2M_8F2Q0aPjdPnO-FYMkt6fOBQNBPobNrXzAjwzrmWQ - 8L_GAHf3425ADFf-FYMkt6fOBQNBPobNrXzAjwzrmWQ meta: {} properties: data: $ref: '#/definitions/RequestAccountIds_data' meta: $ref: '#/definitions/Meta' Links: type: object required: - self properties: self: type: string description: Fully qualified link to this API call. BankingBalance: type: object required: - accountId - availableBalance - currentBalance properties: accountId: type: string description: A unique ID of the account adhering to the standards for ID permanence. x-cds-type: ASCIIString currentBalance: type: string description: The balance of the account at this time. Should align to the balance available via other channels such as Internet Banking. Assumed to be negative if the customer has money owing. x-cds-type: AmountString availableBalance: type: string description: Balance representing the amount of funds available for transfer. Assumed to be zero or positive. x-cds-type: AmountString creditLimit: type: string description: Object representing the maximum amount of credit that is available for this account. Assumed to be zero if absent. x-cds-type: AmountString amortisedLimit: type: string description: Object representing the available limit amortised according to payment schedule. Assumed to be zero if absent.