Consumer Data Right (Energy) · AsyncAPI Specification

Cdr Energy Webhooks

Version

View Spec View on GitHub EnergyAustraliaUtilitiesElectricityConsumer Data RightOpen EnergySmart MeteringDEREnergy MarketsRegulationGovernmentOpen DataAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-27'
method: searched
source: https://consumerdatastandardsaustralia.github.io/standards/#security-profile
spec_type: none
asyncapi_published: false
summary: >-
  The Consumer Data Standards publish no AsyncAPI document and the energy data contract is entirely
  request/response - there is no event stream, no push of usage or billing data, and no subscription
  model. There is exactly one server-to-server callback in the regime: CDR Arrangement Revocation.
  When a consent (a "CDR Arrangement") is withdrawn, the party that learns of it calls the other
  party's revocation endpoint. It is a real webhook in shape - an unsolicited, authenticated POST to
  a URL the receiver advertises - so it is captured here rather than dropped.
webhooks:
- name: cdr-arrangement-revocation-to-data-recipient
  direction: data holder calls data recipient
  method: POST
  endpoint_advertised_as: revocation_uri (in the Software Statement Assertion) / <recipient_base_uri>/arrangements/revoke
  content_type: application/x-www-form-urlencoded
  authentication: Bearer token issued to the data holder, plus mutual TLS
  payload_field: cdr_arrangement_jwt
  payload_format: signed JWT carrying the cdr_arrangement_id
  description: >-
    Notifies the accredited data recipient that a consumer has revoked the sharing arrangement, so
    the recipient must stop collecting and begin its deletion/de-identification obligations.
  required: true
  required_note: revocation_uri is a Required claim in the SSA, so every registered software product must expose this endpoint.
- name: cdr-arrangement-revocation-to-data-holder
  direction: data recipient calls data holder
  method: POST
  endpoint_advertised_as: cdr_arrangement_revocation_endpoint (in the data holder's OpenID Provider metadata)
  content_type: application/x-www-form-urlencoded
  authentication: private_key_jwt client authentication plus mutual TLS
  payload_field: cdr_arrangement_id
  description: >-
    Notifies the data holder that the arrangement has been withdrawn on the recipient side, so the
    holder revokes the associated tokens and updates the consumer's dashboard.
  required: true
related_errors:
- urn:au-cds:error:cds-all:Authorisation/InvalidArrangement
- urn:au-cds:error:cds-all:Authorisation/RevokedConsent
- urn:au-cds:error:cds-all:Authorisation/InvalidConsent
polling_alternatives:
  note: >-
    Where other regimes would push events, the CDR mandates pollable state instead - a machine
    readable status and planned-outage endpoint at every data holder, and register-wide participant
    status endpoints.
  endpoints:
  - openapi/cdr-common-openapi.json#getStatus
  - openapi/cdr-common-openapi.json#getOutages
  - openapi/cdr-register-openapi.json#getDataHolderStatuses
  - openapi/cdr-register-openapi.json#getDataRecipientsStatuses
  - openapi/cdr-register-openapi.json#getSoftwareProductsStatuses
not_fabricated: >-
  No AsyncAPI document exists for the CDR. This file records the real callback surface only; no
  channels, messages or bindings have been invented.