Consumer Data Right (Energy)

The Consumer Data Right (CDR) is Australia's statutory consumer data-sharing regime, created under Part IVD of the Competition and Consumer Act 2010 and extended from banking into electricity by the Consumer Data Right (Energy Sector) Designation 2020. It is run by three bodies: the ACCC as lead regulator and operator of the CDR Register, the OAIC as privacy regulator, and the Treasury Data Standards Body, which writes the binding Consumer Data Standards. In energy the regime obliges electricity retailers to expose plans, accounts, billing, invoices, payment schedules, concessions, service points, interval usage and DER data through one identical, versioned API contract, with AEMO acting as the Secondary Data Holder gateway for NMI standing data, metering data and the DER register. Unlike almost every other energy-sector data mandate, this one is verifiably implemented rather than merely announced: the public CDR Register listed 84 energy data holder brands with live public base URIs when probed on 2026-07-27, and 53 of those base URIs returned standards-conformant product data anonymously on the first request. Its API posture is a clean two-speed split — genuinely open, unauthenticated market data (retail plan and tariff reference data, plus the participant register itself) sitting alongside consumer data that is closed behind ACCC accreditation, mutual TLS, FAPI-grade OAuth 2.0 / OpenID Connect and explicit, revocable consumer consent. Home market Australia.

Consumer Data Right (Energy) publishes 6 APIs on the APIs.io network, including CDR Register API, CDR Energy API, CDR Energy Secondary Data Holder API, and 3 more. Tagged areas include Energy, Australia, Utilities, Electricity, and Consumer Data Right.

The Consumer Data Right (Energy) catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Consumer Data Right (Energy)’s developer surface includes documentation, API reference, authentication, sandbox, support, engineering blog, changelog, and 35 more developer resources.

55.1/100 developing ▬ flat Agent 74/100 agent native Full breakdown ↓
scored 2026-07-28 · rubric v0.5
6 APIs 1 MCP Servers
EnergyAustraliaUtilitiesElectricityConsumer Data RightOpen EnergySmart MeteringDEREnergy MarketsRegulationGovernmentOpen Data

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.5
Composite quality — 55.1/100 · developing
Contract Quality 15.1 / 25
Developer Ergonomics 18.3 / 20
Commercial Clarity 1.6 / 20
Operational Transparency 8.9 / 13
Governance 0.0 / 12
Discoverability 8.8 / 10
Agent readiness — 74/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 4 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/cdr-energy: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 6

Individual APIs this provider publishes, each with its own machine-readable definition.

CDR Register API

The ACCC-operated Consumer Data Right Register, the ecosystem's source of truth for who is allowed to participate. Unauthenticated endpoints return the energy data holder brand ...

CDR Energy API

The mandated energy data contract that every designated Australian electricity retailer must implement identically. Eighteen paths covering generic plan reference data, electric...

CDR Energy Secondary Data Holder API

The gateway contract AEMO implements as the CDR Secondary Data Holder for energy. Retailers are the primary data holders for the customer relationship, but the physical data — N...

CDR Common API

The cross-sector endpoints every CDR data holder must expose regardless of industry — GET /common/customer and /common/customer/detail for the consented customer's identity, and...

CDR Dynamic Client Registration API

The onboarding contract. Rather than a developer portal issuing keys, an accredited data recipient presents a Software Statement Assertion obtained from the CDR Register and sel...

CDR Admin API

The mandated reporting surface every data holder must expose to the ACCC — GET /admin/metrics returns availability, performance, invocation, error and rejection statistics, and ...

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

Rate Limits 1

Documented rate limits and quota policies.

Cdr Energy Rate Limits

0 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Examples 5

Example request and response payloads for these APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Cdr Energy Authentication

oauth2/openIdConnect/mutualTLS/http · 5 schemes

SECURITY

Cdr Energy Domain Security

TLSv1.3 · DNSSEC · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Cdr Energy Scopes

15 scopes · authorizationCode/clientCredentials

15 scopes

SCOPES

Resources

Get Started 5

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 8

SDKs, sample code, and the tooling you integrate with

Scroll for all 8

Access & Security 6

Authentication, authorization, and security posture

Operate 7

Status, limits, changes, and where to get help

Scroll for all 7

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: cdr-energy
url: https://raw.githubusercontent.com/api-evangelist/cdr-energy/refs/heads/main/apis.yml
name: Consumer Data Right (Energy)
kind: company
description: 'The Consumer Data Right (CDR) is Australia''s statutory consumer data-sharing regime, created under Part IVD
  of the Competition and Consumer Act 2010 and extended from banking into electricity by the Consumer Data Right (Energy Sector)
  Designation 2020. It is run by three bodies: the ACCC as lead regulator and operator of the CDR Register, the OAIC as privacy
  regulator, and the Treasury Data Standards Body, which writes the binding Consumer Data Standards. In energy the regime
  obliges electricity retailers to expose plans, accounts, billing, invoices, payment schedules, concessions, service points,
  interval usage and DER data through one identical, versioned API contract, with AEMO acting as the Secondary Data Holder
  gateway for NMI standing data, metering data and the DER register. Unlike almost every other energy-sector data mandate,
  this one is verifiably implemented rather than merely announced: the public CDR Register listed 84 energy data holder brands
  with live public base URIs when probed on 2026-07-27, and 53 of those base URIs returned standards-conformant product data
  anonymously on the first request. Its API posture is a clean two-speed split — genuinely open, unauthenticated market data
  (retail plan and tariff reference data, plus the participant register itself) sitting alongside consumer data that is closed
  behind ACCC accreditation, mutual TLS, FAPI-grade OAuth 2.0 / OpenID Connect and explicit, revocable consumer consent. Home
  market Australia.'
image: https://raw.githubusercontent.com/ConsumerDataRight/mock-data-holder/main/Assets/cdr-logo.png
tags:
- Energy
- Australia
- Utilities
- Electricity
- Consumer Data Right
- Open Energy
- Smart Metering
- DER
- Energy Markets
- Regulation
- Government
- Open Data
created: '2026-07-27'
modified: '2026-07-27'
specificationVersion: '0.19'
apis:
- aid: cdr-energy:cdr-register-api
  name: CDR Register API
  description: The ACCC-operated Consumer Data Right Register, the ecosystem's source of truth for who is allowed to participate.
    Unauthenticated endpoints return the energy data holder brand summary (84 brands with their live public base URIs), data
    holder statuses, accredited data recipients and software product statuses; they were all served anonymously over the open
    internet on 2026-07-27 with only an x-v version header. Authenticated endpoints issue Software Statement Assertions to
    accredited data recipients using mutual TLS and private_key_jwt client credentials against the Register's own OpenID Provider.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-register-api-schemas
  baseURL: https://api.cdr.gov.au/cdr-register/v1
  tags:
  - Register
  - Discovery
  - Accreditation
  - Government
  properties:
  - type: OpenAPI
    url: openapi/cdr-register-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-register-api-schemas
  - type: Documentation
    url: https://cdr-register.github.io/register/
  - type: Authentication
    url: https://api.cdr.gov.au/idp/.well-known/openid-configuration
  - type: GitHubRepository
    url: https://github.com/ConsumerDataStandardsAustralia/register
  - type: Overlay
    url: overlays/cdr-energy-register-overlay.yaml
  - type: WellKnown
    url: well-known/cdr-energy-well-known.yml
- aid: cdr-energy:cdr-energy-api
  name: CDR Energy API
  description: The mandated energy data contract that every designated Australian electricity retailer must implement identically.
    Eighteen paths covering generic plan reference data, electricity service points, interval usage, distributed energy resources,
    accounts, balances, invoices, billing, payment schedules and concessions. The two /energy/plans endpoints are public product
    reference data and require no authentication; every other endpoint requires an accredited data recipient, mutual TLS and
    a consumer-authorised OAuth 2.0 / OpenID Connect token. There is no single base URL — each of the 84 registered energy
    data holder brands publishes its own base URI through the CDR Register, and 53 of them answered GET /cds-au/v1/energy/plans
    anonymously when probed on 2026-07-27.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-api-schemas
  tags:
  - Energy
  - Electricity
  - Usage
  - Billing
  - DER
  - Consumer Data Right
  properties:
  - type: OpenAPI
    url: openapi/cdr-energy-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-api-schemas
  - type: Documentation
    url: https://consumerdatastandardsaustralia.github.io/standards/
  - type: Documentation
    url: https://dsb.gov.au/consumer-data-right/data-standards
  - type: Sandbox
    url: https://github.com/ConsumerDataStandardsAustralia/mock-data-holder-java
  - type: Conformance
    url: https://github.com/ConsumerDataStandardsAustralia/standards-testing
  - type: GitHubRepository
    url: https://github.com/ConsumerDataStandardsAustralia/standards
  - type: Overlay
    url: overlays/cdr-energy-energy-overlay.yaml
  - type: Examples
    url: examples/_index.yml
  - type: DataModel
    url: data-model/cdr-energy-data-model.yml
- aid: cdr-energy:cdr-energy-secondary-data-holder-api
  name: CDR Energy Secondary Data Holder API
  description: The gateway contract AEMO implements as the CDR Secondary Data Holder for energy. Retailers are the primary
    data holders for the customer relationship, but the physical data — NMI standing data, meter and interval usage records,
    and the distributed energy resources register — lives with AEMO, so the standards define a separate six-operation server-to-server
    API that retailers call on the consumer's behalf. This is the piece of machinery that has no banking equivalent, and it
    is why energy needed a shared-responsibility model rather than a straight copy of the banking contract.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-secondary-data-holder-api-schemas
  tags:
  - Energy
  - AEMO
  - Metering
  - DER
  - Gateway
  properties:
  - type: OpenAPI
    url: openapi/cdr-energy-sdh-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-secondary-data-holder-api-schemas
  - type: Documentation
    url: https://consumerdatastandardsaustralia.github.io/standards/
  - type: Overlay
    url: overlays/cdr-energy-energy-sdh-overlay.yaml
- aid: cdr-energy:cdr-common-api
  name: CDR Common API
  description: The cross-sector endpoints every CDR data holder must expose regardless of industry — GET /common/customer
    and /common/customer/detail for the consented customer's identity, and the unauthenticated /discovery/status and /discovery/outages
    endpoints that let the ecosystem see whether a data holder is up and when it plans to be down. The discovery pair is a
    rare example of a regulator mandating a public status API.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-common-api-schemas
  tags:
  - Common
  - Customer
  - Status
  - Discovery
  properties:
  - type: OpenAPI
    url: openapi/cdr-common-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-common-api-schemas
  - type: Overlay
    url: overlays/cdr-energy-common-overlay.yaml
  - type: StatusPage
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-common-api-schemas
- aid: cdr-energy:cdr-dynamic-client-registration-api
  name: CDR Dynamic Client Registration API
  description: The onboarding contract. Rather than a developer portal issuing keys, an accredited data recipient presents
    a Software Statement Assertion obtained from the CDR Register and self-registers with each data holder over mutual TLS,
    then manages or deletes that registration. This is how a developer actually "gets keys" in the CDR — machine-to-machine,
    gated on accreditation, with no human approval step at the data holder.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-dynamic-client-registration-api-schemas
  tags:
  - Onboarding
  - Registration
  - OAuth
  - Accreditation
  properties:
  - type: OpenAPI
    url: openapi/cdr-dcr-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-dynamic-client-registration-api-schemas
  - type: Overlay
    url: overlays/cdr-energy-dcr-overlay.yaml
- aid: cdr-energy:cdr-admin-api
  name: CDR Admin API
  description: The mandated reporting surface every data holder must expose to the ACCC — GET /admin/metrics returns availability,
    performance, invocation, error and rejection statistics, and POST /admin/register/metadata forces a metadata refresh.
    A regulator that requires the industry to publish its own operational telemetry through an API is unusual, and it is the
    mechanism that makes CDR compliance measurable rather than self-declared.
  humanURL: https://consumerdatastandardsaustralia.github.io/standards/#cdr-admin-api-schemas
  tags:
  - Admin
  - Metrics
  - Reporting
  - Compliance
  properties:
  - type: OpenAPI
    url: openapi/cdr-admin-openapi.json
  - type: APIReference
    url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-admin-api-schemas
  - type: Overlay
    url: overlays/cdr-energy-admin-overlay.yaml
common:
- type: DomainSecurity
  url: security/cdr-energy-domain-security.yml
- type: Website
  url: https://www.cdr.gov.au/
- type: DeveloperPortal
  url: https://consumerdatastandardsaustralia.github.io/standards/
- type: Documentation
  url: https://dsb.gov.au/consumer-data-right/data-standards
- type: APIReference
  url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-api-schemas
- type: Authentication
  url: https://api.cdr.gov.au/idp/.well-known/openid-configuration
- type: Security
  url: https://consumerdatastandardsaustralia.github.io/infosec/
- type: GitHubOrganization
  url: https://github.com/ConsumerDataStandardsAustralia
- type: GitHubRepository
  url: https://github.com/ConsumerDataStandardsAustralia/standards
- type: Sandbox
  url: https://github.com/ConsumerDataStandardsAustralia/mock-register
- type: Conformance
  url: https://github.com/ConsumerDataStandardsAustralia/standards-testing
- type: Support
  url: https://github.com/ConsumerDataStandardsAustralia/standards-maintenance
- type: Blog
  url: https://dsb.gov.au/news-and-announcements
- type: Authentication
  url: authentication/cdr-energy-authentication.yml
- type: OAuthScopes
  url: scopes/cdr-energy-scopes.yml
- type: Conventions
  url: conventions/cdr-energy-conventions.yml
- type: ErrorCatalog
  url: errors/cdr-energy-problem-types.yml
- type: Lifecycle
  url: lifecycle/cdr-energy-lifecycle.yml
- type: StatusPage
  url: https://consumerdatastandardsaustralia.github.io/standards/#cdr-common-api-schemas
  name: Mandated per-data-holder /discovery/status and /discovery/outages endpoints
- type: Deprecation
  url: https://consumerdatastandardsaustralia.github.io/standards/#future-dated-obligations
- type: ChangeLog
  url: changelog/cdr-energy-changelog.yml
- type: ChangeLog
  url: https://github.com/ConsumerDataStandardsAustralia/standards/releases
- type: RateLimits
  url: rate-limits/cdr-energy-rate-limits.yml
- type: Conformance
  url: conformance/cdr-energy-conformance.yml
- type: Compliance
  url: https://consumerdatastandardsaustralia.github.io/standards-testing/
- type: Packages
  url: packages/cdr-energy-packages.yml
- type: SDKs
  url: packages/cdr-energy-packages.yml
- type: CLI
  url: cli/cdr-energy-cli.yml
- type: Sandbox
  url: sandbox/cdr-energy-sandbox.yml
- type: Sandbox
  url: https://cdrsandbox.gov.au/
- type: WellKnown
  url: well-known/cdr-energy-well-known.yml
- type: MCPServer
  url: mcp/cdr-energy-mcp.yml
  name: Candidate MCP tool surface derived from OpenAPI (no published server)
- type: LLMsTxt
  url: llms/cdr-energy-llms.txt
- type: DataModel
  url: data-model/cdr-energy-data-model.yml
- type: Examples
  url: examples/_index.yml
- type: Webhooks
  url: asyncapi/cdr-energy-webhooks.yml
- type: AgentSkill
  url: skills/_index.yml
- type: Postman
  url: https://www.postman.com/winter-shadow-541400/workspace/dsb-schema-tests
- type: GettingStarted
  url: https://consumerdatastandardsaustralia.github.io/standards/#introduction
- type: Roadmap
  url: https://github.com/ConsumerDataStandardsAustralia/standards-maintenance
- type: BlogRSS
  url: https://dsb.gov.au/news-and-announcements
- type: GitHubOrganization
  url: https://github.com/ConsumerDataRight
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com