As part of our initiatives to enhance additional consumer choice of electricity services (ACCES) and customer access to their data, we have released version 2 of the ICP connection data API. This release follows an external review of the API which found no material issues.
The original ICP connection API (v1) will eventually be deprecated but for now will continue to operate so that services relying on it will not be interrupted. Version 1 of the API will be turned off on 1 September 2020.
Subscribers to the API should migrate to version 2 and take advantage of the additional information at their convenience, but should do so before 1 September 2020. Migrating to the new version will require a simple change to the URL call to include v2 in the call and some changes to the search call request parameters - see release notes below. Some minor tweaks will also be required to appropriately handle the additional fields and improved error responses available in v2. Users can test the new API and responses on the API platform.
The My Meter webpage has also been updated to provide access to the new registry fields released through v2 of the API.
Version 2 ICP connection data API release notes
The original ICP connection data API that was released in 2016 as part of the Authority's 'Retail Data Project (RDP)'.
Version (v2) is now available and follows further consultation in 2019 as part of the 'Additional Consumer Choice of Electricity Services (ACCES)' project. This version of the API includes additional fields along with some other enhancements.
'Get by ID' and 'Get by ID list' call changes
New fields released
- "PropertyNameOrDescription" (string) in the Address object (called "Property Name" in the registry functional spec)
- "InitialElectricallyConnectedDate" (string formatted as YYYY-MM-DD) in the Network object
- "TraderSwitchInProgress" (boolean) in the Trader object
- "ANZSICcode" (string) in the Trader object
- "ProfileCode" (string) in the Trader object
- "CertificationExpiryDate" (string formatted as YYYY-MM-DD) in the Meter installation object
- "ComponentType" (string) in the Meter component object
- "SwitchReadIndicator" (boolean) in the Meter channel object (called "Settlement Indicator" in the registry functional spec, but only indicates if the channel read may be needed in the switch process)
- "NetworkParticipantName" (string) in Network object (included via lookup of "NetworkParticipantID" field, will repeat the ID if not found)
- "TraderParticipantName" (string) in Trader object (included via lookup of "TraderParticipantID" field, will repeat the ID if not found)
- "MeteringEquipmentProviderParticipantName" (string) in Metering object (included via lookup of "MeteringEquipmentProviderParticipantID" field, will repeat the ID if not found)
Moved fields
- "ICPIdentifier" moved to first in the return order
- "ICPStatus" moved to second in the return order
Renamed fields
- "NetworkParticipantID" in the Network object renamed from "Network"
- "TraderParticipantID" in the Trader object renamed from "Trader"
- "MeteringEquipmentProviderParticipantID" in the Metering object renamed from "MeteringEquipmentProvider"
'Search' call changes
New fields released
- "PropertyNameOrDescription" (string) in Address object (called "Property Name" in the registry functional spec)
Renamed request parameters
- “streetNumber” renamed from “unitOrNumber”
- “streetName” renamed from “streetOrPropertyName”
Gating and response code changes
- 400 'bad request' code included filtering ICPs not meeting the required format
- Messages will be returned in the messages object with the appropriate code where available
'Get by ID' call - successful response sample (The 'Get by ID list' call follows the same format)
{
"ICPIdentifier": "string",
"ICPStatus": 0,
"Address": {
"PropertyNameOrDescription": "string",
"PhysicalAddressUnit": "string",
"PhysicalAddressNumber": "string",
"PhysicalAddressStreet": "string",
"PhysicalAddressSuburb": "string",
"PhysicalAddressTown": "string",
"PhysicalAddressRegion": "string",
"PhysicalAddressPostCode": 0,
"GPS_Easting": 0.086597829994870867,
"GPS_Northing": 0.089592538769447838
},
"Network": {
"NetworkParticipantID": "string",
"NetworkParticipantName": "string",
"POC": "string",
"ReconciliationType": "string",
"InitialElectricallyConnectedDate": "string",
"GenerationCapacity": 0.59222133055867521,
"FuelType": "string",
"DirectBilledStatus": "string"
},
"Pricing": {
"DistributorPriceCategoryCode": "string",
"DistributorLossCategoryCode": "string",
"ChargeableCapacity": 0.74166837179270262,
"DistributorInstallationDetails": "string"
},
"Trader": {
"TraderSwitchInProgress": false,
"TraderParticipantID": "string",
"TraderParticipantName": "string",
"ProfileCode": "string",
"ANZSICcode": "string",
"DailyUnmeteredkWh": "string",
"UnmeteredLoadDetails": "string"
},
"Metering": {
"MeteringEquipmentProviderParticipantID": "string",
"MeteringEquipmentProviderParticipantName": "string",
"InstallationInformation": [
{
"MeteringInstallationCategory": 0,
"MeteringInstallationType": "string",
"CertificationExpiryDate": "string",
"ComponentInformation": [
{
"ComponentType": "string",
"MeteringComponentSerialNumber": "string",
"MeterType": "string",
"AMIFlag": false,
"CompensationFactor": 0.68670529385750934,
"ChannelInformation": [
{
"MeteringComponentSerialNumber": "string",
"ChannelNumber": 0,
"RegisterContentCode": "string",
"PeriodOfAvailability": "string",
"UnitOfMeasurement": "string",
"EnergyFlowDirection": "string",
"AccumulatorType": "string",
"SwitchReadIndicator": false
}
]
}
]
}
]
},
"Messages": [
"string"
]
}
'Search' call – successful response sample
{
"Address": {
"PropertyNameOrDescription": "string",
"PhysicalAddressStreet": "string",
"PhysicalAddressSuburb": "string",
"PhysicalAddressTown": "string",
"PhysicalAddressRegion": "string",
"PhysicalAddressPostCode": 0,
"GPS_Easting": 0.11158078265068716,
"GPS_Northing": 0.53635229909462989
},
"ICPIdentifier": "string",
"ICPStatus": 0,
"Messages": [
"string"
]
}