{ "openapi": "3.0.3", "info": { "title": "CDR Energy API", "version": "1.36.0", "description": "Specifications for resource endpoints applicable to data holders in the Energy sector.", "contact": { "name": "Data Standards Body", "email": "contact@dsb.gov.au", "url": "https://dsb.gov.au/" } }, "servers": [ { "description": "MTLS", "url": "https://mtls.dh.example.com/cds-au/v1" } ], "tags": [ { "name": "Energy Plans", "x-shortName": "Plans", "description": "Energy Plan endpoints" }, { "name": "Electricity Service Points", "x-shortName": "Service Points", "description": "Electricity Service Point endpoints" }, { "name": "Electricity Usage", "x-shortName": "Usage", "description": "Electricity Usage endpoints" }, { "name": "Distributed Energy Resources", "x-shortName": "Distributed Energy Resources", "description": "Distributed Energy Resource endpoints" }, { "name": "Energy Accounts", "x-shortName": "Accounts", "description": "Energy Account endpoints" }, { "name": "Energy Account Balances", "x-shortName": "Account Balances", "description": "Energy Account Balance endpoints" }, { "name": "Energy Account Billing", "x-shortName": "Billing", "description": "Energy Account Billing endpoints" } ], "paths": { "/energy/plans": { "get": { "servers": [ { "description": "TLS", "url": "https://tls.dh.example.com/cds-au/v1" } ], "summary": "Get Generic Plans", "operationId": "listEnergyPlans", "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_.", "tags": [ "Energy Plans" ], "x-version": "1", "parameters": [ { "name": "type", "in": "query", "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`.", "schema": { "type": "string", "default": "ALL", "enum": [ "STANDING", "MARKET", "REGULATED", "ALL" ] } }, { "name": "fuelType", "in": "query", "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`.", "schema": { "type": "string", "default": "ALL", "enum": [ "ELECTRICITY", "GAS", "DUAL", "ALL" ] } }, { "name": "effective", "in": "query", "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`.", "schema": { "type": "string", "default": "CURRENT", "enum": [ "CURRENT", "FUTURE", "ALL" ] } }, { "name": "updated-since", "in": "query", "description": "Only include plans that have been updated after the specified date and time. If absent defaults to include all plans.", "schema": { "type": "string" }, "x-cds-type": "DateTimeString" }, { "name": "brand", "in": "query", "description": "Used to filter results on the _brand_ field. If absent defaults to include all plans.", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" } ], "responses": { "200": { "$ref": "#/components/responses/ListEnergyPlans200" }, "400": { "$ref": "#/components/responses/ListEnergyPlans400" }, "406": { "$ref": "#/components/responses/ListEnergyPlans406" }, "422": { "$ref": "#/components/responses/ListEnergyPlans422" } } } }, "/energy/plans/{planId}": { "get": { "servers": [ { "description": "TLS", "url": "https://tls.dh.example.com/cds-au/v1" } ], "summary": "Get Generic Plan Detail", "operationId": "getEnergyPlanDetail", "description": "Obtain detailed information on a single energy plan offered openly to the market.\n\nOther Versions: [v1](includes/obsolete/get-generic-plan-detail-v1.html), [v2](includes/obsolete/get-generic-plan-detail-v2.html).", "tags": [ "Energy Plans" ], "x-version": "3", "x-version-notes": "The dailySupplyChargeType field was added in endpoint v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of that field was changed to remove the default value, but it did not result in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html) for more details.", "parameters": [ { "name": "planId", "description": "ID of the specific plan requested.", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EnergyPlanId" } }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" } ], "responses": { "200": { "$ref": "#/components/responses/GetEnergyPlanDetail200" }, "400": { "$ref": "#/components/responses/GetEnergyPlanDetail400" }, "404": { "$ref": "#/components/responses/GetEnergyPlanDetail404" }, "406": { "$ref": "#/components/responses/GetEnergyPlanDetail406" } } } }, "/energy/electricity/servicepoints": { "get": { "summary": "Get Service Points", "description": "Obtain a list of service points owned by the customer that has authorised the current session.\n\nOther Versions: [v1](includes/obsolete/get-service-points-v1.html).", "operationId": "listElectricityServicePoints", "x-scopes": [ "energy:electricity.servicepoints.basic:read" ], "tags": [ "Electricity Service Points" ], "x-version": "2", "parameters": [ { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/ListElectricityServicePoints200" }, "400": { "$ref": "#/components/responses/ListElectricityServicePoints400" }, "406": { "$ref": "#/components/responses/ListElectricityServicePoints406" }, "422": { "$ref": "#/components/responses/ListElectricityServicePoints422" } } } }, "/energy/electricity/servicepoints/{servicePointId}": { "get": { "summary": "Get Service Point Detail", "operationId": "getElectricityServicePointDetail", "x-scopes": [ "energy:electricity.servicepoints.detail:read" ], "description": "Obtain detailed standing information for a specific service point that is owned by the customer that has authorised the current session.\n\nOther Versions: [v1](includes/obsolete/get-service-point-detail-v1.html).", "tags": [ "Electricity Service Points" ], "x-version": "2", "parameters": [ { "$ref": "#/components/parameters/PathServicePointId" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/GetElectricityServicePointDetail200" }, "400": { "$ref": "#/components/responses/GetElectricityServicePointDetail400" }, "404": { "$ref": "#/components/responses/GetElectricityServicePointDetail404" }, "406": { "$ref": "#/components/responses/GetElectricityServicePointDetail406" } } } }, "/energy/electricity/servicepoints/{servicePointId}/usage": { "get": { "summary": "Get Usage For Service Point", "operationId": "getElectricityServicePointUsage", "x-scopes": [ "energy:electricity.usage:read" ], "description": "Obtain a list of electricity usage data from a particular service point.", "tags": [ "Electricity Usage" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/PathServicePointId" }, { "$ref": "#/components/parameters/QueryOldestDate" }, { "$ref": "#/components/parameters/QueryNewestDate" }, { "$ref": "#/components/parameters/QueryEnergyIntervalReads" }, { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/GetElectricityServicePointUsage200" }, "400": { "$ref": "#/components/responses/GetElectricityServicePointUsage400" }, "404": { "$ref": "#/components/responses/GetElectricityServicePointUsage404" }, "406": { "$ref": "#/components/responses/GetElectricityServicePointUsage406" }, "422": { "$ref": "#/components/responses/GetElectricityServicePointUsage422" } } } }, "/energy/electricity/servicepoints/usage": { "get": { "summary": "Get Bulk Usage", "operationId": "listElectricityUsageBulk", "x-scopes": [ "energy:electricity.usage:read" ], "description": "Obtain usage data for all service points associated with the customer.", "tags": [ "Electricity Usage" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/QueryEnergyIntervalReads" }, { "$ref": "#/components/parameters/QueryOldestDate" }, { "$ref": "#/components/parameters/QueryNewestDate" }, { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/ListElectricityUsageBulk200" }, "400": { "$ref": "#/components/responses/ListElectricityUsageBulk400" }, "406": { "$ref": "#/components/responses/ListElectricityUsageBulk406" }, "422": { "$ref": "#/components/responses/ListElectricityUsageBulk422" } } }, "post": { "summary": "Get Usage For Specific Service Points", "operationId": "listElectricityUsageForServicePoints", "x-scopes": [ "energy:electricity.usage:read" ], "description": "Obtain the electricity usage data for a specific set of service points.", "tags": [ "Electricity Usage" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/QueryOldestDate" }, { "$ref": "#/components/parameters/QueryNewestDate" }, { "$ref": "#/components/parameters/QueryEnergyIntervalReads" }, { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "requestBody": { "$ref": "#/components/requestBodies/RequestServicePointIds" }, "responses": { "200": { "$ref": "#/components/responses/ListElectricityUsageForServicePoints200" }, "400": { "$ref": "#/components/responses/ListElectricityUsageForServicePoints400" }, "406": { "$ref": "#/components/responses/ListElectricityUsageForServicePoints406" }, "422": { "$ref": "#/components/responses/ListElectricityUsageForServicePoints422" } } } }, "/energy/electricity/servicepoints/{servicePointId}/der": { "get": { "summary": "Get DER For Service Point", "operationId": "getElectricityDERForServicePoint", "description": "Obtain a list of DER data from a particular service point.", "x-scopes": [ "energy:electricity.der:read" ], "tags": [ "Distributed Energy Resources" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/PathServicePointId" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/GetElectricityDERForServicePoint200" }, "400": { "$ref": "#/components/responses/GetElectricityDERForServicePoint400" }, "404": { "$ref": "#/components/responses/GetElectricityDERForServicePoint404" }, "406": { "$ref": "#/components/responses/GetElectricityDERForServicePoint406" } } } }, "/energy/electricity/servicepoints/der": { "get": { "summary": "Get Bulk DER", "operationId": "listElectricityDERBulk", "description": "Obtain DER data for all service points associated with the customer.", "x-scopes": [ "energy:electricity.der:read" ], "tags": [ "Distributed Energy Resources" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/ListElectricityDERBulk200" }, "400": { "$ref": "#/components/responses/ListElectricityDERBulk400" }, "406": { "$ref": "#/components/responses/ListElectricityDERBulk406" }, "422": { "$ref": "#/components/responses/ListElectricityDERBulk422" } } }, "post": { "summary": "Get DER For Specific Service Points", "operationId": "listElectricityDERForSpecificServicePoints", "description": "Obtain DER data for a specific set of service points.", "x-scopes": [ "energy:electricity.der:read" ], "tags": [ "Distributed Energy Resources" ], "x-version": "1", "parameters": [ { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "requestBody": { "$ref": "#/components/requestBodies/RequestServicePointIds" }, "responses": { "200": { "$ref": "#/components/responses/ListElectricityDERForSpecificServicePoints200" }, "400": { "$ref": "#/components/responses/ListElectricityDERForSpecificServicePoints400" }, "406": { "$ref": "#/components/responses/ListElectricityDERForSpecificServicePoints406" }, "422": { "$ref": "#/components/responses/ListElectricityDERForSpecificServicePoints422" } } } }, "/energy/accounts": { "get": { "summary": "Get Energy Accounts", "operationId": "listEnergyAccounts", "description": "Obtain the list of energy accounts available under the authorised consent.\n\nOther Versions: [v1](includes/obsolete/get-energy-accounts-v1.html).", "x-scopes": [ "energy:accounts.basic:read" ], "tags": [ "Energy Accounts" ], "x-version": "2", "parameters": [ { "$ref": "#/components/parameters/QueryEnergyAccountOpenStatus" }, { "$ref": "#/components/parameters/QueryPage" }, { "$ref": "#/components/parameters/QueryPageSize" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/ListEnergyAccounts200" }, "400": { "$ref": "#/components/responses/ListEnergyAccounts400" }, "406": { "$ref": "#/components/responses/ListEnergyAccounts406" }, "422": { "$ref": "#/components/responses/ListEnergyAccounts422" } } } }, "/energy/accounts/{accountId}": { "get": { "summary": "Get Energy Account Detail", "operationId": "getEnergyAccountDetail", "description": "Obtain detailed information for a specific energy account.\n\nOther Versions: [v1](includes/obsolete/get-energy-account-detail-v1.html), [v2](includes/obsolete/get-energy-account-detail-v2.html), [v3](includes/obsolete/get-energy-account-detail-v3.html).", "x-scopes": [ "energy:accounts.detail:read" ], "tags": [ "Energy Accounts" ], "x-version": "4", "x-version-notes": "The dailySupplyChargeType field was added in endpoint v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of that field was changed to remove the default value, but it did not result in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html) for more details.", "parameters": [ { "$ref": "#/components/parameters/PathAccountId" }, { "$ref": "#/components/parameters/HeaderXV" }, { "$ref": "#/components/parameters/HeaderXMinV" }, { "$ref": "#/components/parameters/HeaderXFAPIInteractionId" }, { "$ref": "#/components/parameters/HeaderXFAPIAuthDate" }, { "$ref": "#/components/parameters/HeaderXFAPICustomerIPAddress" }, { "$ref": "#/components/parameters/HeaderXCDSClientHeaders" } ], "responses": { "200": { "$ref": "#/components/responses/GetEnergyAccountDetail200" }, "400": { "$ref": "#/components/responses/GetEnergyAccountDetail400" }, "404": { "$ref": "#/components/responses/GetEnergyAccountDetail404" }, "406": { "$ref": "#/components/responses/GetEnergyAccountDetail406" } } } }, "/energy/accounts/{accountId}/payment-schedule": { "get": { "summary": "Get Agreed Payment Schedule", "operationId": "getEnergyAccountPaymentSchedule", "description": "Obtain the agreed payment schedule and details, if any, for a specific energy account.\n\nSome general notes about this endpoint:\n\n