{
"openapi": "3.0.3",
"info": {
"contact": {
"email": "contact@dsb.gov.au",
"name": "Data Standards Body",
"url": "https://dsb.gov.au/"
},
"description": "Specifications for resource endpoints applicable to data holders in the Energy sector.",
"title": "CDR Energy API",
"version": "1.36.0",
"x-provenance": "Shared DSB Consumer Data Standards CDR Energy API (not AGL-proprietary). Harvested verbatim from the Consumer Data Standards Australia published Swagger. AGL is a designated CDR energy data holder and implements this standardized surface; the consumer-facing endpoints are reachable only by Accredited Data Recipients over mTLS with a consumer authorisation, so the base URI is distributed through the CDR Register rather than published. The product reference data endpoints (/energy/plans, /energy/plans/{planId}) are served for AGL by the AER at https://cdr.energymadeeasy.gov.au/agl/cds-au/v1 and were verified live and anonymous on 2026-07-27.",
"x-source-url": "https://consumerdatastandardsaustralia.github.io/standards/includes/swagger/cds_energy.json",
"x-cds-version": "1.36.0",
"x-harvested": "2026-07-27",
"x-harvest-http-status": 200,
"x-agl-cdr-public-base-uri": "https://public.cdr.agl.com.au",
"x-agl-cdr-data-holder-brand-id": "d177e382-b12d-ed11-a832-000d3a8830d6"
},
"servers": [
{
"description": "MTLS",
"url": "https://mtls.dh.example.com/cds-au/v1"
}
],
"tags": [
{
"description": "Energy Plan endpoints",
"name": "Energy Plans",
"x-shortName": "Plans"
},
{
"description": "Electricity Service Point endpoints",
"name": "Electricity Service Points",
"x-shortName": "Service Points"
},
{
"description": "Electricity Usage endpoints",
"name": "Electricity Usage",
"x-shortName": "Usage"
},
{
"description": "Distributed Energy Resource endpoints",
"name": "Distributed Energy Resources",
"x-shortName": "Distributed Energy Resources"
},
{
"description": "Energy Account endpoints",
"name": "Energy Accounts",
"x-shortName": "Accounts"
},
{
"description": "Energy Account Balance endpoints",
"name": "Energy Account Balances",
"x-shortName": "Account Balances"
},
{
"description": "Energy Account Billing endpoints",
"name": "Energy Account Billing",
"x-shortName": "Billing"
}
],
"paths": {
"/energy/plans": {
"get": {
"description": "Obtain a list of energy plans that are currently offered to the market.\n\nNote that the results returned by this endpoint are expected to be ordered in descending order according to _lastUpdated_.",
"operationId": "listEnergyPlans",
"parameters": [
{
"description": "Used to filter results on the _type_ field. Any one of the valid values for this field can be supplied plus `ALL`. If absent defaults to `ALL`.",
"explode": true,
"in": "query",
"name": "type",
"required": false,
"schema": {
"default": "ALL",
"enum": [
"STANDING",
"MARKET",
"REGULATED",
"ALL"
],
"type": "string"
},
"style": "form"
},
{
"description": "Used to filter results on the _fuelType_ field. Any one of the valid values for this field can be supplied plus `ALL`. If absent defaults to `ALL`.",
"explode": true,
"in": "query",
"name": "fuelType",
"required": false,
"schema": {
"default": "ALL",
"enum": [
"ELECTRICITY",
"GAS",
"DUAL",
"ALL"
],
"type": "string"
},
"style": "form"
},
{
"description": "Allows for the filtering of plans based on whether the current time is within the period of time defined as effective by the _effectiveFrom_ and _effectiveTo_ fields. Valid values are `CURRENT`, `FUTURE` and `ALL`. If absent defaults to `CURRENT`.",
"explode": true,
"in": "query",
"name": "effective",
"required": false,
"schema": {
"default": "CURRENT",
"enum": [
"CURRENT",
"FUTURE",
"ALL"
],
"type": "string"
},
"style": "form"
},
{
"description": "Only include plans that have been updated after the specified date and time. If absent defaults to include all plans.",
"explode": true,
"in": "query",
"name": "updated-since",
"required": false,
"schema": {
"type": "string"
},
"style": "form",
"x-cds-type": "DateTimeString"
},
{
"description": "Used to filter results on the _brand_ field. If absent defaults to include all plans.",
"explode": true,
"in": "query",
"name": "brand",
"required": false,
"schema": {
"type": "string"
},
"style": "form"
},
{
"description": "Page of results to request (standard pagination).",
"explode": true,
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer"
},
"style": "form",
"x-cds-type": "PositiveInteger"
},
{
"description": "Page size to request. Default is 25 (standard pagination).",
"explode": true,
"in": "query",
"name": "page-size",
"required": false,
"schema": {
"type": "integer"
},
"style": "form",
"x-cds-type": "PositiveInteger"
},
{
"description": "Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).",
"explode": false,
"in": "header",
"name": "x-v",
"required": true,
"schema": {
"type": "string"
},
"style": "simple"
},
{
"description": "Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
"explode": false,
"in": "header",
"name": "x-min-v",
"required": false,
"schema": {
"type": "string"
},
"style": "simple"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnergyPlanListResponse"
}
}
},
"description": "Successful response",
"headers": {
"x-v": {
"$ref": "#/components/headers/XV"
}
}
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorListV2"
}
}
},
"description": "The following error codes **MUST** be supported: