# Consumer Data Right (Energy) > Australia's statutory consumer data-sharing regime for electricity, created under Part IVD of the Competition and Consumer Act 2010 and extended into energy by the Consumer Data Right (Energy Sector) Designation 2020. It obliges every designated electricity retailer to expose plans, accounts, billing, invoices, payment schedules, concessions, service points, interval usage and distributed energy resource 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. Run by the ACCC (lead regulator and operator of the CDR Register), the OAIC (privacy) and the Treasury Data Standards Body (which writes the binding Consumer Data Standards). Generated by API Evangelist from the published Consumer Data Standards and live probes on 2026-07-27. The Data Standards Body publishes no llms.txt; this file was generated from the catalog, not fetched. ## What is actually open The CDR Energy contract has a clean two-speed split. - Open, no credential: the two `/energy/plans` endpoints (retail plan and tariff reference data), the Common `/discovery/status` and `/discovery/outages` endpoints, and the whole CDR Register participant discovery surface. On 2026-07-27, 53 of the 84 registered energy data holder brands answered `GET /cds-au/v1/energy/plans` anonymously. - Closed: everything touching a consumer. Requires ACCC accreditation as a Data Recipient, a registered software product, mutual TLS with a CDR-issued client certificate, FAPI 1.0 Advanced OAuth 2.0 / OpenID Connect, and explicit, revocable consumer consent. There is no single base URL for the Energy API. Every designated retailer publishes its own `publicBaseUri` through the CDR Register. ## APIs - [CDR Energy API](https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-api-schemas): 18 paths, 23 operations. Plans, service points, usage, DER, accounts, balances, invoices, billing, payment schedules, concessions. - [CDR Register API](https://api.cdr.gov.au/cdr-register/v1): the ACCC-operated source of truth for who may participate. Data holder brands and base URIs, participant statuses, Software Statement Assertions. - [CDR Common API](https://consumerdatastandardsaustralia.github.io/standards/#cdr-common-api-schemas): customer identity plus the mandated `/discovery/status` and `/discovery/outages` endpoints. - [CDR Energy Secondary Data Holder API](https://consumerdatastandardsaustralia.github.io/standards/#cdr-energy-secondary-data-holder-api-schemas): the six-operation shared-responsibility contract AEMO implements for NMI standing data, metering data and DER. - [CDR Dynamic Client Registration API](https://consumerdatastandardsaustralia.github.io/standards/#cdr-dynamic-client-registration-api-schemas): how an accredited recipient self-registers with each data holder using an SSA over mutual TLS. - [CDR Admin API](https://consumerdatastandardsaustralia.github.io/standards/#cdr-admin-api-schemas): the mandated reporting surface every data holder exposes to the ACCC. ## Specs - openapi/cdr-energy-openapi.json (OpenAPI 3.0.3, CDR Energy API 1.36.0) - openapi/cdr-register-openapi.json - openapi/cdr-common-openapi.json - openapi/cdr-energy-sdh-openapi.json - openapi/cdr-dcr-openapi.json - openapi/cdr-admin-openapi.json ## Discovery - Register energy data holder brands: `GET https://api.cdr.gov.au/cdr-register/v1/energy/data-holders/brands/summary` with header `x-v: 1` - Register OpenID Provider metadata: `GET https://api.cdr.gov.au/idp/.well-known/openid-configuration` - Per-data-holder OpenID Provider metadata: `/.well-known/openid-configuration` ## Conventions - URI structure: `https:///cds-au/v1//` - Versioning: two-level. `x-v` requests an endpoint version, `x-min-v` sets the floor, the served version is echoed in the `x-v` response header. - Correlation: `x-fapi-interaction-id`, an RFC 4122 UUID, echoed if supplied. - Customer-present calls also send `x-fapi-auth-date`, `x-fapi-customer-ip-address` and `x-cds-client-headers`. - Envelope: `{ "data": ..., "links": ..., "meta": ... }`. Pagination is `page` / `page-size` (default 25, max 1000) with `meta.totalRecords` and `meta.totalPages`. - Errors: the `ResponseErrorListV2` envelope with URN codes such as `urn:au-cds:error:cds-all:Field/Invalid`. Not RFC 9457. - No idempotency key exists; the energy contract is read-only apart from client registration. ## Artifacts in this repo - authentication/cdr-energy-authentication.yml — FAPI 1.0 Advanced profile, PAR, PKCE, private_key_jwt, mTLS, the accreditation onboarding path - scopes/cdr-energy-scopes.yml — the 13 CDR data scopes plus the register and admin scopes, with the consumer-facing data cluster language - conventions/cdr-energy-conventions.yml — headers, versioning, pagination, ID permanence, error envelope - errors/cdr-energy-problem-types.yml — the 29-code CDR error registry, bound to operations - lifecycle/cdr-energy-lifecycle.yml — versioning, dated obligations, 99.5% availability, the mandated status endpoints - rate-limits/cdr-energy-rate-limits.yml — the published traffic thresholds and performance tiers - conformance/cdr-energy-conformance.yml — which standards the CDR builds on, and the live 84-brand probe - sandbox/cdr-energy-sandbox.yml — cdrsandbox.gov.au, the mock participants, the test data CLI - packages/cdr-energy-packages.yml — the @cds-au npm libraries and ACCC NuGet tooling - data-model/cdr-energy-data-model.yml — the entity graph and the retailer/AEMO split - asyncapi/cdr-energy-webhooks.yml — the CDR Arrangement Revocation callbacks - examples/ — verbatim live responses captured on 2026-07-27 - skills/ — packaged agent operating instructions for the open surface ## Docs - [Consumer Data Standards](https://consumerdatastandardsaustralia.github.io/standards/) - [Security Profile](https://consumerdatastandardsaustralia.github.io/standards/#security-profile) - [Error codes](https://consumerdatastandardsaustralia.github.io/standards/#error-codes) - [Non-functional requirements](https://consumerdatastandardsaustralia.github.io/standards/#non-functional-requirements) - [Data Standards Body](https://dsb.gov.au/consumer-data-right/data-standards) - [Standards maintenance and consultation](https://github.com/ConsumerDataStandardsAustralia/standards-maintenance) - [Conformance test cases](https://consumerdatastandardsaustralia.github.io/standards-testing/) - [CDR Sandbox](https://cdrsandbox.gov.au/) - [DSB Postman workspace](https://www.postman.com/winter-shadow-541400/workspace/dsb-schema-tests)