Commonwealth Bank Customer API API

Access a customer's basic contact details. The customer may choose to share their personal or organisation details. Customer API is a consumer API. To access data you'll need the customer's consent.Host URLCommBank requests are passed to the URL https://secure.api.commbank.com.au/api/cds-au/v1/banking/common/customerCBA – CommBiz requests are passed to the URL https://secure.cdr.commbiz.api.commbank.com.au/cbzapi/cds-au/v1/common/customer

OpenAPI Specification

commonwealth-bank-customer-api-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: ''
  title: CommBank Accounts Accounts API Customer 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: Customer API
  description: 'Access a customer''s basic contact details. The customer may choose to share their personal or organisation details.


    Customer 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/common/customer</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/common/customer</span></p>'
paths:
  /common/customer:
    get:
      summary: Get customer
      description: Obtain basic information on the customer
      operationId: getCustomer
      tags:
      - Customer API
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/ParamAcceptHeader'
      - $ref: '#/parameters/ParamXVHeader'
      - $ref: '#/parameters/ParamXMinVHeader'
      - $ref: '#/parameters/ParamXFapiInterationId'
      - $ref: '#/parameters/ParamXFapiAuthDate'
      - $ref: '#/parameters/ParamXFapiCustomerIpAddress'
      - $ref: '#/parameters/ParamXCdsClientHeaders'
      x-scopes:
      - common:customer.detail:read
      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/ResponseCommonCustomer'
        '400':
          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'
        '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'
        '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, if provided.
          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'
  /common/customer/detail:
    get:
      summary: Get Customer Detail
      description: Obtain detailed information on the customer.
      operationId: getCustomerDetail
      tags:
      - Customer API
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/ParamAcceptHeader'
      - $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/ResponseCommonCustomerDetail'
        '400':
          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'
        '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'
        '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, if provided.
          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:
      - common:customer.detail:read
      x-version: '1'
definitions:
  ResponseCommonCustomerDetail_data:
    required:
    - customerUType
    properties:
      customerUType:
        type: string
        description: The type of customer object that is present
        enum:
        - person
        - organisation
      person:
        $ref: '#/definitions/CommonPersonDetail'
      organisation:
        $ref: '#/definitions/CommonOrganisationDetail'
  ResponseCommonCustomerDetail:
    type: object
    required:
    - data
    - links
    example:
      data:
        customerUType: person
        person:
          phoneNumbers:
          - isPreferred: false
            purpose: INTERNATIONAL
            countryCode: '+91'
            areaCode: '020'
            number: '27653158'
            extension: '42'
            fullNumber: '+91202765315842'
          - isPreferred: false
            purpose: HOME
            countryCode: '+61'
            areaCode: '02'
            number: '96341857'
            extension: ''
            fullNumber: '+61296341857'
          - isPreferred: true
            purpose: MOBILE
            countryCode: '+61'
            number: 0495297185
            extension: ''
            fullNumber: '+61495297185'
          emailAddresses:
          - isPreferred: true
            purpose: UNSPECIFIED
            address: courtney@cba.com.au
          physicalAddresses:
          - addressUType: simple
            purpose: REGISTERED
            simple:
              addressLine1: 111 SPENCE HWY
              addressLine2: ''
              postcode: '2575'
              city: COLO VALE
              state: NSW
              country: AUS
          lastUpdateTime: '2020-09-24T05:28:32Z'
          firstName: COURTNEY
          lastName: COMPTON
          middleNames: []
          prefix: Mrs
      links:
        self: https://secure.api.commbank.com.au/api/cds-au/v1/banking/common/customer/detail
      meta: {}
    properties:
      data:
        $ref: '#/definitions/ResponseCommonCustomerDetail_data'
      links:
        $ref: '#/definitions/Links'
      meta:
        $ref: '#/definitions/Meta'
    x-conditional:
    - person
    - organisation
  ResponseCommonCustomer:
    type: object
    required:
    - data
    - links
    example:
      data:
        customerUType: person
        person:
          lastUpdateTime: '2019-06-06T05:33:57Z'
          firstName: SODOR
          lastName: SODO
          middleNames: []
          prefix: ''
          suffix: ''
      links:
        self: https://secure.api.commbank.com.au/api/cds-au/v1/banking/common/customer
      meta: {}
    properties:
      data:
        $ref: '#/definitions/ResponseCommonCustomer_data'
      links:
        $ref: '#/definitions/Links'
      meta:
        $ref: '#/definitions/Meta'
    x-conditional:
    - person
    - organisation
  ResponseNoBody:
    type: object
    properties: {}
    example: {}
  CommonPhysicalAddress:
    type: object
    required:
    - addressUType
    properties:
      addressUType:
        type: string
        description: The type of address object present.
        enum:
        - simple
        - paf
      simple:
        $ref: '#/definitions/CommonSimpleAddress'
      paf:
        $ref: '#/definitions/CommonPAFAddress'
    x-conditional:
    - simple
    - paf
  ResponseCommonCustomer_data:
    required:
    - customerUType
    properties:
      customerUType:
        type: string
        description: The type of customer object that is present
        enum:
        - person
        - organisation
      person:
        $ref: '#/definitions/CommonPerson'
      organisation:
        $ref: '#/definitions/CommonOrganisation'
  Links:
    type: object
    required:
    - self
    properties:
      self:
        type: string
        description: Fully qualified link to this API call.
  CommonSimpleAddress:
    type: object
    required:
    - addressLine1
    - city
    - state
    properties:
      mailingName:
        type: string
        description: Name of the individual or business formatted address. <br><i>CommBank does not currently return this value.</i></br>
      addressLine1:
        type: string
        description: First line of the standard address.
      addressLine2:
        type: string
        description: Second line of the standard address.
      addressLine3:
        type: string
        description: Third line of the standard address.
      postcode:
        type: string
        description: Postcode for the locality.
      city:
        type: string
        description: Name of the city or locality.
      state:
        type: string
        description: State in which the address belongs.
      country:
        type: string
        description: A valid country code.
        default: AUS
        x-cds-type: ExternalRef
    x-conditional:
    - postcode
  Error:
    type: object
    properties:
      code:
        type: string
      title:
        type: string
      detail:
        type: string
  CommonPhysicalAddressWithPurpose:
    allOf:
    - $ref: '#/definitions/CommonPhysicalAddress'
    - type: object
      required:
      - purpose
      properties:
        purpose:
          type: string
          description: The purpose of the physical address.
          enum:
          - REGISTERED
          - MAIL
          - PHYSICAL
          - WORK
          - OTHER
  CommonEmailAddress:
    type: object
    required:
    - address
    - purpose
    properties:
      isPreferred:
        type: boolean
        description: Indication of the preferred email address.
        x-cds-type: Boolean
      purpose:
        type: string
        description: The purpose for the email, as specified by the customer.
        enum:
        - WORK
        - HOME
        - OTHER
        - UNSPECIFIED
      address:
        type: string
        description: A correctly formatted email address.
        x-cds-type: ExternalRef
  CommonOrganisationDetail:
    allOf:
    - $ref: '#/definitions/CommonOrganisation'
    - type: object
      required:
      - physicalAddresses
      properties:
        physicalAddresses:
          type: array
          description: A list of addresses.
          items:
            $ref: '#/definitions/CommonPhysicalAddressWithPurpose'
  CommonOrganisation:
    type: object
    required:
    - agentLastName
    - agentRole
    - businessName
    - organisationType
    properties:
      lastUpdateTime:
        type: string
        description: The date and time that this record was last updated by the customer.
        x-cds-type: DateTimeString
      agentFirstName:
        type: string
        description: The first name of the individual providing access on behalf of the organisation.
      agentLastName:
        type: string
        description: The last name of the individual providing access on behalf of the organisation.
      agentRole:
        type: string
        description: The role of the individual identified as the agent who is providing authorisation.
      businessName:
        type: string
        description: Name of the organisation.
      legalName:
        type: string
        description: Legal name, if different to the business name. <br><i>CommBank does not currently return this value.</i></br>
      shortName:
        type: string
        description: Short name used for communication, if different to the business name. <br><i>CommBank does not currently return this value.</i></br>
      abn:
        type: string
        description: Australian Business Number for the organisation.
      acn:
        type: string
        description: Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type. <br><i>CommBank does not currently return this value.</i></br>
      isACNCRegistered:
        type: boolean
        description: True if registered with the ACNC.  False if not. Absent or null if not confirmed. <br><i>CommBank does not currently return this value.</i></br>
        x-cds-type: Boolean
      industryCode:
        type: string
        description: '[ANZSIC (2006)](http://www.abs.gov.au/anzsic) code for the organisation. <br><i>CommBank does not currently return this value.</i></br>'
      organisationType:
        type: string
        description: Legal organisation type.
        enum:
        - SOLE_TRADER
        - COMPANY
        - PARTNERSHIP
        - TRUST
        - GOVERNMENT_ENTITY
        - OTHER
      registeredCountry:
        type: string
        description: ''
        x-cds-type: ExternalRef
      establishmentDate:
        type: string
        description: The date the organisation described was established.
        x-cds-type: DateString
  CommonPerson:
    type: object
    required:
    - lastName
    - middleNames
    properties:
      lastUpdateTime:
        type: string
        description: The date and time that this record was last updated by the customer.
        x-cds-type: DateTimeString
      firstName:
        type: string
        description: For people with single names this field need not be present.
      lastName:
        type: string
        description: For people with single names the single name should be in this field.
      middleNames:
        type: array
        description: Field is mandatory but array may be empty.
        items:
          type: string
      prefix:
        type: string
        description: Title or salutation.
      suffix:
        type: string
        description: Used for a trailing suffix to the name.
      occupationCode:
        type: string
        description: Value is a valid ANZSCO v1.2 Standard Occupation classification. <br><i>CommBank does not currently return this value.</i></br>
  CommonPhoneNumber:
    type: object
    required:
    - fullNumber
    - number
    - purpose
    properties:
      isPreferred:
        type: boolean
        description: Indication of the preferred phone number.
        x-cds-type: Boolean
      purpose:
        type: string
        description: The purpose of the number as specified by the customer.
        enum:
        - MOBILE
        - HOME
        - WORK
        - OTHER
        - INTERNATIONAL
        - UNSPECIFIED
      countryCode:
        type: string
        description: If absent, assumed to be Australia (+61).
      areaCode:
        type: string
        description: The area code of the phone number.
      number:
        type: string
        description: The actual phone number.
      extension:
        type: string
        description: An extension number.
      fullNumber:
        type: string
        description: Fully formatted phone number with country code, area code, number and extension incorporated.
        x-cds-type: ExternalRef
    x-conditional:
    - areaCode
  ErrorResponse500:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: CA-IS-01
        title: Server Error
        detail: An error has occurred whilst processing your request. Please try again later.
  Meta:
    type: object
  ErrorResponse406:
    type: object
    properties:
      errors:
        uniqueItems: false
        type: array
        items:
          $ref: '#/definitions/Error'
    example:
      errors:
      - code: CA-RH-03
        title: x-v is invalid
        detail: x-v header must be a supported version number.
  CommonPersonDetail:
    allOf:
    - $ref: '#/definitions/CommonPerson'
    - type: object
      required:
      - emailAddresses
      - phoneNumbers
      - physicalAddresses
      properties:
        phoneNumbers:
          type: array
          description: An array of phone numbers.
          items:
            $ref: '#/definitions/CommonPhoneNumber'
        emailAddresses:
          type: array
          description: An array of emails.
          items:
            $ref: '#/definitions/CommonEmailAddress'
        physicalAddresses:
          type: array
          description: An array of physical addresses.
          items:
            $ref: '#/definitions/CommonPhysicalAddressWithPurpose'
  CommonPAFAddress:
    type: object
    required:
    - localityName
    - postcode
    - state
    properties:
      dpid:
        type: string
        description: Unique identifier for an address as defined by Australia Post
      thoroughfareNumber1:
        type: integer
        description: Thoroughfare number for a property.
        x-cds-type: PositiveInteger
      thoroughfareNumber1Suffix:
        type: string
        description: Suffix for the thoroughfare number.
      thoroughfareNumber2:
        type: integer
        description: Second thoroughfare number.
        x-cds-type: PositiveInteger
      thoroughfareNumber2Suffix:
        type: string
        description: Suffix for the second thoroughfare number.
      flatUnitType:
        type: string
        description: Type of flat or unit for the address.
      flatUnitNumber:
        type: string
        description: Unit number.
      floorLevelType:
        type: string
        description: Type of floor or level for the address.
      floorLevelNumber:
        type: string
        description: Floor or level number.
      lotNumber:
        type: string
        description: Allotment number for the address.
      buildingName1:
        type: string
        description: Building/Property name 1.
      buildingName2:
        type: string
        description: Building/Property name 2.
      streetName:
        type: string
        description: The name of the street.
      streetType:
        type: string
        description: The street type.
      streetSuffix:
        type: string
        description: The street type suffix.
      postalDeliveryType:
        type: string
        description: Postal delivery type.
      postalDeliveryNumber:
        type: integer
        description: Postal delivery number.
        x-cds-type: PositiveInteger
      postalDeliveryNumberPrefix:
        type: string
        description: Postal delivery number prefix related to the postal delivery number.
      postalDeliveryNumberSuffix:
        type: string
        description: Postal delivery number suffix related to the postal delivery number.
      localityName:
        type: string
        description: Full name of locality.
      postcode:
        type: string
        description: Postcode for the locality.
      state:
        type: string
        description: State in which the address belongs.
    description: Australian address. <br><i>CommBank does not currently return this value.</i></br>
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
  ParamAcceptHeader:
    name: Accept
    in: header
    description: Content-Type that is acceptable for the server's response.
    type: string
    enum:
    - application/json
    required: true
  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
  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