Commonwealth Bank Payees API API

Obtain a list of pre-registered payees authorised to be shared by the customer. Payees API is a consumer API. To access data you'll need the customer's consent.Host URLAll requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/banking

OpenAPI Specification

commonwealth-bank-payees-api-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: ''
  title: CommBank Accounts Accounts API Payees 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.</p><h3 style=\"margin-top:30px;\">Host URL</h3><p>CommBank requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://secure.api.commbank.com.au/api/cds-au/v1/banking</span></p><p>CBA – CommBiz requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/banking</span></p>"
  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: Payees API
  description: "Obtain a list of pre-registered payees authorised to be shared by the customer. \n\nPayees API is a consumer API. To access data you'll need the customer's consent.</p><h3 style=\"margin-top:30px;\">Host URL</h3>All requests are passed to the URL <span class=\"sc-1noysbl-9 JKaaQ\">https://secure.api.commbank.com.au/api/cds-au/v1/banking</span></p>"
paths:
  /payees:
    get:
      tags:
      - Payees API
      consumes:
      - application/json
      produces:
      - application/json
      summary: Get Payees
      description: Obtain a list of pre-registered payees
      operationId: listPayees
      parameters:
      - name: type
        in: query
        description: Filter on the payee type field.
        required: false
        type: string
        default: ALL
        enum:
        - BILLER
        - DOMESTIC
        - INTERNATIONAL
        - ALL
      - $ref: '#/parameters/ParamPage'
      - $ref: '#/parameters/ParamPageSize'
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - $ref: '#/parameters/ParamXFapiAuthDate'
      - $ref: '#/parameters/ParamXFapiCustomerIpAddress'
      - $ref: '#/parameters/ParamXCdsClientHeaders'
      responses:
        '200':
          description: Success
          headers:
            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/ResponseBankingPayeeList'
        '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'
        '404':
          description: Payee Not Found
          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/ErrorResponse404'
        '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:payees:read
      x-version: '1'
  /payees/{payeeId}:
    get:
      tags:
      - Payees API
      consumes:
      - application/json
      produces:
      - application/json
      summary: Get Payee Detail
      description: 'Obtain detailed information on a single payee.


        Note that the payee sub-structure should be selected to represent the payment destination only rather than any known characteristics of the payment recipient'
      operationId: getPayeeDetail
      parameters:
      - name: payeeId
        in: path
        description: The ID used to locate the details of a particular payee
        required: true
        type: string
        x-cds-type: ASCIIString
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - $ref: '#/parameters/ParamXFapiAuthDate'
      - $ref: '#/parameters/ParamXFapiCustomerIpAddress'
      - $ref: '#/parameters/ParamXCdsClientHeaders'
      responses:
        '200':
          description: Success
          headers:
            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/ResponseBankingPayeeById'
        '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'
        '404':
          description: Payee Not Found
          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/ErrorResponse404'
        '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:payees:read
      x-version: '1'
definitions:
  BankingDomesticPayee:
    type: object
    required:
    - payeeAccountUType
    properties:
      payeeAccountUType:
        type: string
        description: Type of account object included.
        enum:
        - account
        - card
        - payId
      account:
        $ref: '#/definitions/BankingDomesticPayeeAccount'
      card:
        $ref: '#/definitions/BankingDomesticPayeeCard'
      payId:
        $ref: '#/definitions/BankingDomesticPayeePayId'
    x-conditional:
    - account
    - card
    - payId
  LinksPaginated:
    type: object
    required:
    - self
    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.
        x-cds-type: URIString
      prev:
        type: string
        description: URI to the previous page of this set.
        x-cds-type: URIString
      next:
        type: string
        description: URI to the next page of this set.
        x-cds-type: URIString
      last:
        type: string
        description: URI to the last page of this set.
        x-cds-type: URIString
    x-conditional:
    - prev
    - next
    - first
    - last
  ErrorResponse404:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: PY-NF-01
        title: Payee not found.
        detail: No payee was found with that id.
  BankingInternationalPayee_bankDetails_bankAddress:
    required:
    - address
    - name
    properties:
      name:
        type: string
        description: Name of the recipient Bank.
      address:
        type: string
        description: Address of the recipient Bank.
  BankingInternationalPayee_beneficiaryDetails:
    required:
    - country
    properties:
      name:
        type: string
        description: Name of the beneficiary.
      country:
        type: string
        description: Country where the beneficiary resides.
        x-cds-type: ExternalRef
      message:
        type: string
        description: Response message for the payment.
  BankingDomesticPayeeAccount:
    type: object
    required:
    - accountNumber
    - bsb
    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.
  BankingPayee:
    type: object
    required:
    - nickname
    - payeeId
    - type
    properties:
      payeeId:
        type: string
        description: ID of the payee.
        x-cds-type: ASCIIString
      nickname:
        type: string
        description: The short display name of the payee as provided by the customer.
      description:
        type: string
        description: A description of the payee provided by the customer.
      type:
        type: string
        description: The type of payee.
        enum:
        - BILLER
        - DOMESTIC
        - INTERNATIONAL
      creationDate:
        type: string
        description: The date the payee was created by the customer.
        x-cds-type: DateString
  Links:
    type: object
    required:
    - self
    properties:
      self:
        type: string
        description: Fully qualified link that generated the current response document.
        x-cds-type: URIString
  BankingInternationalPayee_bankDetails:
    required:
    - accountNumber
    - country
    properties:
      country:
        type: string
        description: Country of the recipient institution.
        x-cds-type: ExternalRef
      accountNumber:
        type: string
        description: Account Targeted for payment.
      bankAddress:
        $ref: '#/definitions/BankingInternationalPayee_bankDetails_bankAddress'
      beneficiaryBankBIC:
        type: string
        description: Swift bank code.
        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.
        x-cds-type: ExternalRef
  MetaPaginated:
    type: object
    required:
    - totalPages
    - totalRecords
    properties:
      totalRecords:
        type: integer
        description: The total number of records in the full set.
        x-cds-type: NaturalNumber
      totalPages:
        type: integer
        description: The total number of pages in the full set.
        x-cds-type: NaturalNumber
  Error:
    type: object
    properties:
      code:
        type: string
      title:
        type: string
      detail:
        type: string
  BankingBillerPayee:
    type: object
    required:
    - billerCode
    - billerName
    properties:
      billerCode:
        type: string
        description: BPAY Biller Code of the Biller.
      crn:
        type: string
        description: BPAY CRN of the Biller.
      billerName:
        type: string
        description: Name of the Biller.
    x-conditional:
    - crn
  ResponseBankingPayeeList:
    type: object
    required:
    - data
    - links
    - meta
    example:
      data:
        payees:
        - payeeId: '20353190'
          nickname: HILL DL
          type: DOMESTIC
        - payeeId: '20354634'
          nickname: belle
          type: DOMESTIC
        - payeeId: '20385340'
          nickname: bta other cba
          type: DOMESTIC
        - payeeId: '20373598'
          nickname: nicknametest10
          type: BILLER
        - payeeId: '20373587'
          nickname: nicknametest
          type: BILLER
        - payeeId: '20373599'
          nickname: nicknametest11
          type: BILLER
        - payeeId: '20373597'
          nickname: nicknametest6
          type: BILLER
        - payeeId: '20348597'
          nickname: wk
          type: BILLER
      links:
        self: https://secure.api.commbank.com.au/api/cds-au/v1/banking/payees?page=1&page-size=25
        first: https://secure.api.commbank.com.au/api/cds-au/v1/banking/payees?page=1&page-size=25
        last: https://secure.api.commbank.com.au/api/cds-au/v1/banking/payees?page=1&page-size=25
      meta:
        totalRecords: 8
        totalPages: 1
    properties:
      data:
        $ref: '#/definitions/ResponseBankingPayeeList_data'
      links:
        $ref: '#/definitions/LinksPaginated'
      meta:
        $ref: '#/definitions/MetaPaginated'
  ErrorResponse400:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: PY-BR-02
        title: page is invalid
        detail: page must be a valid number.
  BankingDomesticPayeeCard:
    type: object
    required:
    - cardNumber
    properties:
      cardNumber:
        type: string
        description: Name of the account to pay to.
        x-cds-type: MaskedPANString
  ResponseBankingPayeeById:
    type: object
    required:
    - data
    - links
    example:
      data:
        payeeUType: domestic
        domestic:
          payeeAccountUType: account
          account:
            accountName: HILL DL
            bsb: '062000'
            accountNumber: '13848189'
        payeeId: nFZDTs-zBpDy4pUNdqeh70mn6yqGIjgim2grXukVWL8
        nickname: HILL DL
        type: DOMESTIC
      links:
        self: https://secure.api.commbank.com.au/api/cds-au/v1/banking/payees/nFZDTs-zBpDy4pUNdqeh70mn6yqGIjgim2grXukVWL8
      meta: {}
    properties:
      data:
        $ref: '#/definitions/BankingPayeeDetail'
      links:
        $ref: '#/definitions/Links'
      meta:
        $ref: '#/definitions/Meta'
  ErrorResponse422:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - Code: PY-UE-01
        Title: page-size is Invalid
        Detail: page-size must be a number and between 1 and 1000.
  BankingPayeeDetail:
    allOf:
    - $ref: '#/definitions/BankingPayee'
    - type: object
      required:
      - payeeUType
      properties:
        payeeUType:
          type: string
          description: Type of object included that describes the payee in detail
          enum:
          - domestic
          - biller
          - international
        domestic:
          $ref: '#/definitions/BankingDomesticPayee'
        biller:
          $ref: '#/definitions/BankingBillerPayee'
        international:
          $ref: '#/definitions/BankingInternationalPayee'
      x-conditional:
      - domestic
      - biller
      - international
  ErrorResponse500:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: PY-IS-01
        title: Server Error
        detail: An error has occurred whilst processing your request. Please try again later.
  Meta:
    type: object
  ResponseBankingPayeeList_data:
    required:
    - payees
    properties:
      payees:
        type: array
        description: The list of payees returned
        items:
          $ref: '#/definitions/BankingPayee'
  BankingDomesticPayeePayId:
    type: object
    required:
    - identifier
    - type
    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
  BankingInternationalPayee:
    type: object
    required:
    - bankDetails
    - beneficiaryDetails
    properties:
      beneficiaryDetails:
        $ref: '#/definitions/BankingInternationalPayee_beneficiaryDetails'
      bankDetails:
        $ref: '#/definitions/BankingInternationalPayee_bankDetails'
  ErrorResponse406:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: PY-RH-03
        title: x-v is invalid
        detail: x-v header must be a supported version number.
parameters:
  ParamXFapiCustomerIpAddress:
    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.
    required: false
    example: 192.168.1.1
    type: string
  ParamXFapiAuthDate:
    name: x-fapi-auth-date
    in: header
    description: The time when the customer last logged in to the data recipient.
    required: false
    example: '2002-10-03T01:00:00+10:00'
    type: string
  ParamPageSize:
    name: page-size
    in: query
    description: Number of records to return with the page
    required: false
    type: integer
    default: 25
    maximum: 1000
    minimum: 1
  ParamPage:
    name: page
    in: query
    description: Page number being requested
    required: false
    type: integer
    default: 1
  ParamXMinVHeader:
    name: x-min-v
    in: header
    description: Minimum version of the API end point you are requesting.
    type: integer
    example: 1
    required: false
  ParamXCdsClientHeaders:
    name: x-cds-client-headers
    in: header
    description: The customer's original standard http headers encoded, including the original User Agent header, if the customer is currently logged in to the data recipient.
    required: false
    example: Q3VzdG9tZXJzRGV2OkN1c3RvbWVyc0Rldg==
    type: string
    x-cds-type: Base64
  ParamXFapiInterationId:
    name: x-fapi-interaction-id
    in: header
    description: Reflects the value of the Interaction ID in the request.
    required: false
    example: f688ae24-9719-4975-9f58-f6b7e655c37d
    type: string
  ParamXVHeader:
    name: x-v
    in: header
    description: Version of the API end point being requested.
    type: integer
    example: 1
    required: false
x-tagGroups:
- name: ''
  tags:
  - Accounts API