{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/agl-energy/main/json-schema/agl-energy-energy-service-point-list-response-v2-schema.json",
  "title": "EnergyServicePointListResponseV2",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agl-energy-electricity-service-points-api-openapi.yml#/components/schemas/EnergyServicePointListResponseV2",
  "properties": {
    "data": {
      "$ref": "#/$defs/EnergyServicePointListResponseV2_data"
    },
    "links": {
      "$ref": "#/$defs/LinksPaginated"
    },
    "meta": {
      "$ref": "#/$defs/MetaPaginated"
    }
  },
  "required": [
    "data",
    "links",
    "meta"
  ],
  "type": "object",
  "$defs": {
    "EnergyServicePointId": {
      "description": "A unique identifier for an Energy service point, generated according to [CDR ID Permanence](#id-permanence) requirements.",
      "type": "string",
      "x-cds-type": "ASCIIString"
    },
    "EnergyServicePointListResponseV2_data": {
      "properties": {
        "servicePoints": {
          "items": {
            "$ref": "#/$defs/EnergyServicePointV2"
          },
          "type": "array"
        }
      },
      "required": [
        "servicePoints"
      ],
      "type": "object"
    },
    "EnergyServicePointV2": {
      "properties": {
        "servicePointId": {
          "allOf": [
            {
              "$ref": "#/$defs/EnergyServicePointId"
            }
          ],
          "description": "Unique identifier for the service point."
        },
        "nationalMeteringId": {
          "description": "The independent ID of the service point, known in the industry as the NMI.",
          "type": "string"
        },
        "servicePointClassification": {
          "description": "The classification of the service point as defined in MSATS procedures.",
          "enum": [
            "EXTERNAL_PROFILE",
            "GENERATOR",
            "LARGE",
            "SMALL",
            "WHOLESALE",
            "NON_CONTEST_UNMETERED_LOAD",
            "NON_REGISTERED_EMBEDDED_GENERATOR",
            "DISTRIBUTION_WHOLESALE"
          ],
          "type": "string"
        },
        "servicePointStatus": {
          "description": "Code used to indicate the status of the service point. Note the details for the enumeration values below:<ul><li>`ACTIVE`: An active, energised, service point</li><li>`DE_ENERGISED`: The service point exists but is deenergised</li><li>`EXTINCT`: The service point has been permanently decommissioned</li><li>`GREENFIELD`: Applies to a service point that has never been energised</li><li>`OFF_MARKET`: Applies when the service point is no longer settled in the NEM.</li></ul>",
          "enum": [
            "ACTIVE",
            "DE_ENERGISED",
            "EXTINCT",
            "GREENFIELD",
            "OFF_MARKET"
          ],
          "type": "string"
        },
        "jurisdictionCode": {
          "description": "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:<ul><li>`ALL`: All Jurisdictions</li><li>`ACT`: Australian Capital Territory</li><li>`NEM`: National Electricity Market</li><li>`NSW`: New South Wales</li><li>`QLD`: Queensland</li><li>`SA`: South Australia</li><li>`TAS`: Tasmania</li><li>`VIC`: Victoria.</li></ul>",
          "enum": [
            "ALL",
            "ACT",
            "NEM",
            "NSW",
            "QLD",
            "SA",
            "TAS",
            "VIC"
          ],
          "type": "string"
        },
        "isGenerator": {
          "default": false,
          "description": "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`. <br>**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer.",
          "type": "boolean"
        },
        "validFromDate": {
          "description": "The latest start date from which the constituent data sets of this service point became valid.",
          "type": "string",
          "x-cds-type": "DateString"
        },
        "lastUpdateDateTime": {
          "description": "The date and time that the information for this service point was modified.",
          "type": "string",
          "x-cds-type": "DateTimeString"
        },
        "lastConsumerChangeDate": {
          "description": "The date the account holder changed for the NMI.",
          "type": "string",
          "x-cds-type": "DateString"
        },
        "consumerProfile": {
          "$ref": "#/$defs/EnergyServicePointV2_consumerProfile"
        }
      },
      "required": [
        "jurisdictionCode",
        "lastUpdateDateTime",
        "nationalMeteringId",
        "servicePointClassification",
        "servicePointId",
        "servicePointStatus",
        "validFromDate"
      ],
      "type": "object"
    },
    "EnergyServicePointV2_consumerProfile": {
      "properties": {
        "classification": {
          "description": "A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments.",
          "enum": [
            "BUSINESS",
            "RESIDENTIAL"
          ],
          "type": "string"
        },
        "threshold": {
          "description": "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: <ul><li>`LOW`: Consumption is less than the 'lower consumption threshold' as defined in the National Energy Retail Regulations</li><li>`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</li><li>`HIGH`: Consumption is equal to or greater than the 'upper consumption threshold' as defined in the National Energy Retail Regulations.</li></ul>",
          "enum": [
            "LOW",
            "MEDIUM",
            "HIGH"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "LinksPaginated": {
      "properties": {
        "self": {
          "description": "Fully qualified link that generated the current response document.",
          "type": "string",
          "x-cds-type": "URIString"
        },
        "first": {
          "description": "URI to the first page of this set. Mandatory if this response is not the first page.",
          "type": "string",
          "x-cds-type": "URIString"
        },
        "prev": {
          "description": "URI to the previous page of this set. Mandatory if this response is not the first page.",
          "type": "string",
          "x-cds-type": "URIString"
        },
        "next": {
          "description": "URI to the next page of this set. Mandatory if this response is not the last page.",
          "type": "string",
          "x-cds-type": "URIString"
        },
        "last": {
          "description": "URI to the last page of this set. Mandatory if this response is not the last page.",
          "type": "string",
          "x-cds-type": "URIString"
        }
      },
      "required": [
        "self"
      ],
      "type": "object",
      "x-conditional": [
        "first",
        "prev",
        "next",
        "last"
      ]
    },
    "MetaPaginated": {
      "properties": {
        "totalRecords": {
          "description": "The total number of records in the full set. See [pagination](#pagination).",
          "type": "integer",
          "x-cds-type": "NaturalNumber"
        },
        "totalPages": {
          "description": "The total number of pages in the full set. See [pagination](#pagination).",
          "type": "integer",
          "x-cds-type": "NaturalNumber"
        }
      },
      "required": [
        "totalPages",
        "totalRecords"
      ],
      "type": "object"
    }
  }
}