Skip to main content

Customer Migrations Guide: Supply Point Import

This page documents the reference information for the APIs for importing supply points for network distribution

Validate supply point

Overview

Use this endpoint to validate a supply point payload.

Schema

Loading...
POST https://api.essentialenergy-kraken.systems/v2/data-import/supply-points/validate/

Responses

The following responses may be returned from the API.

Status codeDescription
200 - OK

If the payload is valid, a 200 OK response will be returned with the validated data as its body. You may now move onto the next stage and create the supply point in Kraken.

400 - Bad Request

If there are validation errors a 400 Bad Request response will be returned detailing the errors. To resolve these errors, refer to the field definitions and validation rules. Response example:

{ "supply_point": { "identifier": [ "123456789 is not a valid supply point identifier." ] } }

Payloads

Example payload
{ "payload": { "import_supplier": "TEST_SUPPLIER", "supply_point": { "identifier": "4001248530", "supply_type": "ELECTRICITY_DISTRIBUTION", "substation": "123456789", "critical_load": false }, "accounts": [ { "account_type": "DOMESTIC_THIRD_PARTY_BILLED", "customer_at_supply_address_from_date": "2024-01-01", "customers": [ { "title": "Mr", "given_name": "Mickey", "family_name": "Mouse", "email": "mrmickey@waltdisney.com", "mobile": "0488008221", "landline": "+61280082213", "salutation": "Hi", "account_roles": [ "ADMIN" ], "postal_address": { "administrative_area": "NSW", "country": "AU", "delivery_point_identifier": "", "dependent_locality": "", "locality": "MOREE", "postal_code": "2400", "sorting_code": "", "street_address": "", "structured_street_address": { "postal_delivery_number_value": "111", "postal_delivery_type": "PO BOX" } } } ], "outage_contact": { "title": "Mr", "given_name": "Mickey", "family_name": "Mouse", "suffix": "XYZ", "name_type": "AKA", "phone_1": { "number": "0400123123", "service_type": "MOBILE_VOICE", "prefix": "+61" }, "phone_2": { "number": "0400321321", "service_type": "MOBILE_VOICE", "prefix": "" }, "email_address": "mrmickey1@waltdisney.com", "postal_address": { "administrative_area": "NSW", "country": "AU", "locality": "ANY", "postal_code": "3070", "delivery_point_identifier": "51234568", "structured_street_address": { "house_number_1": "11", "building_or_property_name": "", "flat_or_unit_number": "1", "flat_or_unit_type": "U", "street_name": "Queen's", "street_type": "RD" } } } } ] } }

Create supply point

Overview

Use this endpoint to create a supply point and associated objects.

Before a supply point is created, it is validated according to the same rules as the validate supply point endpoint. This is an extra safety check to make sure nothing has changed between preparing the data and submitting it for creation in Kraken.

Schema

Loading...
POST https://api.essentialenergy-kraken.systems/v2/data-import/supply-points/

Responses

The following responses may be returned from the API.

Status codeDescription
201 - Created

If the payload is valid, and supply point creation has been scheduled, a 201 Created response will be returned with the empty payload as its body.

400 - Bad Request

If there are validation errors, a 400 Bad Request response will be returned detailing the errors. To resolve these errors, refer to the field definitions and validation rules. For example:

{ "non_field_errors": { "detail": "The import process with the supply point identifier 123456789 has already been imported.", "code": "supply_point_import_process_already_imported" }, "supply_point_identifier": "123456789" }

Payloads

Example payload
{ "payload": { "import_supplier": "TEST_SUPPLIER", "supply_point": { "identifier": "4001248530", "supply_type": "ELECTRICITY_DISTRIBUTION", "substation": "123456789", "critical_load": false }, "accounts": [ { "account_type": "DOMESTIC_THIRD_PARTY_BILLED", "customer_at_supply_address_from_date": "2024-01-01", "customers": [ { "title": "Mr", "given_name": "Mickey", "family_name": "Mouse", "email": "mrmickey@waltdisney.com", "mobile": "0488008221", "landline": "+61280082213", "salutation": "Hi", "account_roles": [ "ADMIN" ], "postal_address": { "administrative_area": "NSW", "country": "AU", "delivery_point_identifier": "", "dependent_locality": "", "locality": "MOREE", "postal_code": "2400", "sorting_code": "", "street_address": "", "structured_street_address": { "postal_delivery_number_value": "111", "postal_delivery_type": "PO BOX" } } } ], "outage_contact": { "title": "Mr", "given_name": "Mickey", "family_name": "Mouse", "suffix": "XYZ", "name_type": "AKA", "phone_1": { "number": "0400123123", "service_type": "MOBILE_VOICE", "prefix": "+61" }, "phone_2": { "number": "0400321321", "service_type": "MOBILE_VOICE", "prefix": "" }, "email_address": "mrmickey1@waltdisney.com", "postal_address": { "administrative_area": "NSW", "country": "AU", "locality": "ANY", "postal_code": "3070", "delivery_point_identifier": "51234568", "structured_street_address": { "house_number_1": "11", "building_or_property_name": "", "flat_or_unit_number": "1", "flat_or_unit_type": "U", "street_name": "Queen's", "street_type": "RD" } } } } ] } }

Get supply point import status

Overview

Use this endpoint to retrieve the current status of a supply point import.

GET https://api.essentialenergy-kraken.systems/v2/data-import/supply-points/<import-supplier-code>/<external-identifier>/

Responses

The following responses may be returned from the API.

Status codeDescription
200 - OK

If the supply point import process exists, a 200 OK response will be returned, detailing the status.

For example when there is no error in processing:

{ "status": "IN_PROGRESS | PENDING | CANCELLED | DRY_RUN_SUCCEEDED | PROCESSED", "kraken_identifier": null, "created_at": "2025-10-07T09:00:21.179194+02:00", "modified_at": "2025-10-07T09:06:38.078396+02:00", "latest_error": null }

For example when the import process is processed we have an internal kraken id:

{ "status": "PROCESSED", "kraken_identifier": "INTERNAL-KRAKEN-IDENTIFIER", "created_at": "2025-10-07T09:00:21.179194+02:00", "modified_at": "2025-10-07T09:06:38.078396+02:00", "latest_error": null }

For example when there is an error in processing:

{ "status": "ERRORED | DRY_RUN_ERRORED", "kraken_identifier": null, "created_at": "2025-10-07T09:00:21.179194+02:00", "modified_at": "2025-10-07T09:06:38.078396+02:00", "latest_error": { "code": "some_error_code", "detail": "A detailed error message", "domain": "account_import" } }
404 - Not Found

If there is not a matching import process:

{ "detail": "The requested resource was not found.", "code": "not_found" }