openapi: 3.0.3
info:
  description: Consumer Data Right end points and payloads for Secondary Data Holder
    for the Energy sector
  title: CDR Energy Secondary Data Holder API
  version: 1.24.0
servers:
- url: /
paths:
  /secondary/energy/electricity/servicepoints:
    post:
      description: Obtain a list of service points owned by the customer that has
        authorised the current session
      operationId: listServicePoints
      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 end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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/servicePointIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyServicePointListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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:
              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
        "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:
              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
      summary: Get Service Points (SR)
      tags:
      - Energy-SDH
      - NMI Standing Data
      x-restricted-access: AEMO
      x-version: "1"
  /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
      operationId: getServicePoint
      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:
          type: string
        style: simple
      - description: Version of the API end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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/EnergyServicePointDetailResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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
        "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:
              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
      summary: Get Service Point Detail (SR)
      tags:
      - Energy-SDH
      - NMI Standing Data
      x-restricted-access: AEMO
      x-version: "1"
  /secondary/energy/electricity/servicepoints/{servicePointId}/usage:
    get:
      description: Obtain a list of electricity usage data from a particular service
        point
      operationId: getUsageForServicePoint
      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:
          type: string
        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 end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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
        "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:
              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
        "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:
              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
      summary: Get Usage For Service Point (SR)
      tags:
      - Energy-SDH
      - Electricity Usage
      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: listUsageForServicePoints
      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 end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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/servicePointIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyUsageListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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:
              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
        "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:
              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
      summary: Get Usage For Specific Service Points (SR)
      tags:
      - Energy-SDH
      - Electricity Usage
      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: getDERForServicePoint
      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:
          type: string
        style: simple
      - description: Version of the API end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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
        "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:
              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
      summary: Get DER For Service Point (SR)
      tags:
      - Energy-SDH
      - Distributed Energy Resources
      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: listDERForServicePoints
      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 end point requested by the client. Must be
          set to a positive integer. The data holder 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 data holder 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 end point requested by the client.
          Must be set to a positive integer if provided. The data holder 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 data holder 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/servicePointIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyDerListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API end point that
                the data holder has responded with.
              explode: false
              schema:
                type: string
              style: simple
            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
        "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 - 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:
              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
        "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:
              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
      summary: Get DER For Specific Service Points (SR)
      tags:
      - Energy-SDH
      - Distributed Energy Resources
      x-restricted-access: AEMO
      x-version: "1"
components:
  parameters:
    servicePointId:
      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:
        type: string
      style: simple
    interval-reads:
      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
    newest-time:
      description: Constrain the request to records with effective time at or before
        this date/time.  If absent defaults to current date/time.  Format is aligned
        to DateTimeString common type
      explode: true
      in: query
      name: newest-time
      required: false
      schema:
        type: string
      style: form
      x-cds-type: DateTimeString
    oldest-time:
      description: Constrain the request to records with effective time at or after
        this date/time. If absent defaults to newest-time minus 12 months.  Format
        is aligned to DateTimeString common type
      explode: true
      in: query
      name: oldest-time
      required: false
      schema:
        type: string
      style: form
      x-cds-type: DateTimeString
    newest-date:
      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
    oldest-date:
      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
    page:
      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
    page-size:
      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
    x-v:
      description: Version of the API end point requested by the client. Must be set
        to a positive integer. The data holder 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
        data holder 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
    x-min-v:
      description: Minimum version of the API end point requested by the client. Must
        be set to a positive integer if provided. The data holder 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 data holder must respond
        with a 406 Not Acceptable.
      explode: false
      in: header
      name: x-min-v
      required: false
      schema:
        type: string
      style: simple
    x-fapi-interaction-id:
      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
    x-cds-arrangement:
      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:
    servicePointIdList:
      content:
        application/json:
          schema:
            properties:
              data:
                properties:
                  servicePointIds:
                    description: Array of specific NMIs to obtain data for
                    items:
                      type: string
                    type: array
                required:
                - servicePointIds
                type: object
              meta:
                $ref: '#/components/schemas/Meta'
            required:
            - data
            - meta
            type: object
      description: Request payload containing list of specific Service Points to obtain
        data for
      required: true
  responses:
    servicePointList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyServicePointListResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API end point that
            the data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
        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
    servicePointDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyServicePointDetailResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API end point that
            the data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
        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
    usageList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyUsageListResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API end point that
            the data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
        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
    derList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyDerListResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API end point that
            the data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
        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
    derDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyDerDetailResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API end point that
            the data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
        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
  schemas:
    EnergyServicePointListResponse:
      example:
        data:
          servicePoints:
          - lastUpdateDateTime: lastUpdateDateTime
            consumerProfile:
              threshold: LOW
              classification: BUSINESS
            servicePointId: servicePointId
            jurisdictionCode: ALL
            validFromDate: validFromDate
            nationalMeteringId: nationalMeteringId
            servicePointStatus: ACTIVE
            servicePointClassification: EXTERNAL_PROFILE
            isGenerator: true
          - lastUpdateDateTime: lastUpdateDateTime
            consumerProfile:
              threshold: LOW
              classification: BUSINESS
            servicePointId: servicePointId
            jurisdictionCode: ALL
            validFromDate: validFromDate
            nationalMeteringId: nationalMeteringId
            servicePointStatus: ACTIVE
            servicePointClassification: EXTERNAL_PROFILE
            isGenerator: true
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyServicePointListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyServicePointDetailResponse:
      example:
        data:
          lastUpdateDateTime: lastUpdateDateTime
          consumerProfile:
            threshold: LOW
            classification: BUSINESS
          distributionLossFactor:
            code: code
            description: description
            lossValue: lossValue
          servicePointId: servicePointId
          relatedParticipants:
          - role: FRMP
            party: party
          - role: FRMP
            party: party
          servicePointStatus: ACTIVE
          servicePointClassification: EXTERNAL_PROFILE
          meters:
          - meterId: meterId
            registers:
            - unitOfMeasure: unitOfMeasure
              registerId: registerId
              consumptionType: ACTUAL
              averagedDailyLoad: 5.962133916683182
              multiplier: 5.637376656633329
              registerConsumptionType: INTERVAL
              networkTariffCode: networkTariffCode
              registerSuffix: registerSuffix
              controlledLoad: true
              timeOfDay: ALLDAY
            - unitOfMeasure: unitOfMeasure
              registerId: registerId
              consumptionType: ACTUAL
              averagedDailyLoad: 5.962133916683182
              multiplier: 5.637376656633329
              registerConsumptionType: INTERVAL
              networkTariffCode: networkTariffCode
              registerSuffix: registerSuffix
              controlledLoad: true
              timeOfDay: ALLDAY
            specifications:
              installationType: BASIC
              nextScheduledReadDate: nextScheduledReadDate
              model: model
              readType: readType
              status: CURRENT
              manufacturer: manufacturer
          - meterId: meterId
            registers:
            - unitOfMeasure: unitOfMeasure
              registerId: registerId
              consumptionType: ACTUAL
              averagedDailyLoad: 5.962133916683182
              multiplier: 5.637376656633329
              registerConsumptionType: INTERVAL
              networkTariffCode: networkTariffCode
              registerSuffix: registerSuffix
              controlledLoad: true
              timeOfDay: ALLDAY
            - unitOfMeasure: unitOfMeasure
              registerId: registerId
              consumptionType: ACTUAL
              averagedDailyLoad: 5.962133916683182
              multiplier: 5.637376656633329
              registerConsumptionType: INTERVAL
              networkTariffCode: networkTariffCode
              registerSuffix: registerSuffix
              controlledLoad: true
              timeOfDay: ALLDAY
            specifications:
              installationType: BASIC
              nextScheduledReadDate: nextScheduledReadDate
              model: model
              readType: readType
              status: CURRENT
              manufacturer: manufacturer
          jurisdictionCode: ALL
          validFromDate: validFromDate
          location:
            paf:
              streetType: streetType
              floorLevelNumber: floorLevelNumber
              thoroughfareNumber1Suffix: thoroughfareNumber1Suffix
              postalDeliveryNumber: 1
              dpid: dpid
              thoroughfareNumber2: 6
              postcode: postcode
              thoroughfareNumber1: 0
              flatUnitNumber: flatUnitNumber
              lotNumber: lotNumber
              buildingName1: buildingName1
              buildingName2: buildingName2
              streetName: streetName
              localityName: localityName
              flatUnitType: flatUnitType
              floorLevelType: floorLevelType
              postalDeliveryNumberSuffix: postalDeliveryNumberSuffix
              postalDeliveryType: postalDeliveryType
              streetSuffix: streetSuffix
              state: state
              postalDeliveryNumberPrefix: postalDeliveryNumberPrefix
              thoroughfareNumber2Suffix: thoroughfareNumber2Suffix
            simple:
              country: AUS
              city: city
              postcode: postcode
              addressLine1: addressLine1
              addressLine2: addressLine2
              addressLine3: addressLine3
              state: state
              mailingName: mailingName
            addressUType: paf
          nationalMeteringId: nationalMeteringId
          isGenerator: true
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyServicePointDetail'
        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: 5
                endInterval: 2
                quality: SUBSTITUTE
              - startInterval: 5
                endInterval: 2
                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: 5
                endInterval: 2
                quality: SUBSTITUTE
              - startInterval: 5
                endInterval: 2
                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: INVERTER
              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: INVERTER
              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: INVERTER
              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: INVERTER
              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: INVERTER
            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: INVERTER
            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:
          items:
            $ref: '#/components/schemas/ResponseErrorListV2_errors'
          type: array
      required:
      - errors
      type: object
      x-conditional:
      - meta
    EnergyServicePoint:
      example:
        lastUpdateDateTime: lastUpdateDateTime
        consumerProfile:
          threshold: LOW
          classification: BUSINESS
        servicePointId: servicePointId
        jurisdictionCode: ALL
        validFromDate: validFromDate
        nationalMeteringId: nationalMeteringId
        servicePointStatus: ACTIVE
        servicePointClassification: EXTERNAL_PROFILE
        isGenerator: true
      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
        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:
          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
        consumerProfile:
          $ref: '#/components/schemas/EnergyServicePoint_consumerProfile'
      required:
      - jurisdictionCode
      - lastUpdateDateTime
      - nationalMeteringId
      - servicePointClassification
      - servicePointId
      - servicePointStatus
      - validFromDate
      type: object
    EnergyServicePointDetail:
      example:
        lastUpdateDateTime: lastUpdateDateTime
        consumerProfile:
          threshold: LOW
          classification: BUSINESS
        distributionLossFactor:
          code: code
          description: description
          lossValue: lossValue
        servicePointId: servicePointId
        relatedParticipants:
        - role: FRMP
          party: party
        - role: FRMP
          party: party
        servicePointStatus: ACTIVE
        servicePointClassification: EXTERNAL_PROFILE
        meters:
        - meterId: meterId
          registers:
          - unitOfMeasure: unitOfMeasure
            registerId: registerId
            consumptionType: ACTUAL
            averagedDailyLoad: 5.962133916683182
            multiplier: 5.637376656633329
            registerConsumptionType: INTERVAL
            networkTariffCode: networkTariffCode
            registerSuffix: registerSuffix
            controlledLoad: true
            timeOfDay: ALLDAY
          - unitOfMeasure: unitOfMeasure
            registerId: registerId
            consumptionType: ACTUAL
            averagedDailyLoad: 5.962133916683182
            multiplier: 5.637376656633329
            registerConsumptionType: INTERVAL
            networkTariffCode: networkTariffCode
            registerSuffix: registerSuffix
            controlledLoad: true
            timeOfDay: ALLDAY
          specifications:
            installationType: BASIC
            nextScheduledReadDate: nextScheduledReadDate
            model: model
            readType: readType
            status: CURRENT
            manufacturer: manufacturer
        - meterId: meterId
          registers:
          - unitOfMeasure: unitOfMeasure
            registerId: registerId
            consumptionType: ACTUAL
            averagedDailyLoad: 5.962133916683182
            multiplier: 5.637376656633329
            registerConsumptionType: INTERVAL
            networkTariffCode: networkTariffCode
            registerSuffix: registerSuffix
            controlledLoad: true
            timeOfDay: ALLDAY
          - unitOfMeasure: unitOfMeasure
            registerId: registerId
            consumptionType: ACTUAL
            averagedDailyLoad: 5.962133916683182
            multiplier: 5.637376656633329
            registerConsumptionType: INTERVAL
            networkTariffCode: networkTariffCode
            registerSuffix: registerSuffix
            controlledLoad: true
            timeOfDay: ALLDAY
          specifications:
            installationType: BASIC
            nextScheduledReadDate: nextScheduledReadDate
            model: model
            readType: readType
            status: CURRENT
            manufacturer: manufacturer
        jurisdictionCode: ALL
        validFromDate: validFromDate
        location:
          paf:
            streetType: streetType
            floorLevelNumber: floorLevelNumber
            thoroughfareNumber1Suffix: thoroughfareNumber1Suffix
            postalDeliveryNumber: 1
            dpid: dpid
            thoroughfareNumber2: 6
            postcode: postcode
            thoroughfareNumber1: 0
            flatUnitNumber: flatUnitNumber
            lotNumber: lotNumber
            buildingName1: buildingName1
            buildingName2: buildingName2
            streetName: streetName
            localityName: localityName
            flatUnitType: flatUnitType
            floorLevelType: floorLevelType
            postalDeliveryNumberSuffix: postalDeliveryNumberSuffix
            postalDeliveryType: postalDeliveryType
            streetSuffix: streetSuffix
            state: state
            postalDeliveryNumberPrefix: postalDeliveryNumberPrefix
            thoroughfareNumber2Suffix: thoroughfareNumber2Suffix
          simple:
            country: AUS
            city: city
            postcode: postcode
            addressLine1: addressLine1
            addressLine2: addressLine2
            addressLine3: addressLine3
            state: state
            mailingName: mailingName
          addressUType: paf
        nationalMeteringId: nationalMeteringId
        isGenerator: true
      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
        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:
          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
        consumerProfile:
          $ref: '#/components/schemas/EnergyServicePoint_consumerProfile'
        distributionLossFactor:
          $ref: '#/components/schemas/EnergyServicePointDetail_distributionLossFactor'
        relatedParticipants:
          items:
            $ref: '#/components/schemas/EnergyServicePointDetail_relatedParticipants'
          type: array
        location:
          $ref: '#/components/schemas/CommonPhysicalAddress'
        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/EnergyServicePointDetail_meters'
          type: array
      required:
      - distributionLossFactor
      - jurisdictionCode
      - lastUpdateDateTime
      - location
      - nationalMeteringId
      - relatedParticipants
      - servicePointClassification
      - servicePointId
      - servicePointStatus
      - validFromDate
    EnergyUsageRead:
      example:
        basicRead:
          value: 0.8008281904610115
          quality: ACTUAL
        unitOfMeasure: unitOfMeasure
        registerId: registerId
        meterId: meterId
        intervalRead:
          readIntervalLength: 6
          intervalReads:
          - 5.962133916683182
          - 5.962133916683182
          readQualities:
          - startInterval: 5
            endInterval: 2
            quality: SUBSTITUTE
          - startInterval: 5
            endInterval: 2
            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
        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:00 am 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: INVERTER
          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: INVERTER
          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
        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
          x-cds-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:
      example:
        paf:
          streetType: streetType
          floorLevelNumber: floorLevelNumber
          thoroughfareNumber1Suffix: thoroughfareNumber1Suffix
          postalDeliveryNumber: 1
          dpid: dpid
          thoroughfareNumber2: 6
          postcode: postcode
          thoroughfareNumber1: 0
          flatUnitNumber: flatUnitNumber
          lotNumber: lotNumber
          buildingName1: buildingName1
          buildingName2: buildingName2
          streetName: streetName
          localityName: localityName
          flatUnitType: flatUnitType
          floorLevelType: floorLevelType
          postalDeliveryNumberSuffix: postalDeliveryNumberSuffix
          postalDeliveryType: postalDeliveryType
          streetSuffix: streetSuffix
          state: state
          postalDeliveryNumberPrefix: postalDeliveryNumberPrefix
          thoroughfareNumber2Suffix: thoroughfareNumber2Suffix
        simple:
          country: AUS
          city: city
          postcode: postcode
          addressLine1: addressLine1
          addressLine2: addressLine2
          addressLine3: addressLine3
          state: state
          mailingName: mailingName
        addressUType: paf
      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
      example:
        country: AUS
        city: city
        postcode: postcode
        addressLine1: addressLine1
        addressLine2: addressLine2
        addressLine3: addressLine3
        state: state
        mailingName: mailingName
      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
      example:
        streetType: streetType
        floorLevelNumber: floorLevelNumber
        thoroughfareNumber1Suffix: thoroughfareNumber1Suffix
        postalDeliveryNumber: 1
        dpid: dpid
        thoroughfareNumber2: 6
        postcode: postcode
        thoroughfareNumber1: 0
        flatUnitNumber: flatUnitNumber
        lotNumber: lotNumber
        buildingName1: buildingName1
        buildingName2: buildingName2
        streetName: streetName
        localityName: localityName
        flatUnitType: flatUnitType
        floorLevelType: floorLevelType
        postalDeliveryNumberSuffix: postalDeliveryNumberSuffix
        postalDeliveryType: postalDeliveryType
        streetSuffix: streetSuffix
        state: state
        postalDeliveryNumberPrefix: postalDeliveryNumberPrefix
        thoroughfareNumber2Suffix: thoroughfareNumber2Suffix
      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 is thoroughfareNumber1
            is populated
          type: string
        thoroughfareNumber2:
          description: Second thoroughfare number (only used if the property has a
            ranged address eg 23-25)
          type: integer
          x-cds-type: PositiveInteger
        thoroughfareNumber2Suffix:
          description: Suffix for the second thoroughfare number. Only relevant is
            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. (eg. 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
    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
    EnergyServicePointListResponse_data:
      example:
        servicePoints:
        - lastUpdateDateTime: lastUpdateDateTime
          consumerProfile:
            threshold: LOW
            classification: BUSINESS
          servicePointId: servicePointId
          jurisdictionCode: ALL
          validFromDate: validFromDate
          nationalMeteringId: nationalMeteringId
          servicePointStatus: ACTIVE
          servicePointClassification: EXTERNAL_PROFILE
          isGenerator: true
        - lastUpdateDateTime: lastUpdateDateTime
          consumerProfile:
            threshold: LOW
            classification: BUSINESS
          servicePointId: servicePointId
          jurisdictionCode: ALL
          validFromDate: validFromDate
          nationalMeteringId: nationalMeteringId
          servicePointStatus: ACTIVE
          servicePointClassification: EXTERNAL_PROFILE
          isGenerator: true
      properties:
        servicePoints:
          items:
            $ref: '#/components/schemas/EnergyServicePoint'
          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: 5
              endInterval: 2
              quality: SUBSTITUTE
            - startInterval: 5
              endInterval: 2
              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: 5
              endInterval: 2
              quality: SUBSTITUTE
            - startInterval: 5
              endInterval: 2
              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: INVERTER
            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: INVERTER
            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: INVERTER
            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: INVERTER
            status: ACTIVE
      properties:
        derRecords:
          description: Array of meter reads
          items:
            $ref: '#/components/schemas/EnergyDerRecord'
          type: array
      required:
      - derRecords
      type: object
    ResponseErrorListV2_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
    ResponseErrorListV2_errors:
      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/ResponseErrorListV2_meta'
      required:
      - code
      - detail
      - title
      type: object
    EnergyServicePoint_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
    EnergyServicePointDetail_distributionLossFactor:
      example:
        code: code
        description: description
        lossValue: lossValue
      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
    EnergyServicePointDetail_relatedParticipants:
      example:
        role: FRMP
        party: party
      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
    EnergyServicePointDetail_specifications:
      description: Technical characteristics of the meter
      example:
        installationType: BASIC
        nextScheduledReadDate: nextScheduledReadDate
        model: model
        readType: readType
        status: CURRENT
        manufacturer: manufacturer
      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
    EnergyServicePointDetail_registers:
      example:
        unitOfMeasure: unitOfMeasure
        registerId: registerId
        consumptionType: ACTUAL
        averagedDailyLoad: 5.962133916683182
        multiplier: 5.637376656633329
        registerConsumptionType: INTERVAL
        networkTariffCode: networkTariffCode
        registerSuffix: registerSuffix
        controlledLoad: true
        timeOfDay: ALLDAY
      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
    EnergyServicePointDetail_meters:
      example:
        meterId: meterId
        registers:
        - unitOfMeasure: unitOfMeasure
          registerId: registerId
          consumptionType: ACTUAL
          averagedDailyLoad: 5.962133916683182
          multiplier: 5.637376656633329
          registerConsumptionType: INTERVAL
          networkTariffCode: networkTariffCode
          registerSuffix: registerSuffix
          controlledLoad: true
          timeOfDay: ALLDAY
        - unitOfMeasure: unitOfMeasure
          registerId: registerId
          consumptionType: ACTUAL
          averagedDailyLoad: 5.962133916683182
          multiplier: 5.637376656633329
          registerConsumptionType: INTERVAL
          networkTariffCode: networkTariffCode
          registerSuffix: registerSuffix
          controlledLoad: true
          timeOfDay: ALLDAY
        specifications:
          installationType: BASIC
          nextScheduledReadDate: nextScheduledReadDate
          model: model
          readType: readType
          status: CURRENT
          manufacturer: manufacturer
      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/EnergyServicePointDetail_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/EnergyServicePointDetail_registers'
          type: array
      required:
      - meterId
      - specifications
      type: object
    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: 5
        endInterval: 2
        quality: SUBSTITUTE
      properties:
        startInterval:
          description: Start interval for read quality flag. First read begins at
            1
          type: integer
          x-cds-type: PositiveInteger
        endInterval:
          description: End interval for read quality flag
          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: 5
          endInterval: 2
          quality: SUBSTITUTE
        - startInterval: 5
          endInterval: 2
          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 hasCentralProtectionAndControl 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: INVERTER
        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:
          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
