NAV Navbar
CDR Data Standards

Get Service Points (SR) V2

This page documents version 2 of the Get Service Points (SR) endpoint.

Secondary Data Holders (i.e. AEMO) can retire this version after June 14th 2027. Primary data holders (i.e. energy retailers) must update to newer versions prior to this date.

Get Service Points (SR)

Code samples

POST https://tls.sdh.example.com/cds-au/v1/secondary/energy/electricity/servicepoints HTTP/1.1
Host: tls.sdh.example.com
Content-Type: application/json
Accept: application/json
x-v: string
x-min-v: string
x-fapi-interaction-id: string
x-cds-arrangement: string
const fetch = require('node-fetch');
const inputBody = '{
  "data": {
    "servicePointIds": [
      "string"
    ]
  },
  "meta": {}
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'x-v':'string',
  'x-min-v':'string',
  'x-fapi-interaction-id':'string',
  'x-cds-arrangement':'string'
};

fetch('https://tls.sdh.example.com/cds-au/v1/secondary/energy/electricity/servicepoints', {
  method: 'POST',
  body: inputBody,
  headers: headers
}).then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /secondary/energy/electricity/servicepoints

Obtain a list of service points owned by the customer that has authorised the current session.

Other Versions: v1.

Body parameter

{
  "data": {
    "servicePointIds": [
      "string"
    ]
  },
  "meta": {}
}

Endpoint Version

Version 2

Parameters

Name In Type Required Default Description
page query PositiveInteger optional 1 Page of results to request (standard pagination).
page-size query PositiveInteger optional 25 Page size to request. Default is 25 (standard pagination).
x-v header string mandatory 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 and x-v. If the value of x-min-v is equal to or higher than the value of x-v then the x-min-v 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.
x-min-v header string optional 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 and x-v. If all versions requested are not supported then the endpoint MUST respond with a 406 Not Acceptable.
x-fapi-interaction-id header string mandatory The x-fapi-interaction-id header value provided by the Data Recipient. If not supplied by the Data Recipient, the primary Data Holder MUST create a unique [RFC4122] UUID value for the x-fapi-interaction-id header.
x-cds-arrangement header string mandatory A unique string representing a consent arrangement between a Data Recipient Software Product and Data Holder for a given consumer. The identifier MUST be unique per customer according to the definition of customer in the CDR Federation section of this profile. The x-cds-arrangement should contain the arrangement ID for the consent that the request is being made under and will be used for tracing and audit purposes. This field MUST be populated but AEMO MUST NOT seek to validate the consent associated with the arrangement.
body body RequestSDHServicePointIdListV1 mandatory Request payload containing a list of servicePointId values to obtain data for.

Example responses

200 Response

{
  "data": {
    "servicePoints": [
      {
        "servicePointId": "string",
        "nationalMeteringId": "string",
        "servicePointClassification": "EXTERNAL_PROFILE",
        "servicePointStatus": "ACTIVE",
        "jurisdictionCode": "ALL",
        "isGenerator": false,
        "validFromDate": "string",
        "lastUpdateDateTime": "string",
        "lastConsumerChangeDate": "string",
        "consumerProfile": {
          "classification": "BUSINESS",
          "threshold": "LOW"
        }
      }
    ]
  },
  "links": {
    "self": "string",
    "first": "string",
    "prev": "string",
    "next": "string",
    "last": "string"
  },
  "meta": {
    "totalRecords": 0,
    "totalPages": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Successful response EnergyServicePointListResponseV2
400 Bad Request The following error codes MUST be supported:
ResponseErrorListV2
406 Not Acceptable The following error codes MUST be supported:
ResponseErrorListV2
422 Unprocessable Entity The following error codes MUST be supported:
ResponseErrorListV2

Response Headers

Status Header Type Required Description
200 x-v string mandatory The payload version that the endpoint has responded with.
200 x-fapi-interaction-id string mandatory An [RFC4122] UUID used as a correlation id. If provided, the data holder MUST play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction.
400 x-fapi-interaction-id string optional An [RFC4122] UUID used as a correlation id. If provided, the data holder MUST play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction.
406 x-fapi-interaction-id string mandatory An [RFC4122] UUID used as a correlation id. If provided, the data holder MUST play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction.
422 x-fapi-interaction-id string mandatory An [RFC4122] UUID used as a correlation id. If provided, the data holder MUST play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction.

Schemas

EnergyServicePointListResponseV2

{
  "data": {
    "servicePoints": [
      {
        "servicePointId": "string",
        "nationalMeteringId": "string",
        "servicePointClassification": "EXTERNAL_PROFILE",
        "servicePointStatus": "ACTIVE",
        "jurisdictionCode": "ALL",
        "isGenerator": false,
        "validFromDate": "string",
        "lastUpdateDateTime": "string",
        "lastConsumerChangeDate": "string",
        "consumerProfile": {
          "classification": "BUSINESS",
          "threshold": "LOW"
        }
      }
    ]
  },
  "links": {
    "self": "string",
    "first": "string",
    "prev": "string",
    "next": "string",
    "last": "string"
  },
  "meta": {
    "totalRecords": 0,
    "totalPages": 0
  }
}

Properties

Name Type Required Default Description
data object mandatory none
» servicePoints [EnergyServicePointV2] mandatory none
links LinksPaginated mandatory none
meta MetaPaginated mandatory none

EnergyServicePointDetailResponseV2

{
  "data": {
    "servicePointId": "string",
    "nationalMeteringId": "string",
    "servicePointClassification": "EXTERNAL_PROFILE",
    "servicePointStatus": "ACTIVE",
    "jurisdictionCode": "ALL",
    "isGenerator": false,
    "validFromDate": "string",
    "lastUpdateDateTime": "string",
    "lastConsumerChangeDate": "string",
    "consumerProfile": {
      "classification": "BUSINESS",
      "threshold": "LOW"
    },
    "distributionLossFactor": {
      "code": "string",
      "description": "string",
      "lossValue": "string"
    },
    "relatedParticipants": [
      {
        "party": "string",
        "role": "FRMP"
      }
    ],
    "location": {
      "addressUType": "paf",
      "simple": {
        "mailingName": "string",
        "addressLine1": "string",
        "addressLine2": "string",
        "addressLine3": "string",
        "postcode": "string",
        "city": "string",
        "state": "string",
        "country": "AUS"
      },
      "paf": {
        "dpid": "string",
        "thoroughfareNumber1": 0,
        "thoroughfareNumber1Suffix": "string",
        "thoroughfareNumber2": 0,
        "thoroughfareNumber2Suffix": "string",
        "flatUnitType": "string",
        "flatUnitNumber": "string",
        "floorLevelType": "string",
        "floorLevelNumber": "string",
        "lotNumber": "string",
        "buildingName1": "string",
        "buildingName2": "string",
        "streetName": "string",
        "streetType": "string",
        "streetSuffix": "string",
        "postalDeliveryType": "string",
        "postalDeliveryNumber": 0,
        "postalDeliveryNumberPrefix": "string",
        "postalDeliveryNumberSuffix": "string",
        "localityName": "string",
        "postcode": "string",
        "state": "string"
      }
    },
    "meters": [
      {
        "meterId": "string",
        "specifications": {
          "status": "CURRENT",
          "installationType": "BASIC",
          "manufacturer": "string",
          "model": "string",
          "readType": "string",
          "nextScheduledReadDate": "string"
        },
        "registers": [
          {
            "registerId": "string",
            "registerSuffix": "string",
            "averagedDailyLoad": 0,
            "registerConsumptionType": "INTERVAL",
            "networkTariffCode": "string",
            "unitOfMeasure": "string",
            "timeOfDay": "ALLDAY",
            "multiplier": 0,
            "controlledLoad": true,
            "consumptionType": "ACTUAL"
          }
        ]
      }
    ]
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Properties

Name Type Required Default Description
data EnergyServicePointDetailV2 mandatory none
links Links mandatory none
meta Meta optional none

EnergyUsageListResponse

{
  "data": {
    "reads": [
      {
        "servicePointId": "string",
        "registerId": "string",
        "registerSuffix": "string",
        "meterId": "string",
        "controlledLoad": true,
        "readStartDate": "string",
        "readEndDate": "string",
        "unitOfMeasure": "string",
        "readUType": "basicRead",
        "basicRead": {
          "quality": "ACTUAL",
          "value": 0
        },
        "intervalRead": {
          "readIntervalLength": 0,
          "aggregateValue": 0,
          "intervalReads": [
            0
          ],
          "readQualities": [
            {
              "startInterval": 1,
              "endInterval": 1,
              "quality": "SUBSTITUTE"
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "string",
    "first": "string",
    "prev": "string",
    "next": "string",
    "last": "string"
  },
  "meta": {
    "totalRecords": 0,
    "totalPages": 0
  }
}

Properties

Name Type Required Default Description
data object mandatory none
» reads [EnergyUsageRead] mandatory Array of meter reads sorted by NMI in ascending order followed by readStartDate in descending order.
links LinksPaginated mandatory none
meta MetaPaginated mandatory none

EnergyDerListResponse

{
  "data": {
    "derRecords": [
      {
        "servicePointId": "string",
        "approvedCapacity": 0,
        "availablePhasesCount": 3,
        "installedPhasesCount": 3,
        "islandableInstallation": true,
        "hasCentralProtectionControl": false,
        "protectionMode": {
          "exportLimitKva": 0,
          "underFrequencyProtection": 0,
          "underFrequencyProtectionDelay": 0,
          "overFrequencyProtection": 0,
          "overFrequencyProtectionDelay": 0,
          "underVoltageProtection": 0,
          "underVoltageProtectionDelay": 0,
          "overVoltageProtection": 0,
          "overVoltageProtectionDelay": 0,
          "sustainedOverVoltage": 0,
          "sustainedOverVoltageDelay": 0,
          "frequencyRateOfChange": 0,
          "voltageVectorShift": 0,
          "interTripScheme": "string",
          "neutralVoltageDisplacement": 0
        },
        "acConnections": [
          {
            "connectionIdentifier": 0,
            "count": 0,
            "equipmentType": "INVERTER",
            "manufacturerName": "string",
            "inverterSeries": "string",
            "inverterModelNumber": "string",
            "commissioningDate": "string",
            "status": "ACTIVE",
            "inverterDeviceCapacity": 0,
            "derDevices": [
              {
                "deviceIdentifier": 0,
                "count": 0,
                "manufacturer": "string",
                "modelNumber": "string",
                "status": "ACTIVE",
                "type": "FOSSIL",
                "subtype": "string",
                "nominalRatedCapacity": 0,
                "nominalStorageCapacity": 0
              }
            ]
          }
        ]
      }
    ]
  },
  "links": {
    "self": "string",
    "first": "string",
    "prev": "string",
    "next": "string",
    "last": "string"
  },
  "meta": {
    "totalRecords": 0,
    "totalPages": 0
  }
}

Properties

Name Type Required Default Description
data object mandatory none
» derRecords [EnergyDerRecord] mandatory Array of meter reads.
links LinksPaginated mandatory none
meta MetaPaginated mandatory none

EnergyDerDetailResponse

{
  "data": {
    "servicePointId": "string",
    "approvedCapacity": 0,
    "availablePhasesCount": 3,
    "installedPhasesCount": 3,
    "islandableInstallation": true,
    "hasCentralProtectionControl": false,
    "protectionMode": {
      "exportLimitKva": 0,
      "underFrequencyProtection": 0,
      "underFrequencyProtectionDelay": 0,
      "overFrequencyProtection": 0,
      "overFrequencyProtectionDelay": 0,
      "underVoltageProtection": 0,
      "underVoltageProtectionDelay": 0,
      "overVoltageProtection": 0,
      "overVoltageProtectionDelay": 0,
      "sustainedOverVoltage": 0,
      "sustainedOverVoltageDelay": 0,
      "frequencyRateOfChange": 0,
      "voltageVectorShift": 0,
      "interTripScheme": "string",
      "neutralVoltageDisplacement": 0
    },
    "acConnections": [
      {
        "connectionIdentifier": 0,
        "count": 0,
        "equipmentType": "INVERTER",
        "manufacturerName": "string",
        "inverterSeries": "string",
        "inverterModelNumber": "string",
        "commissioningDate": "string",
        "status": "ACTIVE",
        "inverterDeviceCapacity": 0,
        "derDevices": [
          {
            "deviceIdentifier": 0,
            "count": 0,
            "manufacturer": "string",
            "modelNumber": "string",
            "status": "ACTIVE",
            "type": "FOSSIL",
            "subtype": "string",
            "nominalRatedCapacity": 0,
            "nominalStorageCapacity": 0
          }
        ]
      }
    ]
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Properties

Name Type Required Default Description
data EnergyDerRecord mandatory none
links Links mandatory none
meta Meta optional none

ResponseErrorListV2

{
  "errors": [
    {
      "code": "string",
      "title": "string",
      "detail": "string",
      "meta": {
        "urn": "string"
      }
    }
  ]
}

Properties

Name Type Required Default Description
errors [ErrorV2] mandatory List of errors.

ErrorV2

{
  "code": "string",
  "title": "string",
  "detail": "string",
  "meta": {
    "urn": "string"
  }
}

Properties

Name Type Required Default Description
code string mandatory The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN.
title string mandatory A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code.
detail string mandatory A human-readable explanation specific to this occurrence of the problem.
meta object conditional Additional data for customised error codes.
» urn string conditional The CDR error code URN which the application-specific error code extends. Mandatory if the error code is an application-specific error rather than a standardised error code.

EnergyServicePointV2

{
  "servicePointId": "string",
  "nationalMeteringId": "string",
  "servicePointClassification": "EXTERNAL_PROFILE",
  "servicePointStatus": "ACTIVE",
  "jurisdictionCode": "ALL",
  "isGenerator": false,
  "validFromDate": "string",
  "lastUpdateDateTime": "string",
  "lastConsumerChangeDate": "string",
  "consumerProfile": {
    "classification": "BUSINESS",
    "threshold": "LOW"
  }
}

Properties

Name Type Required Default Description
servicePointId EnergySDHServicePointId mandatory The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO.
nationalMeteringId string mandatory The independent ID of the service point, known in the industry as the NMI.
servicePointClassification Enum mandatory The classification of the service point as defined in MSATS procedures.
servicePointStatus Enum mandatory Code used to indicate the status of the service point. Note the details for the enumeration values below:
  • ACTIVE: An active, energised, service point
  • DE_ENERGISED: The service point exists but is deenergised
  • EXTINCT: The service point has been permanently decommissioned
  • GREENFIELD: Applies to a service point that has never been energised
  • OFF_MARKET: Applies when the service point is no longer settled in the NEM.
jurisdictionCode Enum mandatory Jurisdiction code to which the service point belongs. This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below:
  • ALL: All Jurisdictions
  • ACT: Australian Capital Territory
  • NEM: National Electricity Market
  • NSW: New South Wales
  • QLD: Queensland
  • SA: South Australia
  • TAS: Tasmania
  • VIC: Victoria.
isGenerator Boolean optional false This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit (this may include generator auxiliary loads). If absent defaults to false.
Note: Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer.
validFromDate DateString mandatory The latest start date from which the constituent data sets of this service point became valid.
lastUpdateDateTime DateTimeString mandatory The date and time that the information for this service point was modified.
lastConsumerChangeDate DateString optional The date the account holder changed for the NMI.
consumerProfile object optional none
» classification Enum optional A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments.
» threshold Enum optional A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below:
  • LOW: Consumption is less than the 'lower consumption threshold' as defined in the National Energy Retail Regulations
  • MEDIUM: Consumption is equal to or greater than the 'lower consumption threshold', but less than the 'upper consumption threshold', as defined in the National Energy Retail Regulations
  • HIGH: Consumption is equal to or greater than the 'upper consumption threshold' as defined in the National Energy Retail Regulations.

Enumerated Values

Property Value
servicePointClassification EXTERNAL_PROFILE
servicePointClassification GENERATOR
servicePointClassification LARGE
servicePointClassification SMALL
servicePointClassification WHOLESALE
servicePointClassification NON_CONTEST_UNMETERED_LOAD
servicePointClassification NON_REGISTERED_EMBEDDED_GENERATOR
servicePointClassification DISTRIBUTION_WHOLESALE
servicePointStatus ACTIVE
servicePointStatus DE_ENERGISED
servicePointStatus EXTINCT
servicePointStatus GREENFIELD
servicePointStatus OFF_MARKET
jurisdictionCode ALL
jurisdictionCode ACT
jurisdictionCode NEM
jurisdictionCode NSW
jurisdictionCode QLD
jurisdictionCode SA
jurisdictionCode TAS
jurisdictionCode VIC
classification BUSINESS
classification RESIDENTIAL
threshold LOW
threshold MEDIUM
threshold HIGH

EnergyServicePointDetailV2

{
  "servicePointId": "string",
  "nationalMeteringId": "string",
  "servicePointClassification": "EXTERNAL_PROFILE",
  "servicePointStatus": "ACTIVE",
  "jurisdictionCode": "ALL",
  "isGenerator": false,
  "validFromDate": "string",
  "lastUpdateDateTime": "string",
  "lastConsumerChangeDate": "string",
  "consumerProfile": {
    "classification": "BUSINESS",
    "threshold": "LOW"
  },
  "distributionLossFactor": {
    "code": "string",
    "description": "string",
    "lossValue": "string"
  },
  "relatedParticipants": [
    {
      "party": "string",
      "role": "FRMP"
    }
  ],
  "location": {
    "addressUType": "paf",
    "simple": {
      "mailingName": "string",
      "addressLine1": "string",
      "addressLine2": "string",
      "addressLine3": "string",
      "postcode": "string",
      "city": "string",
      "state": "string",
      "country": "AUS"
    },
    "paf": {
      "dpid": "string",
      "thoroughfareNumber1": 0,
      "thoroughfareNumber1Suffix": "string",
      "thoroughfareNumber2": 0,
      "thoroughfareNumber2Suffix": "string",
      "flatUnitType": "string",
      "flatUnitNumber": "string",
      "floorLevelType": "string",
      "floorLevelNumber": "string",
      "lotNumber": "string",
      "buildingName1": "string",
      "buildingName2": "string",
      "streetName": "string",
      "streetType": "string",
      "streetSuffix": "string",
      "postalDeliveryType": "string",
      "postalDeliveryNumber": 0,
      "postalDeliveryNumberPrefix": "string",
      "postalDeliveryNumberSuffix": "string",
      "localityName": "string",
      "postcode": "string",
      "state": "string"
    }
  },
  "meters": [
    {
      "meterId": "string",
      "specifications": {
        "status": "CURRENT",
        "installationType": "BASIC",
        "manufacturer": "string",
        "model": "string",
        "readType": "string",
        "nextScheduledReadDate": "string"
      },
      "registers": [
        {
          "registerId": "string",
          "registerSuffix": "string",
          "averagedDailyLoad": 0,
          "registerConsumptionType": "INTERVAL",
          "networkTariffCode": "string",
          "unitOfMeasure": "string",
          "timeOfDay": "ALLDAY",
          "multiplier": 0,
          "controlledLoad": true,
          "consumptionType": "ACTUAL"
        }
      ]
    }
  ]
}

Properties

allOf

Name Type Required Default Description
anonymous EnergyServicePointV2 mandatory none

and

Name Type Required Default Description
anonymous object mandatory none
» distributionLossFactor object mandatory none
»» code string mandatory A code used to identify data loss factor for the service point values. Refer to AEMO distribution loss factor documents for each financial year to interpret.
»» description string mandatory Description of the data loss factor code and value.
»» lossValue string mandatory The value associated with the loss factor code.
» relatedParticipants [object] mandatory none
»» party string mandatory The name of the party/organisation related to this service point.
»» role Enum mandatory The role performed by this participant in relation to the service point. Note the details of enumeration values below:
  • FRMP: Financially Responsible Market Participant
  • LNSP: Local Network Service Provider or Embedded Network Manager for child connection points
  • DRSP: wholesale Demand Response and/or market ancillary Service Provider and note that where it is not relevant for a NMI it will not be included.
» location CommonPhysicalAddress mandatory Location of the servicepoint.
» meters [object] optional The meters associated with the service point. This may be empty where there are no meters physically installed at the service point.
»» meterId string mandatory The meter ID uniquely identifies a meter for a given service point. It is unique in the context of the service point. It is not globally unique.
»» specifications object mandatory Technical characteristics of the meter.
»»» status Enum mandatory A code to denote the status of the meter. Note the details of enumeration values below:
  • CURRENT: Applies when a meter is current and not disconnected
  • DISCONNECTED: Applies when a meter is present but has been remotely disconnected.
»»» installationType Enum mandatory The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below:
  • BASIC: Accumulation Meter – Type 6
  • COMMS1: Interval Meter with communications – Type 1
  • COMMS2: Interval Meter with communications – Type 2
  • COMMS3: Interval Meter with communications – Type 3
  • COMMS4: Interval Meter with communications – Type 4
  • COMMS4C: CT connected metering installation that meets the minimum services specifications
  • COMMS4D: Whole current metering installation that meets the minimum services specifications
  • MRAM: Small customer metering installation – Type 4A
  • MRIM: Manually Read Interval Meter – Type 5
  • UMCP: Unmetered Supply – Type 7
  • VICAMI: A relevant metering installation as defined in clause 9.9C of the NER
  • NCONUML: Non-contestable unmeter load - Introduced as part of Global Settlement.
»»» manufacturer string optional Free text field to identify the manufacturer of the installed meter.
»»» model string optional Free text field to identify the meter manufacturer's designation for the meter model.
»»» readType string optional Code to denote the method and frequency of Meter Reading. The value is formatted as follows:
  • First Character = Remote (R) or Manual (M)
  • Second Character = Mode: T = telephone, W = wireless, P = powerline, I = infra-red, G = galvanic, V = visual
  • Third Character = Frequency of Scheduled Meter Readings: 1 = Twelve times per year, 2 = Six times per year, 3 = Four times per year, D = Daily or weekly
  • Optional Fourth Character = to identify what interval length the meter is capable of reading. This includes five, 15 and 30 minute granularity as the following: A = 5 minute, B = 15 minute, C = 30 minute, D = Cannot convert to 5 minute (i.e. due to metering installation de-energised), M = Manually Read Accumulation Meter.
For example,
  • MV3 = Manual, Visual, Quarterly
  • MV3M = Manual, Visual, Quarterly, Manually Read Accumulation Meter
  • RWDC = Remote, Wireless, Daily, 30 minutes interval.
»»» nextScheduledReadDate DateString optional This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required.
»» registers [object] optional Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point.
»»» registerId string mandatory Unique identifier of the register within this service point. Is not globally unique.
»»» registerSuffix string optional Register suffix of the meter register where the meter reads are obtained.
»»» averagedDailyLoad number optional The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually.
»»» registerConsumptionType Enum mandatory Indicates the consumption type of register.
»»» networkTariffCode string optional The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider.
»»» unitOfMeasure string optional The unit of measure for data held in this register.
»»» timeOfDay Enum optional Code to identify the time validity of register contents.
»»» multiplier number optional Multiplier required to take a register value and turn it into a value representing billable energy.
»»» controlledLoad Boolean optional Indicates whether the energy recorded by this register is created under a Controlled Load regime.
»»» consumptionType Enum optional Actual/Subtractive Indicator. Note the details of enumeration values below:
  • ACTUAL: implies volume of energy actually metered between two dates
  • CUMULATIVE: indicates a meter reading for a specific date. A second Meter Reading is required to determine the consumption between those two Meter Reading dates.

Enumerated Values

Property Value
role FRMP
role LNSP
role DRSP
status CURRENT
status DISCONNECTED
installationType BASIC
installationType COMMS1
installationType COMMS2
installationType COMMS3
installationType COMMS4
installationType COMMS4C
installationType COMMS4D
installationType MRAM
installationType MRIM
installationType PROF
installationType SAMPLE
installationType UMCP
installationType VICAMI
installationType NCOLNUML
registerConsumptionType INTERVAL
registerConsumptionType BASIC
registerConsumptionType PROFILE_DATA
registerConsumptionType ACTIVE_IMPORT
registerConsumptionType ACTIVE
registerConsumptionType REACTIVE_IMPORT
registerConsumptionType REACTIVE
timeOfDay ALLDAY
timeOfDay INTERVAL
timeOfDay PEAK
timeOfDay BUSINESS
timeOfDay SHOULDER
timeOfDay EVENING
timeOfDay OFFPEAK
timeOfDay CONTROLLED
timeOfDay DEMAND
consumptionType ACTUAL
consumptionType CUMULATIVE

EnergyUsageRead

{
  "servicePointId": "string",
  "registerId": "string",
  "registerSuffix": "string",
  "meterId": "string",
  "controlledLoad": true,
  "readStartDate": "string",
  "readEndDate": "string",
  "unitOfMeasure": "string",
  "readUType": "basicRead",
  "basicRead": {
    "quality": "ACTUAL",
    "value": 0
  },
  "intervalRead": {
    "readIntervalLength": 0,
    "aggregateValue": 0,
    "intervalReads": [
      0
    ],
    "readQualities": [
      {
        "startInterval": 1,
        "endInterval": 1,
        "quality": "SUBSTITUTE"
      }
    ]
  }
}

Properties

Name Type Required Default Description
servicePointId EnergySDHServicePointId mandatory The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO.
registerId string optional Register ID of the meter register where the meter reads are obtained.
registerSuffix string mandatory Register suffix of the meter register where the meter reads are obtained.
meterId string optional Meter id/serial number as it appears in customer's bill. ID permanence rules do not apply.
controlledLoad Boolean optional Indicates whether the energy recorded by this register is created under a Controlled Load regime.
readStartDate DateString mandatory Date when the meter reads start in AEST and assumed to start from 12:00am AEST.
readEndDate DateString optional Date when the meter reads end in AEST. If absent then assumed to be equal to readStartDate. In this case the entry represents data for a single date specified by readStartDate.
unitOfMeasure ExternalRef optional Unit of measure of the meter reads. Refer to Appendix B of MDFF Specification NEM12 NEM13 v2.1 for a list of possible values.
readUType Enum mandatory Specify the type of the meter read data.
basicRead object conditional Mandatory if readUType is set to basicRead.
» quality Enum optional ACTUAL The quality of the read taken. If absent then assumed to be ACTUAL.
» value number mandatory Meter read value. If positive then it means consumption, if negative it means export.
intervalRead object conditional Mandatory if readUType is set to intervalRead.
» readIntervalLength PositiveInteger conditional Read interval length in minutes. Required when interval-reads query parameter equals FULL or MIN_30.
» aggregateValue number mandatory The aggregate sum of the interval read values. If positive then it means net consumption, if negative it means net export.
» intervalReads [number] conditional Array of Interval read values. If positive then it means consumption, if negative it means export. Required when interval-reads query parameter equals FULL or MIN_30.
Each read value indicates the read for the interval specified by readIntervalLength beginning at midnight of readStartDate (for example 00:00 to 00:30 would be the first reading in a 30 minute Interval).
» readQualities [object] conditional Specifies quality of reads that are not ACTUAL. For read indices that are not specified, quality is assumed to be ACTUAL. If not present, all quality of all reads are assumed to be actual. Required when interval-reads query parameter equals FULL or MIN_30.
»» startInterval PositiveInteger mandatory Start interval for read quality flag. First read begins at 1.
»» endInterval PositiveInteger mandatory End interval for read quality flag.
»» quality Enum mandatory The quality of the read taken.

Enumerated Values

Property Value
readUType basicRead
readUType intervalRead
quality ACTUAL
quality SUBSTITUTE
quality FINAL_SUBSTITUTE
quality SUBSTITUTE
quality FINAL_SUBSTITUTE

EnergyDerRecord

{
  "servicePointId": "string",
  "approvedCapacity": 0,
  "availablePhasesCount": 3,
  "installedPhasesCount": 3,
  "islandableInstallation": true,
  "hasCentralProtectionControl": false,
  "protectionMode": {
    "exportLimitKva": 0,
    "underFrequencyProtection": 0,
    "underFrequencyProtectionDelay": 0,
    "overFrequencyProtection": 0,
    "overFrequencyProtectionDelay": 0,
    "underVoltageProtection": 0,
    "underVoltageProtectionDelay": 0,
    "overVoltageProtection": 0,
    "overVoltageProtectionDelay": 0,
    "sustainedOverVoltage": 0,
    "sustainedOverVoltageDelay": 0,
    "frequencyRateOfChange": 0,
    "voltageVectorShift": 0,
    "interTripScheme": "string",
    "neutralVoltageDisplacement": 0
  },
  "acConnections": [
    {
      "connectionIdentifier": 0,
      "count": 0,
      "equipmentType": "INVERTER",
      "manufacturerName": "string",
      "inverterSeries": "string",
      "inverterModelNumber": "string",
      "commissioningDate": "string",
      "status": "ACTIVE",
      "inverterDeviceCapacity": 0,
      "derDevices": [
        {
          "deviceIdentifier": 0,
          "count": 0,
          "manufacturer": "string",
          "modelNumber": "string",
          "status": "ACTIVE",
          "type": "FOSSIL",
          "subtype": "string",
          "nominalRatedCapacity": 0,
          "nominalStorageCapacity": 0
        }
      ]
    }
  ]
}

Properties

Name Type Required Default Description
servicePointId EnergySDHServicePointId mandatory The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO.
approvedCapacity number mandatory Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA. Value of 0 indicates no DER record exists for the given servicePointId.
availablePhasesCount NaturalNumber mandatory The number of phases available for the installation of DER. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId.
installedPhasesCount NaturalNumber mandatory The number of phases that DER is connected to. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId.
islandableInstallation Boolean mandatory For identification of small generating units designed with the ability to operate in an islanded mode.
hasCentralProtectionControl Boolean optional false For DER installations where NSPs specify the need for additional forms of protection above those inbuilt in an inverter. If absent then assumed to be false.
protectionMode object conditional Required only when the hasCentralProtectionControl flag is set to true. One or more of the object fields will be provided to describe the protection modes in place.
» exportLimitKva number optional Maximum amount of power (kVA) that may be exported from a connection point to the grid, as monitored by a control/relay function. An absent value indicates no limit.
» underFrequencyProtection number optional Protective function limit in Hz.
» underFrequencyProtectionDelay number optional Trip delay time in seconds.
» overFrequencyProtection number optional Protective function limit in Hz.
» overFrequencyProtectionDelay number optional Trip delay time in seconds.
» underVoltageProtection number optional Protective function limit in V.
» underVoltageProtectionDelay number optional Trip delay time in seconds.
» overVoltageProtection number optional Protective function limit in V.
» overVoltageProtectionDelay number optional Trip delay time in seconds.
» sustainedOverVoltage number optional Sustained over voltage.
» sustainedOverVoltageDelay number optional Sustained Over voltage protection delay in seconds.
» frequencyRateOfChange number optional Rate of change of frequency trip point (Hz/s).
» voltageVectorShift number optional Trip angle in degrees.
» interTripScheme string optional Description of the form of inter-trip (e.g., 'from local substation').
» neutralVoltageDisplacement number optional Trip voltage.
acConnections [object] mandatory none
» connectionIdentifier number mandatory AC Connection ID as defined in the DER register. Does not align with CDR ID permanence standards.
» count PositiveInteger mandatory Number of AC Connections in the group. For the suite of AC Connections to be considered as a group, all of the AC Connections included must have the same attributes.
» equipmentType Enum optional OTHER Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g., rotating machine). If absent, assume equipment type to be OTHER.
» manufacturerName string conditional The name of the inverter manufacturer. Mandatory if equipmentType is INVERTER.
» inverterSeries string conditional The inverter series. Mandatory if equipmentType is INVERTER.
» inverterModelNumber string conditional The inverter model number. Mandatory if equipmentType is INVERTER.
» commissioningDate DateString mandatory The date that the DER installation is commissioned.
» status Enum mandatory Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned.
» inverterDeviceCapacity number conditional The rated AC output power that is listed in the product specified by the manufacturer. Mandatory if equipmentType is INVERTER. Default is 0 if value not known.
» derDevices [object] mandatory none
»» deviceIdentifier number mandatory Unique identifier for a single DER device or a group of DER devices with the same attributes. Does not align with CDR ID permanence standards.
»» count PositiveInteger mandatory Number of devices in the group of DER devices.
»» manufacturer string optional The name of the device manufacturer. If absent then assumed to be "unknown".
»» modelNumber string optional The model number of the device. If absent then assumed to be "unknown".
»» status Enum optional Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned.
»» type Enum mandatory Used to indicate the primary technology used in the DER device.
»» subtype string optional Used to indicate the primary technology used in the DER device. This field is also used to record for example the battery chemistry, or the type of PV panel. It is also used to record if a battery is contained in an electric vehicle connected in a vehicle-to-grid arrangement. If absent then assumed to be "other".
»» nominalRatedCapacity number mandatory Maximum output in kVA that is listed in the product specification by the manufacturer. This refers to the capacity of each unit within the device group. Default is 0 if value not known.
»» nominalStorageCapacity number conditional Maximum storage capacity in kVAh. This refers to the capacity of each storage module within the device group. Mandatory if type is equal to STORAGE. Default is 0 if value not known.

Enumerated Values

Property Value
equipmentType INVERTER
equipmentType OTHER
status ACTIVE
status INACTIVE
status DECOMMISSIONED
status ACTIVE
status INACTIVE
status DECOMMISSIONED
type FOSSIL
type HYDRO
type WIND
type SOLAR_PV
type RENEWABLE
type GEOTHERMAL
type STORAGE
type OTHER

CommonPhysicalAddress

{
  "addressUType": "paf",
  "simple": {
    "mailingName": "string",
    "addressLine1": "string",
    "addressLine2": "string",
    "addressLine3": "string",
    "postcode": "string",
    "city": "string",
    "state": "string",
    "country": "AUS"
  },
  "paf": {
    "dpid": "string",
    "thoroughfareNumber1": 0,
    "thoroughfareNumber1Suffix": "string",
    "thoroughfareNumber2": 0,
    "thoroughfareNumber2Suffix": "string",
    "flatUnitType": "string",
    "flatUnitNumber": "string",
    "floorLevelType": "string",
    "floorLevelNumber": "string",
    "lotNumber": "string",
    "buildingName1": "string",
    "buildingName2": "string",
    "streetName": "string",
    "streetType": "string",
    "streetSuffix": "string",
    "postalDeliveryType": "string",
    "postalDeliveryNumber": 0,
    "postalDeliveryNumberPrefix": "string",
    "postalDeliveryNumberSuffix": "string",
    "localityName": "string",
    "postcode": "string",
    "state": "string"
  }
}

Properties

Name Type Required Default Description
addressUType Enum mandatory The type of address object present.
simple CommonSimpleAddress conditional Required if addressUType is set to simple.
paf CommonPAFAddress conditional Australian address formatted according to the file format defined by the PAF file format. Required if addressUType is set to paf.

Enumerated Values

Property Value
addressUType paf
addressUType simple

CommonSimpleAddress

{
  "mailingName": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "addressLine3": "string",
  "postcode": "string",
  "city": "string",
  "state": "string",
  "country": "AUS"
}

Required if addressUType is set to simple.

Properties

Name Type Required Default Description
mailingName string optional Name of the individual or business formatted for inclusion in an address used for physical mail.
addressLine1 string mandatory First line of the standard address object.
addressLine2 string optional Second line of the standard address object.
addressLine3 string optional Third line of the standard address object.
postcode string conditional Mandatory for Australian addresses.
city string mandatory Name of the city or locality.
state string mandatory Free text if the country is not Australia. If country is Australia then must be one of the values defined by the State Type Abbreviation in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT.
country ExternalRef optional AUS A valid ISO 3166 Alpha-3 country code. Australia (AUS) is assumed if country is not present.

CommonPAFAddress

{
  "dpid": "string",
  "thoroughfareNumber1": 0,
  "thoroughfareNumber1Suffix": "string",
  "thoroughfareNumber2": 0,
  "thoroughfareNumber2Suffix": "string",
  "flatUnitType": "string",
  "flatUnitNumber": "string",
  "floorLevelType": "string",
  "floorLevelNumber": "string",
  "lotNumber": "string",
  "buildingName1": "string",
  "buildingName2": "string",
  "streetName": "string",
  "streetType": "string",
  "streetSuffix": "string",
  "postalDeliveryType": "string",
  "postalDeliveryNumber": 0,
  "postalDeliveryNumberPrefix": "string",
  "postalDeliveryNumberSuffix": "string",
  "localityName": "string",
  "postcode": "string",
  "state": "string"
}

Australian address formatted according to the file format defined by the PAF file format. Required if addressUType is set to paf.

Properties

Name Type Required Default Description
dpid string optional Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier.
thoroughfareNumber1 PositiveInteger optional Thoroughfare number for a property (first number in a property ranged address).
thoroughfareNumber1Suffix string optional Suffix for the thoroughfare number. Only relevant if thoroughfareNumber1 is populated.
thoroughfareNumber2 PositiveInteger optional Second thoroughfare number (only used if the property has a ranged address e.g., 23-25).
thoroughfareNumber2Suffix string optional Suffix for the second thoroughfare number. Only relevant if thoroughfareNumber2 is populated.
flatUnitType string optional Type of flat or unit for the address.
flatUnitNumber string optional Unit number (including suffix, if applicable).
floorLevelType string optional Type of floor or level for the address.
floorLevelNumber string optional Floor or level number (including alpha characters).
lotNumber string optional Allotment number for the address.
buildingName1 string optional Building/Property name 1.
buildingName2 string optional Building/Property name 2.
streetName string optional The name of the street.
streetType string optional The street type. Valid enumeration defined by Australia Post PAF code file.
streetSuffix string optional The street type suffix. Valid enumeration defined by Australia Post PAF code file.
postalDeliveryType string optional Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file.
postalDeliveryNumber PositiveInteger optional Postal delivery number if the address is a postal delivery type.
postalDeliveryNumberPrefix string optional Postal delivery number prefix related to the postal delivery number.
postalDeliveryNumberSuffix string optional Postal delivery number suffix related to the postal delivery number.
localityName string mandatory Full name of locality.
postcode string mandatory Postcode for the locality.
state string mandatory State in which the address belongs. Valid enumeration defined by Australia Post PAF code file State Type Abbreviation. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT.

RequestSDHServicePointIdListV1

{
  "data": {
    "servicePointIds": [
      "string"
    ]
  },
  "meta": {}
}

Properties

Name Type Required Default Description
data object mandatory none
» servicePointIds [EnergySDHServicePointId] mandatory Array of servicePointId values to obtain data for.
meta Meta optional none

EnergySDHServicePointId

"string"

The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO.

Properties

Name Type Required Default Description
anonymous ASCIIString mandatory The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO.

{
  "self": "string"
}
Name Type Required Default Description
self URIString mandatory Fully qualified link that generated the current response document.

Meta

{}

Properties

None

LinksPaginated

{
  "self": "string",
  "first": "string",
  "prev": "string",
  "next": "string",
  "last": "string"
}

Properties

Name Type Required Default Description
self URIString mandatory Fully qualified link that generated the current response document.
first URIString conditional URI to the first page of this set. Mandatory if this response is not the first page.
prev URIString conditional URI to the previous page of this set. Mandatory if this response is not the first page.
next URIString conditional URI to the next page of this set. Mandatory if this response is not the last page.
last URIString conditional URI to the last page of this set. Mandatory if this response is not the last page.

MetaPaginated

{
  "totalRecords": 0,
  "totalPages": 0
}

Properties

Name Type Required Default Description
totalRecords NaturalNumber mandatory The total number of records in the full set. See pagination.
totalPages NaturalNumber mandatory The total number of pages in the full set. See pagination.