{
  "openapi" : "3.0.3",
  "info" : {
    "contact" : {
      "email" : "contact@dsb.gov.au",
      "name" : "Data Standards Body",
      "url" : "https://dsb.gov.au/"
    },
    "description" : "Specifications for resource endpoints applicable to secondary data holders in the Energy sector.",
    "title" : "CDR Energy Secondary Data Holder API",
    "version" : "1.34.1"
  },
  "servers" : [ {
    "description" : "TLS",
    "url" : "https://tls.sdh.example.com/cds-au/v1"
  } ],
  "tags" : [ {
    "description" : "Electricity Service Point (SR) endpoints",
    "name" : "Electricity Service Points (SR)",
    "x-shortName" : "Service Points"
  }, {
    "description" : "Electricity Usage (SR) endpoints",
    "name" : "Electricity Usage (SR)",
    "x-shortName" : "Usage"
  }, {
    "description" : "Distributed Energy Resource (SR) endpoints",
    "name" : "Distributed Energy Resources (SR)",
    "x-shortName" : "Distributed Energy Resources"
  } ],
  "paths" : {
    "/secondary/energy/electricity/servicepoints" : {
      "post" : {
        "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-SR-v1.html).",
        "operationId" : "listElectricityServicePointsSR",
        "parameters" : [ {
          "description" : "Page of results to request (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request. Default is 25 (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/RequestSDHServicePointIds"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyServicePointListResponseV2"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "description" : "An **[[RFC4122]](#nref-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]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
                "explode" : false,
                "schema" : {
                  "type" : "string"
                },
                "style" : "simple"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Service Points (SR)",
        "tags" : [ "Electricity Service Points (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "2"
      }
    },
    "/secondary/energy/electricity/servicepoints/{servicePointId}" : {
      "get" : {
        "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-SR-v1.html).",
        "operationId" : "getElectricityServicePointDetailSR",
        "parameters" : [ {
          "description" : "The independent ID of the service point, known in the industry as the NMI. The _servicePointId_ will be replaced with NMI for all interactions between Data Holder and AEMO.",
          "explode" : false,
          "in" : "path",
          "name" : "servicePointId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyServicePointDetailResponseV2"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "description" : "An **[[RFC4122]](#nref-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]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
                "explode" : false,
                "schema" : {
                  "type" : "string"
                },
                "style" : "simple"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Service Point Detail (SR)",
        "tags" : [ "Electricity Service Points (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "2"
      }
    },
    "/secondary/energy/electricity/servicepoints/{servicePointId}/usage" : {
      "get" : {
        "description" : "Obtain a list of electricity usage data from a particular service point.",
        "operationId" : "getElectricityServicePointUsageSR",
        "parameters" : [ {
          "description" : "The independent ID of the service point, known in the industry as the NMI. The _servicePointId_ will be replaced with NMI for all interactions between Data Holder and AEMO.",
          "explode" : false,
          "in" : "path",
          "name" : "servicePointId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "style" : "simple"
        }, {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to _newest-date_ minus 24 months. Format is aligned to DateString common type.",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or before this date. If absent defaults to current date. Format is aligned to DateString common type.",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to `NONE`.",
          "explode" : true,
          "in" : "query",
          "name" : "interval-reads",
          "required" : false,
          "schema" : {
            "default" : "NONE",
            "enum" : [ "NONE", "MIN_30", "FULL" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Page of results to request (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request. Default is 25 (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyUsageListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Usage For Service Point (SR)",
        "tags" : [ "Electricity Usage (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "1"
      }
    },
    "/secondary/energy/electricity/servicepoints/usage" : {
      "post" : {
        "description" : "Obtain the electricity usage data for a specific set of service points.",
        "operationId" : "listElectricityUsageForServicePointsSR",
        "parameters" : [ {
          "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to _newest-date_ minus 24 months. Format is aligned to DateString common type.",
          "explode" : true,
          "in" : "query",
          "name" : "oldest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Constrain the request to records with effective date at or before this date. If absent defaults to current date. Format is aligned to DateString common type.",
          "explode" : true,
          "in" : "query",
          "name" : "newest-date",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "form",
          "x-cds-type" : "DateString"
        }, {
          "description" : "Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to `NONE`.",
          "explode" : true,
          "in" : "query",
          "name" : "interval-reads",
          "required" : false,
          "schema" : {
            "default" : "NONE",
            "enum" : [ "NONE", "MIN_30", "FULL" ],
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Page of results to request (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request. Default is 25 (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/RequestSDHServicePointIds"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyUsageListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Service Point](#error-422-unavailable-service-point)</li><li>[422 - Invalid Service Point](#error-422-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get Usage For Specific Service Points (SR)",
        "tags" : [ "Electricity Usage (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "1"
      }
    },
    "/secondary/energy/electricity/servicepoints/{servicePointId}/der" : {
      "get" : {
        "description" : "Obtain a list of DER data from a particular service point.",
        "operationId" : "getElectricityDERForServicePointSR",
        "parameters" : [ {
          "description" : "The independent ID of the service point, known in the industry as the NMI. The _servicePointId_ will be replaced with NMI for all interactions between Data Holder and AEMO.",
          "explode" : false,
          "in" : "path",
          "name" : "servicePointId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyDerDetailResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get DER For Service Point (SR)",
        "tags" : [ "Distributed Energy Resources (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "1"
      }
    },
    "/secondary/energy/electricity/servicepoints/der" : {
      "post" : {
        "description" : "Obtain DER data for a specific set of service points.",
        "operationId" : "listElectricityDERForSpecificServicePointsSR",
        "parameters" : [ {
          "description" : "Page of results to request (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "Page size to request. Default is 25 (standard pagination).",
          "explode" : true,
          "in" : "query",
          "name" : "page-size",
          "required" : false,
          "schema" : {
            "type" : "integer"
          },
          "style" : "form",
          "x-cds-type" : "PositiveInteger"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
          "explode" : false,
          "in" : "header",
          "name" : "x-v",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
          "explode" : false,
          "in" : "header",
          "name" : "x-min-v",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
          "explode" : false,
          "in" : "header",
          "name" : "x-fapi-interaction-id",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "description" : "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.",
          "explode" : false,
          "in" : "header",
          "name" : "x-cds-arrangement",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/RequestSDHServicePointIds"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EnergyDerListResponse"
                }
              }
            },
            "description" : "Successful response",
            "headers" : {
              "x-v" : {
                "$ref" : "#/components/headers/XV"
              },
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseErrorListV2"
                }
              }
            },
            "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Service Point](#error-422-unavailable-service-point)</li><li>[422 - Invalid Service Point](#error-422-invalid-service-point)</li></ul>",
            "headers" : {
              "x-fapi-interaction-id" : {
                "$ref" : "#/components/headers/XFAPIInteractionId"
              }
            }
          }
        },
        "summary" : "Get DER For Specific Service Points (SR)",
        "tags" : [ "Distributed Energy Resources (SR)" ],
        "x-restricted-access" : "AEMO",
        "x-version" : "1"
      }
    }
  },
  "components" : {
    "headers" : {
      "XV" : {
        "description" : "The [payload version](#response-headers) that the endpoint has responded with.",
        "explode" : false,
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "XFAPIInteractionId" : {
        "description" : "An **[[RFC4122]](#nref-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]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
        "explode" : false,
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      }
    },
    "parameters" : {
      "PathSDHServicePointId" : {
        "description" : "The independent ID of the service point, known in the industry as the NMI. The _servicePointId_ will be replaced with NMI for all interactions between Data Holder and AEMO.",
        "explode" : false,
        "in" : "path",
        "name" : "servicePointId",
        "required" : true,
        "schema" : {
          "$ref" : "#/components/schemas/EnergySDHServicePointId"
        },
        "style" : "simple"
      },
      "QueryEnergyIntervalReads" : {
        "description" : "Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to `NONE`.",
        "explode" : true,
        "in" : "query",
        "name" : "interval-reads",
        "required" : false,
        "schema" : {
          "default" : "NONE",
          "enum" : [ "NONE", "MIN_30", "FULL" ],
          "type" : "string"
        },
        "style" : "form"
      },
      "QueryNewestDate" : {
        "description" : "Constrain the request to records with effective date at or before this date. If absent defaults to current date. Format is aligned to DateString common type.",
        "explode" : true,
        "in" : "query",
        "name" : "newest-date",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateString"
      },
      "QueryOldestDate" : {
        "description" : "Constrain the request to records with effective date at or after this date. If absent defaults to _newest-date_ minus 24 months. Format is aligned to DateString common type.",
        "explode" : true,
        "in" : "query",
        "name" : "oldest-date",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "x-cds-type" : "DateString"
      },
      "QueryPage" : {
        "description" : "Page of results to request (standard pagination).",
        "explode" : true,
        "in" : "query",
        "name" : "page",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "style" : "form",
        "x-cds-type" : "PositiveInteger"
      },
      "QueryPageSize" : {
        "description" : "Page size to request. Default is 25 (standard pagination).",
        "explode" : true,
        "in" : "query",
        "name" : "page-size",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "style" : "form",
        "x-cds-type" : "PositiveInteger"
      },
      "HeaderXV" : {
        "description" : "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_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) 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](#request-headers).",
        "explode" : false,
        "in" : "header",
        "name" : "x-v",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXMinV" : {
        "description" : "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_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.",
        "explode" : false,
        "in" : "header",
        "name" : "x-min-v",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXFAPIInteractionId" : {
        "description" : "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]](#nref-RFC4122)** UUID value for the _x-fapi-interaction-id_ header.",
        "explode" : false,
        "in" : "header",
        "name" : "x-fapi-interaction-id",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      },
      "HeaderXCDSArrangement" : {
        "description" : "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.",
        "explode" : false,
        "in" : "header",
        "name" : "x-cds-arrangement",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "style" : "simple"
      }
    },
    "requestBodies" : {
      "RequestSDHServicePointIds" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/RequestSDHServicePointIdListV1"
            }
          }
        },
        "description" : "Request payload containing a list of _servicePointId_ values to obtain data for.",
        "required" : true
      }
    },
    "responses" : {
      "ListElectricityServicePoints200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyServicePointListResponseV2"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityServicePoints400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "description" : "An **[[RFC4122]](#nref-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]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
            "explode" : false,
            "schema" : {
              "type" : "string"
            },
            "style" : "simple"
          }
        }
      },
      "ListElectricityServicePoints406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityServicePoints422" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointDetail200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyServicePointDetailResponseV2"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointDetail400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointDetail404" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "description" : "An **[[RFC4122]](#nref-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]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.",
            "explode" : false,
            "schema" : {
              "type" : "string"
            },
            "style" : "simple"
          }
        }
      },
      "GetElectricityServicePointDetail406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointUsage200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyUsageListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointUsage400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointUsage404" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointUsage406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityServicePointUsage422" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityUsageForServicePoints200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyUsageListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityUsageForServicePoints400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityUsageForServicePoints406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityUsageForServicePoints422" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Service Point](#error-422-unavailable-service-point)</li><li>[422 - Invalid Service Point](#error-422-invalid-service-point)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityDERForServicePoint200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyDerDetailResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityDERForServicePoint400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityDERForServicePoint404" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[404 - Unavailable Service Point](#error-404-unavailable-service-point)</li><li>[404 - Invalid Service Point](#error-404-invalid-service-point)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "GetElectricityDERForServicePoint406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityDERForSpecificServicePoints200" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/EnergyDerListResponse"
            }
          }
        },
        "description" : "Successful response",
        "headers" : {
          "x-v" : {
            "$ref" : "#/components/headers/XV"
          },
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityDERForSpecificServicePoints400" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityDERForSpecificServicePoints406" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      },
      "ListElectricityDERForSpecificServicePoints422" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ResponseErrorListV2"
            }
          }
        },
        "description" : "The following error codes **MUST** be supported:<br/><ul class=\"error-code-list\"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li><li>[422 - Unavailable Service Point](#error-422-unavailable-service-point)</li><li>[422 - Invalid Service Point](#error-422-invalid-service-point)</li></ul>",
        "headers" : {
          "x-fapi-interaction-id" : {
            "$ref" : "#/components/headers/XFAPIInteractionId"
          }
        }
      }
    },
    "schemas" : {
      "EnergyServicePointListResponseV2" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/EnergyServicePointListResponseV2_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "EnergyServicePointDetailResponseV2" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/EnergyServicePointDetailV2"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "EnergyUsageListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/EnergyUsageListResponse_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "EnergyDerListResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/EnergyDerListResponse_data"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksPaginated"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaPaginated"
          }
        },
        "required" : [ "data", "links", "meta" ],
        "type" : "object"
      },
      "EnergyDerDetailResponse" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/EnergyDerRecord"
          },
          "links" : {
            "$ref" : "#/components/schemas/Links"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data", "links" ],
        "type" : "object"
      },
      "ResponseErrorListV2" : {
        "properties" : {
          "errors" : {
            "description" : "List of errors.",
            "items" : {
              "$ref" : "#/components/schemas/ErrorV2"
            },
            "type" : "array"
          }
        },
        "required" : [ "errors" ],
        "type" : "object"
      },
      "ErrorV2" : {
        "properties" : {
          "code" : {
            "description" : "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.",
            "type" : "string"
          },
          "title" : {
            "description" : "A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code.",
            "type" : "string"
          },
          "detail" : {
            "description" : "A human-readable explanation specific to this occurrence of the problem.",
            "type" : "string"
          },
          "meta" : {
            "$ref" : "#/components/schemas/ErrorV2_meta"
          }
        },
        "required" : [ "code", "detail", "title" ],
        "type" : "object",
        "x-conditional" : [ "meta" ]
      },
      "EnergyServicePointV2" : {
        "properties" : {
          "servicePointId" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "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" : "#/components/schemas/EnergyServicePointV2_consumerProfile"
          }
        },
        "required" : [ "jurisdictionCode", "lastUpdateDateTime", "nationalMeteringId", "servicePointClassification", "servicePointId", "servicePointStatus", "validFromDate" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/EnergyServicePointV2"
        }, {
          "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf"
        } ]
      },
      "EnergyUsageRead" : {
        "properties" : {
          "servicePointId" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "registerId" : {
            "description" : "Register ID of the meter register where the meter reads are obtained.",
            "type" : "string"
          },
          "registerSuffix" : {
            "description" : "Register suffix of the meter register where the meter reads are obtained.",
            "type" : "string"
          },
          "meterId" : {
            "description" : "Meter id/serial number as it appears in customer's bill. ID permanence rules do not apply.",
            "type" : "string"
          },
          "controlledLoad" : {
            "description" : "Indicates whether the energy recorded by this register is created under a Controlled Load regime.",
            "type" : "boolean"
          },
          "readStartDate" : {
            "description" : "Date when the meter reads start in AEST and assumed to start from 12:00am AEST.",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "readEndDate" : {
            "description" : "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_.",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "unitOfMeasure" : {
            "description" : "Unit of measure of the meter reads. Refer to Appendix B of <a href='https://www.aemo.com.au/-/media/files/stakeholder_consultation/consultations/nem-consultations/2019/5ms-metering-package-2/final-determination/mdff-specification-nem12-nem13-v21-final-determination-clean.pdf?la=en&hash=03FCBA0D60E091DE00F2361AE76206EA'>MDFF Specification NEM12 NEM13 v2.1</a> for a list of possible values.",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          },
          "readUType" : {
            "description" : "Specify the type of the meter read data.",
            "enum" : [ "basicRead", "intervalRead" ],
            "type" : "string"
          },
          "basicRead" : {
            "$ref" : "#/components/schemas/EnergyUsageRead_basicRead"
          },
          "intervalRead" : {
            "$ref" : "#/components/schemas/EnergyUsageRead_intervalRead"
          }
        },
        "required" : [ "readStartDate", "readUType", "registerSuffix", "servicePointId" ],
        "type" : "object",
        "x-conditional" : [ "basicRead", "intervalRead" ]
      },
      "EnergyDerRecord" : {
        "properties" : {
          "servicePointId" : {
            "$ref" : "#/components/schemas/EnergySDHServicePointId"
          },
          "approvedCapacity" : {
            "description" : "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_.",
            "type" : "number"
          },
          "availablePhasesCount" : {
            "description" : "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_.",
            "maximum" : 3,
            "minimum" : 0,
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "installedPhasesCount" : {
            "description" : "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_.",
            "maximum" : 3,
            "minimum" : 0,
            "type" : "integer",
            "x-cds-type" : "NaturalNumber"
          },
          "islandableInstallation" : {
            "description" : "For identification of small generating units designed with the ability to operate in an islanded mode.",
            "type" : "boolean"
          },
          "hasCentralProtectionControl" : {
            "default" : false,
            "description" : "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`.",
            "type" : "boolean"
          },
          "protectionMode" : {
            "$ref" : "#/components/schemas/EnergyDerRecord_protectionMode"
          },
          "acConnections" : {
            "items" : {
              "$ref" : "#/components/schemas/EnergyDerRecord_acConnections"
            },
            "type" : "array"
          }
        },
        "required" : [ "acConnections", "approvedCapacity", "availablePhasesCount", "installedPhasesCount", "islandableInstallation", "servicePointId" ],
        "type" : "object",
        "x-conditional" : [ "protectionMode" ]
      },
      "CommonPhysicalAddress" : {
        "properties" : {
          "addressUType" : {
            "description" : "The type of address object present.",
            "enum" : [ "paf", "simple" ],
            "type" : "string"
          },
          "simple" : {
            "$ref" : "#/components/schemas/CommonSimpleAddress"
          },
          "paf" : {
            "$ref" : "#/components/schemas/CommonPAFAddress"
          }
        },
        "required" : [ "addressUType" ],
        "type" : "object",
        "x-conditional" : [ "simple", "paf" ]
      },
      "CommonSimpleAddress" : {
        "description" : "Required if _addressUType_ is set to `simple`.",
        "properties" : {
          "mailingName" : {
            "description" : "Name of the individual or business formatted for inclusion in an address used for physical mail.",
            "type" : "string"
          },
          "addressLine1" : {
            "description" : "First line of the standard address object.",
            "type" : "string"
          },
          "addressLine2" : {
            "description" : "Second line of the standard address object.",
            "type" : "string"
          },
          "addressLine3" : {
            "description" : "Third line of the standard address object.",
            "type" : "string"
          },
          "postcode" : {
            "description" : "Mandatory for Australian addresses.",
            "type" : "string"
          },
          "city" : {
            "description" : "Name of the city or locality.",
            "type" : "string"
          },
          "state" : {
            "description" : "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](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.",
            "type" : "string"
          },
          "country" : {
            "default" : "AUS",
            "description" : "A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present.",
            "type" : "string",
            "x-cds-type" : "ExternalRef"
          }
        },
        "required" : [ "addressLine1", "city", "state" ],
        "type" : "object",
        "x-conditional" : [ "postcode" ]
      },
      "CommonPAFAddress" : {
        "description" : "Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if _addressUType_ is set to `paf`.",
        "properties" : {
          "dpid" : {
            "description" : "Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier.",
            "type" : "string"
          },
          "thoroughfareNumber1" : {
            "description" : "Thoroughfare number for a property (first number in a property ranged address).",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "thoroughfareNumber1Suffix" : {
            "description" : "Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated.",
            "type" : "string"
          },
          "thoroughfareNumber2" : {
            "description" : "Second thoroughfare number (only used if the property has a ranged address e.g., 23-25).",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "thoroughfareNumber2Suffix" : {
            "description" : "Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated.",
            "type" : "string"
          },
          "flatUnitType" : {
            "description" : "Type of flat or unit for the address.",
            "type" : "string"
          },
          "flatUnitNumber" : {
            "description" : "Unit number (including suffix, if applicable).",
            "type" : "string"
          },
          "floorLevelType" : {
            "description" : "Type of floor or level for the address.",
            "type" : "string"
          },
          "floorLevelNumber" : {
            "description" : "Floor or level number (including alpha characters).",
            "type" : "string"
          },
          "lotNumber" : {
            "description" : "Allotment number for the address.",
            "type" : "string"
          },
          "buildingName1" : {
            "description" : "Building/Property name 1.",
            "type" : "string"
          },
          "buildingName2" : {
            "description" : "Building/Property name 2.",
            "type" : "string"
          },
          "streetName" : {
            "description" : "The name of the street.",
            "type" : "string"
          },
          "streetType" : {
            "description" : "The street type. Valid enumeration defined by Australia Post PAF code file.",
            "type" : "string"
          },
          "streetSuffix" : {
            "description" : "The street type suffix. Valid enumeration defined by Australia Post PAF code file.",
            "type" : "string"
          },
          "postalDeliveryType" : {
            "description" : "Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file.",
            "type" : "string"
          },
          "postalDeliveryNumber" : {
            "description" : "Postal delivery number if the address is a postal delivery type.",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "postalDeliveryNumberPrefix" : {
            "description" : "Postal delivery number prefix related to the postal delivery number.",
            "type" : "string"
          },
          "postalDeliveryNumberSuffix" : {
            "description" : "Postal delivery number suffix related to the postal delivery number.",
            "type" : "string"
          },
          "localityName" : {
            "description" : "Full name of locality.",
            "type" : "string"
          },
          "postcode" : {
            "description" : "Postcode for the locality.",
            "type" : "string"
          },
          "state" : {
            "description" : "State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.",
            "type" : "string"
          }
        },
        "required" : [ "localityName", "postcode", "state" ],
        "type" : "object"
      },
      "RequestSDHServicePointIdListV1" : {
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/RequestSDHServicePointIdListV1_data"
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          }
        },
        "required" : [ "data" ],
        "type" : "object"
      },
      "EnergySDHServicePointId" : {
        "description" : "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.",
        "type" : "string",
        "x-cds-type" : "ASCIIString"
      },
      "Links" : {
        "properties" : {
          "self" : {
            "description" : "Fully qualified link that generated the current response document.",
            "type" : "string",
            "x-cds-type" : "URIString"
          }
        },
        "required" : [ "self" ],
        "type" : "object"
      },
      "Meta" : {
        "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"
      },
      "EnergyServicePointListResponseV2_data" : {
        "properties" : {
          "servicePoints" : {
            "items" : {
              "$ref" : "#/components/schemas/EnergyServicePointV2"
            },
            "type" : "array"
          }
        },
        "required" : [ "servicePoints" ],
        "type" : "object"
      },
      "EnergyUsageListResponse_data" : {
        "properties" : {
          "reads" : {
            "description" : "Array of meter reads sorted by NMI in ascending order followed by _readStartDate_ in descending order.",
            "items" : {
              "$ref" : "#/components/schemas/EnergyUsageRead"
            },
            "type" : "array"
          }
        },
        "required" : [ "reads" ],
        "type" : "object"
      },
      "EnergyDerListResponse_data" : {
        "properties" : {
          "derRecords" : {
            "description" : "Array of meter reads.",
            "items" : {
              "$ref" : "#/components/schemas/EnergyDerRecord"
            },
            "type" : "array"
          }
        },
        "required" : [ "derRecords" ],
        "type" : "object"
      },
      "ErrorV2_meta" : {
        "description" : "Additional data for customised error codes.",
        "properties" : {
          "urn" : {
            "description" : "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.",
            "type" : "string"
          }
        },
        "type" : "object",
        "x-conditional" : [ "urn" ]
      },
      "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"
      },
      "EnergyServicePointDetailV2_allOf_distributionLossFactor" : {
        "properties" : {
          "code" : {
            "description" : "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.",
            "type" : "string"
          },
          "description" : {
            "description" : "Description of the data loss factor code and value.",
            "type" : "string"
          },
          "lossValue" : {
            "description" : "The value associated with the loss factor code.",
            "type" : "string"
          }
        },
        "required" : [ "code", "description", "lossValue" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2_allOf_relatedParticipants" : {
        "properties" : {
          "party" : {
            "description" : "The name of the party/organisation related to this service point.",
            "type" : "string"
          },
          "role" : {
            "description" : "The role performed by this participant in relation to the service point. Note the details of enumeration values below: <ul><li>`FRMP`: Financially Responsible Market Participant</li><li>`LNSP`: Local Network Service Provider or Embedded Network Manager for child connection points</li><li>`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.</li></ul>",
            "enum" : [ "FRMP", "LNSP", "DRSP" ],
            "type" : "string"
          }
        },
        "required" : [ "party", "role" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2_allOf_specifications" : {
        "description" : "Technical characteristics of the meter.",
        "properties" : {
          "status" : {
            "description" : "A code to denote the status of the meter. Note the details of enumeration values below: <ul><li>`CURRENT`: Applies when a meter is current and not disconnected</li><li>`DISCONNECTED`: Applies when a meter is present but has been remotely disconnected.</li></ul>",
            "enum" : [ "CURRENT", "DISCONNECTED" ],
            "type" : "string"
          },
          "installationType" : {
            "description" : "The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: <ul><li>`BASIC`: Accumulation Meter – Type 6</li><li>`COMMS1`: Interval Meter with communications – Type 1</li><li>`COMMS2`: Interval Meter with communications – Type 2</li><li>`COMMS3`: Interval Meter with communications – Type 3</li><li>`COMMS4`: Interval Meter with communications – Type 4</li><li>`COMMS4C`: CT connected metering installation that meets the minimum services specifications</li><li>`COMMS4D`: Whole current metering installation that meets the minimum services specifications</li><li>`MRAM`: Small customer metering installation – Type 4A</li><li>`MRIM`: Manually Read Interval Meter – Type 5</li><li>`UMCP`: Unmetered Supply – Type 7</li><li>`VICAMI`: A relevant metering installation as defined in clause 9.9C of the NER</li><li>`NCONUML`: Non-contestable unmeter load - Introduced as part of Global Settlement.</li></ul>",
            "enum" : [ "BASIC", "COMMS1", "COMMS2", "COMMS3", "COMMS4", "COMMS4C", "COMMS4D", "MRAM", "MRIM", "PROF", "SAMPLE", "UMCP", "VICAMI", "NCOLNUML" ],
            "type" : "string"
          },
          "manufacturer" : {
            "description" : "Free text field to identify the manufacturer of the installed meter.",
            "type" : "string"
          },
          "model" : {
            "description" : "Free text field to identify the meter manufacturer's designation for the meter model.",
            "type" : "string"
          },
          "readType" : {
            "description" : "Code to denote the method and frequency of Meter Reading. The value is formatted as follows: <ul><li>First Character = Remote (`R`) or Manual (`M`)</li><li>Second Character = Mode: `T` = telephone, `W` = wireless, `P` = powerline, `I` = infra-red, `G` = galvanic, `V` = visual</li><li>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</li><li>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.</li></ul>For example, <ul><li>`MV3` = Manual, Visual, Quarterly</li><li>`MV3M` = Manual, Visual, Quarterly, Manually Read Accumulation Meter</li><li>`RWDC` = Remote, Wireless, Daily, 30 minutes interval.</li></ul>",
            "type" : "string"
          },
          "nextScheduledReadDate" : {
            "description" : "This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required.",
            "type" : "string",
            "x-cds-type" : "DateString"
          }
        },
        "required" : [ "installationType", "status" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2_allOf_registers" : {
        "properties" : {
          "registerId" : {
            "description" : "Unique identifier of the register within this service point. Is not globally unique.",
            "type" : "string"
          },
          "registerSuffix" : {
            "description" : "Register suffix of the meter register where the meter reads are obtained.",
            "type" : "string"
          },
          "averagedDailyLoad" : {
            "description" : "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.",
            "type" : "number"
          },
          "registerConsumptionType" : {
            "description" : "Indicates the consumption type of register.",
            "enum" : [ "INTERVAL", "BASIC", "PROFILE_DATA", "ACTIVE_IMPORT", "ACTIVE", "REACTIVE_IMPORT", "REACTIVE" ],
            "type" : "string"
          },
          "networkTariffCode" : {
            "description" : "The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider.",
            "type" : "string"
          },
          "unitOfMeasure" : {
            "description" : "The unit of measure for data held in this register.",
            "type" : "string"
          },
          "timeOfDay" : {
            "description" : "Code to identify the time validity of register contents.",
            "enum" : [ "ALLDAY", "INTERVAL", "PEAK", "BUSINESS", "SHOULDER", "EVENING", "OFFPEAK", "CONTROLLED", "DEMAND" ],
            "type" : "string"
          },
          "multiplier" : {
            "description" : "Multiplier required to take a register value and turn it into a value representing billable energy.",
            "type" : "number"
          },
          "controlledLoad" : {
            "description" : "Indicates whether the energy recorded by this register is created under a Controlled Load regime.",
            "type" : "boolean"
          },
          "consumptionType" : {
            "description" : "Actual/Subtractive Indicator. Note the details of enumeration values below: <ul><li>`ACTUAL`: implies volume of energy actually metered between two dates</li><li>`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.</li></ul>",
            "enum" : [ "ACTUAL", "CUMULATIVE" ],
            "type" : "string"
          }
        },
        "required" : [ "registerConsumptionType", "registerId" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2_allOf_meters" : {
        "properties" : {
          "meterId" : {
            "description" : "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.",
            "type" : "string"
          },
          "specifications" : {
            "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf_specifications"
          },
          "registers" : {
            "description" : "Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point.",
            "items" : {
              "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf_registers"
            },
            "type" : "array"
          }
        },
        "required" : [ "meterId", "specifications" ],
        "type" : "object"
      },
      "EnergyServicePointDetailV2_allOf" : {
        "properties" : {
          "distributionLossFactor" : {
            "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf_distributionLossFactor"
          },
          "relatedParticipants" : {
            "items" : {
              "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf_relatedParticipants"
            },
            "type" : "array"
          },
          "location" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/CommonPhysicalAddress"
            } ],
            "description" : "Location of the servicepoint."
          },
          "meters" : {
            "description" : "The meters associated with the service point. This may be empty where there are no meters physically installed at the service point.",
            "items" : {
              "$ref" : "#/components/schemas/EnergyServicePointDetailV2_allOf_meters"
            },
            "type" : "array"
          }
        },
        "required" : [ "distributionLossFactor", "location", "relatedParticipants" ]
      },
      "EnergyUsageRead_basicRead" : {
        "description" : "Mandatory if _readUType_ is set to `basicRead`.",
        "properties" : {
          "quality" : {
            "default" : "ACTUAL",
            "description" : "The quality of the read taken. If absent then assumed to be `ACTUAL`.",
            "enum" : [ "ACTUAL", "SUBSTITUTE", "FINAL_SUBSTITUTE" ],
            "type" : "string"
          },
          "value" : {
            "description" : "Meter read value. If positive then it means consumption, if negative it means export.",
            "type" : "number"
          }
        },
        "required" : [ "value" ],
        "type" : "object"
      },
      "EnergyUsageRead_intervalRead_readQualities" : {
        "properties" : {
          "startInterval" : {
            "description" : "Start interval for read quality flag. First read begins at `1`.",
            "example" : 1,
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "endInterval" : {
            "description" : "End interval for read quality flag.",
            "example" : 1,
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "quality" : {
            "description" : "The quality of the read taken.",
            "enum" : [ "SUBSTITUTE", "FINAL_SUBSTITUTE" ],
            "type" : "string"
          }
        },
        "required" : [ "endInterval", "quality", "startInterval" ],
        "type" : "object"
      },
      "EnergyUsageRead_intervalRead" : {
        "description" : "Mandatory if _readUType_ is set to `intervalRead`.",
        "properties" : {
          "readIntervalLength" : {
            "description" : "Read interval length in minutes. Required when _interval-reads_ query parameter equals `FULL` or `MIN_30`.",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "aggregateValue" : {
            "description" : "The aggregate sum of the interval read values. If positive then it means net consumption, if negative it means net export.",
            "type" : "number"
          },
          "intervalReads" : {
            "description" : "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`.<br>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).",
            "items" : {
              "type" : "number"
            },
            "type" : "array"
          },
          "readQualities" : {
            "description" : "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`.",
            "items" : {
              "$ref" : "#/components/schemas/EnergyUsageRead_intervalRead_readQualities"
            },
            "type" : "array"
          }
        },
        "required" : [ "aggregateValue" ],
        "type" : "object",
        "x-conditional" : [ "readIntervalLength", "intervalReads", "readQualities" ]
      },
      "EnergyDerRecord_protectionMode" : {
        "description" : "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.",
        "properties" : {
          "exportLimitKva" : {
            "description" : "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.",
            "type" : "number"
          },
          "underFrequencyProtection" : {
            "description" : "Protective function limit in Hz.",
            "type" : "number"
          },
          "underFrequencyProtectionDelay" : {
            "description" : "Trip delay time in seconds.",
            "type" : "number"
          },
          "overFrequencyProtection" : {
            "description" : "Protective function limit in Hz.",
            "type" : "number"
          },
          "overFrequencyProtectionDelay" : {
            "description" : "Trip delay time in seconds.",
            "type" : "number"
          },
          "underVoltageProtection" : {
            "description" : "Protective function limit in V.",
            "type" : "number"
          },
          "underVoltageProtectionDelay" : {
            "description" : "Trip delay time in seconds.",
            "type" : "number"
          },
          "overVoltageProtection" : {
            "description" : "Protective function limit in V.",
            "type" : "number"
          },
          "overVoltageProtectionDelay" : {
            "description" : "Trip delay time in seconds.",
            "type" : "number"
          },
          "sustainedOverVoltage" : {
            "description" : "Sustained over voltage.",
            "type" : "number"
          },
          "sustainedOverVoltageDelay" : {
            "description" : "Sustained Over voltage protection delay in seconds.",
            "type" : "number"
          },
          "frequencyRateOfChange" : {
            "description" : "Rate of change of frequency trip point (Hz/s).",
            "type" : "number"
          },
          "voltageVectorShift" : {
            "description" : "Trip angle in degrees.",
            "type" : "number"
          },
          "interTripScheme" : {
            "description" : "Description of the form of inter-trip (e.g., 'from local substation').",
            "type" : "string"
          },
          "neutralVoltageDisplacement" : {
            "description" : "Trip voltage.",
            "type" : "number"
          }
        },
        "type" : "object"
      },
      "EnergyDerRecord_derDevices" : {
        "properties" : {
          "deviceIdentifier" : {
            "description" : "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.",
            "type" : "number"
          },
          "count" : {
            "description" : "Number of devices in the group of DER devices.",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "manufacturer" : {
            "description" : "The name of the device manufacturer. If absent then assumed to be \"unknown\".",
            "type" : "string"
          },
          "modelNumber" : {
            "description" : "The model number of the device. If absent then assumed to be \"unknown\".",
            "type" : "string"
          },
          "status" : {
            "description" : "Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned.",
            "enum" : [ "ACTIVE", "INACTIVE", "DECOMMISSIONED" ],
            "type" : "string"
          },
          "type" : {
            "description" : "Used to indicate the primary technology used in the DER device.",
            "enum" : [ "FOSSIL", "HYDRO", "WIND", "SOLAR_PV", "RENEWABLE", "GEOTHERMAL", "STORAGE", "OTHER" ],
            "type" : "string"
          },
          "subtype" : {
            "description" : "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\".",
            "type" : "string"
          },
          "nominalRatedCapacity" : {
            "description" : "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.",
            "type" : "number"
          },
          "nominalStorageCapacity" : {
            "description" : "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.",
            "type" : "number"
          }
        },
        "required" : [ "count", "deviceIdentifier", "nominalRatedCapacity", "type" ],
        "type" : "object",
        "x-conditional" : [ "nominalStorageCapacity" ]
      },
      "EnergyDerRecord_acConnections" : {
        "properties" : {
          "connectionIdentifier" : {
            "description" : "AC Connection ID as defined in the DER register. Does not align with CDR ID permanence standards.",
            "type" : "number"
          },
          "count" : {
            "description" : "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.",
            "type" : "integer",
            "x-cds-type" : "PositiveInteger"
          },
          "equipmentType" : {
            "default" : "OTHER",
            "description" : "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`.",
            "enum" : [ "INVERTER", "OTHER" ],
            "type" : "string"
          },
          "manufacturerName" : {
            "description" : "The name of the inverter manufacturer. Mandatory if _equipmentType_ is `INVERTER`.",
            "type" : "string"
          },
          "inverterSeries" : {
            "description" : "The inverter series. Mandatory if _equipmentType_ is `INVERTER`.",
            "type" : "string"
          },
          "inverterModelNumber" : {
            "description" : "The inverter model number. Mandatory if _equipmentType_ is `INVERTER`.",
            "type" : "string"
          },
          "commissioningDate" : {
            "description" : "The date that the DER installation is commissioned.",
            "type" : "string",
            "x-cds-type" : "DateString"
          },
          "status" : {
            "description" : "Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned.",
            "enum" : [ "ACTIVE", "INACTIVE", "DECOMMISSIONED" ],
            "type" : "string"
          },
          "inverterDeviceCapacity" : {
            "description" : "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.",
            "type" : "number"
          },
          "derDevices" : {
            "items" : {
              "$ref" : "#/components/schemas/EnergyDerRecord_derDevices"
            },
            "type" : "array"
          }
        },
        "required" : [ "commissioningDate", "connectionIdentifier", "count", "derDevices", "status" ],
        "type" : "object",
        "x-conditional" : [ "manufacturerName", "inverterSeries", "inverterModelNumber", "inverterDeviceCapacity" ]
      },
      "RequestSDHServicePointIdListV1_data" : {
        "properties" : {
          "servicePointIds" : {
            "description" : "Array of _servicePointId_ values to obtain data for.",
            "items" : {
              "$ref" : "#/components/schemas/EnergySDHServicePointId"
            },
            "type" : "array"
          }
        },
        "required" : [ "servicePointIds" ],
        "type" : "object"
      }
    }
  }
}