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.

        Other 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.

        Other 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:
      example:
        data:
          servicePoints:
          - lastUpdateDateTime: lastUpdateDateTime
            consumerProfile:
              threshold: LOW
              classification: BUSINESS
            servicePointId: servicePointId
            jurisdictionCode: ALL
            validFromDate: validFromDate
            nationalMeteringId: nationalMeteringId
            servicePointStatus: ACTIVE
            servicePointClassification: EXTERNAL_PROFILE
            lastConsumerChangeDate: lastConsumerChangeDate
            isGenerator: false
          - lastUpdateDateTime: lastUpdateDateTime
            consumerProfile:
              threshold: LOW
              classification: BUSINESS
            servicePointId: servicePointId
            jurisdictionCode: ALL
            validFromDate: validFromDate
            nationalMeteringId: nationalMeteringId
            servicePointStatus: ACTIVE
            servicePointClassification: EXTERNAL_PROFILE
            lastConsumerChangeDate: lastConsumerChangeDate
            isGenerator: false
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyServicePointListResponseV2_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyServicePointDetailResponseV2:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyServicePointDetailV2'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    EnergyUsageListResponse:
      example:
        data:
          reads:
          - basicRead:
              value: 0.8008281904610115
              quality: ACTUAL
            unitOfMeasure: unitOfMeasure
            registerId: registerId
            meterId: meterId
            intervalRead:
              readIntervalLength: 6
              intervalReads:
              - 5.962133916683182
              - 5.962133916683182
              readQualities:
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              aggregateValue: 1.4658129805029452
            servicePointId: servicePointId
            registerSuffix: registerSuffix
            readEndDate: readEndDate
            readStartDate: readStartDate
            controlledLoad: true
            readUType: basicRead
          - basicRead:
              value: 0.8008281904610115
              quality: ACTUAL
            unitOfMeasure: unitOfMeasure
            registerId: registerId
            meterId: meterId
            intervalRead:
              readIntervalLength: 6
              intervalReads:
              - 5.962133916683182
              - 5.962133916683182
              readQualities:
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              aggregateValue: 1.4658129805029452
            servicePointId: servicePointId
            registerSuffix: registerSuffix
            readEndDate: readEndDate
            readStartDate: readStartDate
            controlledLoad: true
            readUType: basicRead
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyUsageListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyDerListResponse:
      example:
        data:
          derRecords:
          - protectionMode:
              interTripScheme: interTripScheme
              underFrequencyProtectionDelay: 2.3021358869347655
              underVoltageProtection: 3.616076749251911
              exportLimitKva: 5.962133916683182
              overFrequencyProtectionDelay: 9.301444243932576
              overFrequencyProtection: 7.061401241503109
              overVoltageProtectionDelay: 7.386281948385884
              sustainedOverVoltageDelay: 1.0246457001441578
              frequencyRateOfChange: 1.4894159098541704
              underFrequencyProtection: 5.637376656633329
              underVoltageProtectionDelay: 2.027123023002322
              overVoltageProtection: 4.145608029883936
              neutralVoltageDisplacement: 7.457744773683766
              sustainedOverVoltage: 1.2315135367772556
              voltageVectorShift: 6.84685269835264
            installedPhasesCount: 0
            availablePhasesCount: 1
            islandableInstallation: true
            servicePointId: servicePointId
            approvedCapacity: 0.8008281904610115
            hasCentralProtectionControl: false
            acConnections:
            - inverterSeries: inverterSeries
              inverterModelNumber: inverterModelNumber
              inverterDeviceCapacity: 5.025004791520295
              manufacturerName: manufacturerName
              count: 4
              connectionIdentifier: 1.1730742509559433
              commissioningDate: commissioningDate
              derDevices:
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              equipmentType: OTHER
              status: ACTIVE
            - inverterSeries: inverterSeries
              inverterModelNumber: inverterModelNumber
              inverterDeviceCapacity: 5.025004791520295
              manufacturerName: manufacturerName
              count: 4
              connectionIdentifier: 1.1730742509559433
              commissioningDate: commissioningDate
              derDevices:
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              equipmentType: OTHER
              status: ACTIVE
          - protectionMode:
              interTripScheme: interTripScheme
              underFrequencyProtectionDelay: 2.3021358869347655
              underVoltageProtection: 3.616076749251911
              exportLimitKva: 5.962133916683182
              overFrequencyProtectionDelay: 9.301444243932576
              overFrequencyProtection: 7.061401241503109
              overVoltageProtectionDelay: 7.386281948385884
              sustainedOverVoltageDelay: 1.0246457001441578
              frequencyRateOfChange: 1.4894159098541704
              underFrequencyProtection: 5.637376656633329
              underVoltageProtectionDelay: 2.027123023002322
              overVoltageProtection: 4.145608029883936
              neutralVoltageDisplacement: 7.457744773683766
              sustainedOverVoltage: 1.2315135367772556
              voltageVectorShift: 6.84685269835264
            installedPhasesCount: 0
            availablePhasesCount: 1
            islandableInstallation: true
            servicePointId: servicePointId
            approvedCapacity: 0.8008281904610115
            hasCentralProtectionControl: false
            acConnections:
            - inverterSeries: inverterSeries
              inverterModelNumber: inverterModelNumber
              inverterDeviceCapacity: 5.025004791520295
              manufacturerName: manufacturerName
              count: 4
              connectionIdentifier: 1.1730742509559433
              commissioningDate: commissioningDate
              derDevices:
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              equipmentType: OTHER
              status: ACTIVE
            - inverterSeries: inverterSeries
              inverterModelNumber: inverterModelNumber
              inverterDeviceCapacity: 5.025004791520295
              manufacturerName: manufacturerName
              count: 4
              connectionIdentifier: 1.1730742509559433
              commissioningDate: commissioningDate
              derDevices:
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              equipmentType: OTHER
              status: ACTIVE
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyDerListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyDerDetailResponse:
      example:
        data:
          protectionMode:
            interTripScheme: interTripScheme
            underFrequencyProtectionDelay: 2.3021358869347655
            underVoltageProtection: 3.616076749251911
            exportLimitKva: 5.962133916683182
            overFrequencyProtectionDelay: 9.301444243932576
            overFrequencyProtection: 7.061401241503109
            overVoltageProtectionDelay: 7.386281948385884
            sustainedOverVoltageDelay: 1.0246457001441578
            frequencyRateOfChange: 1.4894159098541704
            underFrequencyProtection: 5.637376656633329
            underVoltageProtectionDelay: 2.027123023002322
            overVoltageProtection: 4.145608029883936
            neutralVoltageDisplacement: 7.457744773683766
            sustainedOverVoltage: 1.2315135367772556
            voltageVectorShift: 6.84685269835264
          installedPhasesCount: 0
          availablePhasesCount: 1
          islandableInstallation: true
          servicePointId: servicePointId
          approvedCapacity: 0.8008281904610115
          hasCentralProtectionControl: false
          acConnections:
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyDerRecord'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      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:
      example:
        lastUpdateDateTime: lastUpdateDateTime
        consumerProfile:
          threshold: LOW
          classification: BUSINESS
        servicePointId: servicePointId
        jurisdictionCode: ALL
        validFromDate: validFromDate
        nationalMeteringId: nationalMeteringId
        servicePointStatus: ACTIVE
        servicePointClassification: EXTERNAL_PROFILE
        lastConsumerChangeDate: lastConsumerChangeDate
        isGenerator: false
      properties:
        servicePointId:
          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
        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:
      example:
        basicRead:
          value: 0.8008281904610115
          quality: ACTUAL
        unitOfMeasure: unitOfMeasure
        registerId: registerId
        meterId: meterId
        intervalRead:
          readIntervalLength: 6
          intervalReads:
          - 5.962133916683182
          - 5.962133916683182
          readQualities:
          - startInterval: 1
            endInterval: 1
            quality: SUBSTITUTE
          - startInterval: 1
            endInterval: 1
            quality: SUBSTITUTE
          aggregateValue: 1.4658129805029452
        servicePointId: servicePointId
        registerSuffix: registerSuffix
        readEndDate: readEndDate
        readStartDate: readStartDate
        controlledLoad: true
        readUType: basicRead
      properties:
        servicePointId:
          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
        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:
      example:
        protectionMode:
          interTripScheme: interTripScheme
          underFrequencyProtectionDelay: 2.3021358869347655
          underVoltageProtection: 3.616076749251911
          exportLimitKva: 5.962133916683182
          overFrequencyProtectionDelay: 9.301444243932576
          overFrequencyProtection: 7.061401241503109
          overVoltageProtectionDelay: 7.386281948385884
          sustainedOverVoltageDelay: 1.0246457001441578
          frequencyRateOfChange: 1.4894159098541704
          underFrequencyProtection: 5.637376656633329
          underVoltageProtectionDelay: 2.027123023002322
          overVoltageProtection: 4.145608029883936
          neutralVoltageDisplacement: 7.457744773683766
          sustainedOverVoltage: 1.2315135367772556
          voltageVectorShift: 6.84685269835264
        installedPhasesCount: 0
        availablePhasesCount: 1
        islandableInstallation: true
        servicePointId: servicePointId
        approvedCapacity: 0.8008281904610115
        hasCentralProtectionControl: false
        acConnections:
        - inverterSeries: inverterSeries
          inverterModelNumber: inverterModelNumber
          inverterDeviceCapacity: 5.025004791520295
          manufacturerName: manufacturerName
          count: 4
          connectionIdentifier: 1.1730742509559433
          commissioningDate: commissioningDate
          derDevices:
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          equipmentType: OTHER
          status: ACTIVE
        - inverterSeries: inverterSeries
          inverterModelNumber: inverterModelNumber
          inverterDeviceCapacity: 5.025004791520295
          manufacturerName: manufacturerName
          count: 4
          connectionIdentifier: 1.1730742509559433
          commissioningDate: commissioningDate
          derDevices:
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          equipmentType: OTHER
          status: ACTIVE
      properties:
        servicePointId:
          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
        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:
      example:
        data:
          servicePointIds:
          - null
          - null
        meta: '{}'
      properties:
        data:
          $ref: '#/components/schemas/RequestSDHServicePointIdListV1_data'
        meta:
          type: object
      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:
      example:
        self: self
      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:
      example:
        next: next
        last: last
        prev: prev
        self: self
        first: first
      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:
      example:
        totalRecords: 0
        totalPages: 6
      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:
      example:
        servicePoints:
        - lastUpdateDateTime: lastUpdateDateTime
          consumerProfile:
            threshold: LOW
            classification: BUSINESS
          servicePointId: servicePointId
          jurisdictionCode: ALL
          validFromDate: validFromDate
          nationalMeteringId: nationalMeteringId
          servicePointStatus: ACTIVE
          servicePointClassification: EXTERNAL_PROFILE
          lastConsumerChangeDate: lastConsumerChangeDate
          isGenerator: false
        - lastUpdateDateTime: lastUpdateDateTime
          consumerProfile:
            threshold: LOW
            classification: BUSINESS
          servicePointId: servicePointId
          jurisdictionCode: ALL
          validFromDate: validFromDate
          nationalMeteringId: nationalMeteringId
          servicePointStatus: ACTIVE
          servicePointClassification: EXTERNAL_PROFILE
          lastConsumerChangeDate: lastConsumerChangeDate
          isGenerator: false
      properties:
        servicePoints:
          items:
            $ref: '#/components/schemas/EnergyServicePointV2'
          type: array
      required:
      - servicePoints
      type: object
    EnergyUsageListResponse_data:
      example:
        reads:
        - basicRead:
            value: 0.8008281904610115
            quality: ACTUAL
          unitOfMeasure: unitOfMeasure
          registerId: registerId
          meterId: meterId
          intervalRead:
            readIntervalLength: 6
            intervalReads:
            - 5.962133916683182
            - 5.962133916683182
            readQualities:
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            aggregateValue: 1.4658129805029452
          servicePointId: servicePointId
          registerSuffix: registerSuffix
          readEndDate: readEndDate
          readStartDate: readStartDate
          controlledLoad: true
          readUType: basicRead
        - basicRead:
            value: 0.8008281904610115
            quality: ACTUAL
          unitOfMeasure: unitOfMeasure
          registerId: registerId
          meterId: meterId
          intervalRead:
            readIntervalLength: 6
            intervalReads:
            - 5.962133916683182
            - 5.962133916683182
            readQualities:
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            aggregateValue: 1.4658129805029452
          servicePointId: servicePointId
          registerSuffix: registerSuffix
          readEndDate: readEndDate
          readStartDate: readStartDate
          controlledLoad: true
          readUType: basicRead
      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:
      example:
        derRecords:
        - protectionMode:
            interTripScheme: interTripScheme
            underFrequencyProtectionDelay: 2.3021358869347655
            underVoltageProtection: 3.616076749251911
            exportLimitKva: 5.962133916683182
            overFrequencyProtectionDelay: 9.301444243932576
            overFrequencyProtection: 7.061401241503109
            overVoltageProtectionDelay: 7.386281948385884
            sustainedOverVoltageDelay: 1.0246457001441578
            frequencyRateOfChange: 1.4894159098541704
            underFrequencyProtection: 5.637376656633329
            underVoltageProtectionDelay: 2.027123023002322
            overVoltageProtection: 4.145608029883936
            neutralVoltageDisplacement: 7.457744773683766
            sustainedOverVoltage: 1.2315135367772556
            voltageVectorShift: 6.84685269835264
          installedPhasesCount: 0
          availablePhasesCount: 1
          islandableInstallation: true
          servicePointId: servicePointId
          approvedCapacity: 0.8008281904610115
          hasCentralProtectionControl: false
          acConnections:
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
        - protectionMode:
            interTripScheme: interTripScheme
            underFrequencyProtectionDelay: 2.3021358869347655
            underVoltageProtection: 3.616076749251911
            exportLimitKva: 5.962133916683182
            overFrequencyProtectionDelay: 9.301444243932576
            overFrequencyProtection: 7.061401241503109
            overVoltageProtectionDelay: 7.386281948385884
            sustainedOverVoltageDelay: 1.0246457001441578
            frequencyRateOfChange: 1.4894159098541704
            underFrequencyProtection: 5.637376656633329
            underVoltageProtectionDelay: 2.027123023002322
            overVoltageProtection: 4.145608029883936
            neutralVoltageDisplacement: 7.457744773683766
            sustainedOverVoltage: 1.2315135367772556
            voltageVectorShift: 6.84685269835264
          installedPhasesCount: 0
          availablePhasesCount: 1
          islandableInstallation: true
          servicePointId: servicePointId
          approvedCapacity: 0.8008281904610115
          hasCentralProtectionControl: false
          acConnections:
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: OTHER
            status: ACTIVE
      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:
      example:
        threshold: LOW
        classification: BUSINESS
      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`.
      example:
        value: 0.8008281904610115
        quality: ACTUAL
      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:
      example:
        startInterval: 1
        endInterval: 1
        quality: SUBSTITUTE
      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`.
      example:
        readIntervalLength: 6
        intervalReads:
        - 5.962133916683182
        - 5.962133916683182
        readQualities:
        - startInterval: 1
          endInterval: 1
          quality: SUBSTITUTE
        - startInterval: 1
          endInterval: 1
          quality: SUBSTITUTE
        aggregateValue: 1.4658129805029452
      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.
      example:
        interTripScheme: interTripScheme
        underFrequencyProtectionDelay: 2.3021358869347655
        underVoltageProtection: 3.616076749251911
        exportLimitKva: 5.962133916683182
        overFrequencyProtectionDelay: 9.301444243932576
        overFrequencyProtection: 7.061401241503109
        overVoltageProtectionDelay: 7.386281948385884
        sustainedOverVoltageDelay: 1.0246457001441578
        frequencyRateOfChange: 1.4894159098541704
        underFrequencyProtection: 5.637376656633329
        underVoltageProtectionDelay: 2.027123023002322
        overVoltageProtection: 4.145608029883936
        neutralVoltageDisplacement: 7.457744773683766
        sustainedOverVoltage: 1.2315135367772556
        voltageVectorShift: 6.84685269835264
      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:
      example:
        nominalRatedCapacity: 6.683562403749608
        deviceIdentifier: 9.965781217890562
        nominalStorageCapacity: 8.762042012749001
        subtype: subtype
        count: 9
        modelNumber: modelNumber
        type: FOSSIL
        manufacturer: manufacturer
        status: ACTIVE
      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:
      example:
        inverterSeries: inverterSeries
        inverterModelNumber: inverterModelNumber
        inverterDeviceCapacity: 5.025004791520295
        manufacturerName: manufacturerName
        count: 4
        connectionIdentifier: 1.1730742509559433
        commissioningDate: commissioningDate
        derDevices:
        - nominalRatedCapacity: 6.683562403749608
          deviceIdentifier: 9.965781217890562
          nominalStorageCapacity: 8.762042012749001
          subtype: subtype
          count: 9
          modelNumber: modelNumber
          type: FOSSIL
          manufacturer: manufacturer
          status: ACTIVE
        - nominalRatedCapacity: 6.683562403749608
          deviceIdentifier: 9.965781217890562
          nominalStorageCapacity: 8.762042012749001
          subtype: subtype
          count: 9
          modelNumber: modelNumber
          type: FOSSIL
          manufacturer: manufacturer
          status: ACTIVE
        equipmentType: OTHER
        status: ACTIVE
      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:
      example:
        servicePointIds:
        - null
        - null
      properties:
        servicePointIds:
          description: Array of _servicePointId_ values to obtain data for.
          items:
            $ref: '#/components/schemas/EnergySDHServicePointId'
          type: array
      required:
      - servicePointIds
      type: object
