openapi: 3.0.3
info:
  description: Consumer Data Right end points and payloads for the Energy sector
  title: CDR Energy API
  version: 1.24.0
servers:
- url: /
paths:
  /energy/plans:
    get:
      description: |-
        Obtain a list of energy plans that are currently offered to the market.

        Note that the results returned by this end point are expected to be ordered in descending order according to `lastUpdated`.
      operationId: listPlans
      parameters:
      - description: Used to filter results on the type field.  Any one of the valid
          values for this field can be supplied plus 'ALL'.  If absent defaults to
          'ALL'
        explode: true
        in: query
        name: type
        required: false
        schema:
          default: ALL
          enum:
          - STANDING
          - MARKET
          - REGULATED
          - ALL
          type: string
        style: form
      - description: Used to filter results on the fuelType field.  Any one of the
          valid values for this field can be supplied plus 'ALL'.  If absent defaults
          to 'ALL'
        explode: true
        in: query
        name: fuelType
        required: false
        schema:
          default: ALL
          enum:
          - ELECTRICITY
          - GAS
          - DUAL
          - ALL
          type: string
        style: form
      - description: Allows for the filtering of plans based on whether the current
          time is within the period of time defined as effective by the effectiveFrom
          and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’.
          If absent defaults to 'CURRENT'
        explode: true
        in: query
        name: effective
        required: false
        schema:
          default: CURRENT
          enum:
          - CURRENT
          - FUTURE
          - ALL
          type: string
        style: form
      - description: Only include plans that have been updated after the specified
          date and time.  If absent defaults to include all plans
        explode: true
        in: query
        name: updated-since
        required: false
        schema:
          type: string
        style: form
        x-cds-type: DateTimeString
      - description: Used to filter results on the brand field.  If absent defaults
          to include all plans
        explode: true
        in: query
        name: brand
        required: false
        schema:
          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
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyPlanListResponse'
          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
        "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>
        "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>
        "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>
      summary: Get Generic Plans
      tags:
      - Energy
      - Generic Tariffs
      x-version: "1"
  /energy/plans/{planId}:
    get:
      description: |-
        Obtain detailed information on a single energy plan offered openly to the market.

        Other Versions: [v1](includes/obsolete/get-generic-plan-detail-v1.html)
      operationId: getPlan
      parameters:
      - description: ID of the specific plan requested
        explode: false
        in: path
        name: planId
        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
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyPlanResponseV2'
          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
        "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>
        "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
            - Invalid Resource](#error-404-resource-invalid)</li></ul>
        "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>
      summary: Get Generic Plan Detail
      tags:
      - Energy
      - Generic Tariffs
      x-version: "2"
  /energy/electricity/servicepoints:
    get:
      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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - NMI Standing Data
      x-scopes:
      - energy:electricity.servicepoints.basic:read
      x-version: "1"
  /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: ID of the specific service point requested.  This is a tokenised
          ID previous obtained from the Service Point List Data end point.  Note that
          it is not a nationalMeteringId.
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - NMI Standing Data
      x-scopes:
      - energy:electricity.servicepoints.detail:read
      x-version: "1"
  /energy/electricity/servicepoints/{servicePointId}/usage:
    get:
      description: Obtain a list of electricity usage data from a particular service
        point
      operationId: getUsageForServicePoint
      parameters:
      - description: ID of the specific service point requested.  This is a tokenised
          ID previous obtained from the Service Point List Data end point.  Note that
          it is not a nationalMeteringId.
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - Electricity Usage
      x-scopes:
      - energy:electricity.usage:read
      x-version: "1"
  /energy/electricity/servicepoints/usage:
    get:
      description: Obtain usage data for all service points associated with the customer
      operationId: listUsageBulk
      parameters:
      - 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: 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: 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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></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 Bulk Usage
      tags:
      - Energy
      - Electricity Usage
      x-scopes:
      - energy:electricity.usage:read
      x-version: "1"
    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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - Electricity Usage
      x-scopes:
      - energy:electricity.usage:read
      x-version: "1"
  /energy/electricity/servicepoints/{servicePointId}/der:
    get:
      description: Obtain a list of DER data from a particular service point
      operationId: getDERForServicePoint
      parameters:
      - description: ID of the specific service point requested.  This is a tokenised
          ID previous obtained from the Service Point List Data end point.  Note that
          it is not a nationalMeteringId.
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - Distributed Energy Resources
      x-scopes:
      - energy:electricity.der:read
      x-version: "1"
  /energy/electricity/servicepoints/der:
    get:
      description: Obtain DER data for all service points associated with the customer
      operationId: listDERBulk
      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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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></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 Bulk DER
      tags:
      - Energy
      - Distributed Energy Resources
      x-scopes:
      - energy:electricity.der:read
      x-version: "1"
    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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      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
      tags:
      - Energy
      - Distributed Energy Resources
      x-scopes:
      - energy:electricity.der:read
      x-version: "1"
  /energy/accounts:
    get:
      description: |-
        Obtain the list of energy accounts available under the authorised consent

        Other Versions: [v1](includes/obsolete/get-energy-accounts-v1.html)
      operationId: listAccounts
      parameters:
      - description: Used to filter results according to open/closed status. Values
          can be OPEN, CLOSED or ALL. If absent then ALL is assumed
        explode: true
        in: query
        name: open-status
        required: false
        schema:
          default: ALL
          enum:
          - ALL
          - CLOSED
          - OPEN
          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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyAccountListResponseV2'
          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 Energy Accounts
      tags:
      - Energy
      - Energy Accounts
      x-scopes:
      - energy:accounts.basic:read
      x-version: "2"
  /energy/accounts/{accountId}:
    get:
      description: |-
        Obtain detailed information for a specific energy account

        Other Versions: [v1](includes/obsolete/get-energy-account-detail-v1.html) [v2](includes/obsolete/get-energy-account-detail-v2.html)
      operationId: getAccount
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyAccountDetailResponseV3'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Energy Account Detail
      tags:
      - Energy
      - Energy Accounts
      x-scopes:
      - energy:accounts.detail:read
      x-version: "3"
  /energy/accounts/{accountId}/payment-schedule:
    get:
      description: "Obtain the agreed payment schedule and details, if any, for a\
        \ specific energy account. \n\nSome general notes about this end point:\n\n\
        \ <ul><li>This API describes how the consumer has elected to pay for their\
        \ account</li><li>Payments initiated by the consumer are classified as manual\
        \ payments. The billing frequency is captured for manual payments. The consumer\
        \ may choose to pay on a different schedule/frequency. The payment method\
        \ and frequency is not captured for manual payments</li><li>Payments that\
        \ can be initiated by the retailer, based on a consumer's preferences and\
        \ permission, include payments based on a direct debit, card debit or digital\
        \ wallet setup. Each of these requires a payment frequency to be provided\
        \ along with other relevant fields</li><li>Information about payment plans\
        \ related to debt repayments or arrangements due to hardship is not captured\
        \ within this API</li></ul>"
      operationId: getPaymentSchedule
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyPaymentScheduleResponse'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Agreed Payment Schedule
      tags:
      - Energy
      - Energy Accounts
      x-scopes:
      - energy:accounts.paymentschedule:read
      x-version: "1"
  /energy/accounts/{accountId}/concessions:
    get:
      description: Obtain the details of any concessions or arrangements applied to
        a specific energy account
      operationId: getConcessions
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyConcessionsResponse'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Concessions
      tags:
      - Energy
      - Energy Accounts
      x-scopes:
      - energy:accounts.concessions:read
      x-version: "1"
  /energy/accounts/{accountId}/balance:
    get:
      description: Obtain the current balance for a specific account
      operationId: getBalanceForAccount
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBalanceResponse'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Balance For Energy Account
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
  /energy/accounts/balances:
    get:
      description: Obtain the current balance for all accounts
      operationId: listBalancesBulk
      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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBalanceListResponse'
          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 Bulk Balances for Energy
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
    post:
      description: Obtain the current balance for a specified set of accounts
      operationId: listBalancesForAccounts
      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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      requestBody:
        $ref: '#/components/requestBodies/accountIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBalanceListResponse'
          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
            Energy Account](#error-422-unavailable-energy-account)</li><li>[422 -
            Invalid Energy Account](#error-422-invalid-energy-account)</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 Balances For Specific Energy Accounts
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
  /energy/accounts/{accountId}/invoices:
    get:
      description: Obtain the invoices for a specific account
      operationId: getInvoicesForAccount
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - description: Constrain the request to records with issue 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: Constrain the request to records with issue 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: 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyInvoiceListResponse'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Invoices For Account
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
  /energy/accounts/invoices:
    get:
      description: Obtain the invoices for all accounts
      operationId: listInvoicesBulk
      parameters:
      - description: Constrain the request to records with issue 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: Constrain the request to records with issue 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: 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyInvoiceListResponse'
          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 Bulk Invoices
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
    post:
      description: Obtain invoices for a specified set of accounts
      operationId: listInvoicesForAccounts
      parameters:
      - description: Constrain the request to records with issue 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: Constrain the request to records with issue 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: 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      requestBody:
        $ref: '#/components/requestBodies/accountIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyInvoiceListResponse'
          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
            Energy Account](#error-422-unavailable-energy-account)</li><li>[422 -
            Invalid Energy Account](#error-422-invalid-energy-account)</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 Invoices For Specific Accounts
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
  /energy/accounts/{accountId}/billing:
    get:
      description: Obtain the billing transactions for a specific account
      operationId: getBillingForAccount
      parameters:
      - description: ID of a specific account to obtain data for.  This is a tokenised
          ID previous obtained from the Account List end point.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - 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
      - 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
      - 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBillingListResponse'
          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 Energy Account](#error-404-unavailable-energy-account)</li><li>[404
            - Invalid Energy Account](#error-404-invalid-energy-account)</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 Billing For Account
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
  /energy/accounts/billing:
    get:
      description: Obtain billing transactions for all accounts
      operationId: listBillingBulk
      parameters:
      - 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
      - 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
      - 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBillingListResponse'
          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 Bulk Billing
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
    post:
      description: Obtain billing for a specified set of accounts
      operationId: listBillingForAccounts
      parameters:
      - 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
      - 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
      - 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: 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
        in: header
        name: x-fapi-interaction-id
        required: false
        schema:
          type: string
        style: simple
      - description: The time when the customer last logged in to the Data Recipient
          Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
          for all resource calls (customer present and unattended). Not required for
          unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-auth-date
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
      - description: The customer's original IP address if the customer is currently
          logged in to the data recipient. The presence of this header indicates that
          the API is being called in a customer present context. Not to be included
          for unauthenticated calls.
        explode: false
        in: header
        name: x-fapi-customer-ip-address
        required: false
        schema:
          type: string
        style: simple
      - description: The customer's original standard http headers [Base64](#common-field-types)
          encoded, including the original User Agent header, if the customer is currently
          logged in to the data recipient. Mandatory for customer present calls.  Not
          required for unattended or unauthenticated calls.
        explode: false
        in: header
        name: x-cds-client-headers
        required: false
        schema:
          type: string
        style: simple
        x-conditional: true
        x-cds-type: Base64
      requestBody:
        $ref: '#/components/requestBodies/accountIdList'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBillingListResponse'
          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
            Energy Account](#error-422-unavailable-energy-account)</li><li>[422 -
            Invalid Energy Account](#error-422-invalid-energy-account)</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 Billing For Specific Accounts
      tags:
      - Energy
      - Billing
      x-scopes:
      - energy:billing:read
      x-version: "1"
components:
  parameters:
    servicePointId:
      description: ID of the specific service point requested.  This is a tokenised
        ID previous obtained from the Service Point List Data end point.  Note that
        it is not a nationalMeteringId.
      explode: false
      in: path
      name: servicePointId
      required: true
      schema:
        type: string
      style: simple
    accountId:
      description: ID of a specific account to obtain data for.  This is a tokenised
        ID previous obtained from the Account List end point.
      explode: false
      in: path
      name: accountId
      required: true
      schema:
        type: string
      style: simple
    open-status:
      description: Used to filter results according to open/closed status. Values
        can be OPEN, CLOSED or ALL. If absent then ALL is assumed
      explode: true
      in: query
      name: open-status
      required: false
      schema:
        default: ALL
        enum:
        - ALL
        - CLOSED
        - OPEN
        type: string
      style: form
    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
    newest-date-invoices:
      description: Constrain the request to records with issue 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-invoices:
      description: Constrain the request to records with issue 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: 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
      in: header
      name: x-fapi-interaction-id
      required: false
      schema:
        type: string
      style: simple
    x-fapi-auth-date:
      description: The time when the customer last logged in to the Data Recipient
        Software Product as described in **[[FAPI-R-Draft]](#nref-FAPI-R-Draft)**.  Required
        for all resource calls (customer present and unattended). Not required for
        unauthenticated calls.
      explode: false
      in: header
      name: x-fapi-auth-date
      required: false
      schema:
        type: string
      style: simple
      x-conditional: true
    x-fapi-customer-ip-address:
      description: The customer's original IP address if the customer is currently
        logged in to the data recipient. The presence of this header indicates that
        the API is being called in a customer present context. Not to be included
        for unauthenticated calls.
      explode: false
      in: header
      name: x-fapi-customer-ip-address
      required: false
      schema:
        type: string
      style: simple
    x-cds-client-headers:
      description: The customer's original standard http headers [Base64](#common-field-types)
        encoded, including the original User Agent header, if the customer is currently
        logged in to the data recipient. Mandatory for customer present calls.  Not
        required for unattended or unauthenticated calls.
      explode: false
      in: header
      name: x-cds-client-headers
      required: false
      schema:
        type: string
      style: simple
      x-conditional: true
      x-cds-type: Base64
  requestBodies:
    servicePointIdList:
      content:
        application/json:
          schema:
            properties:
              data:
                properties:
                  servicePointIds:
                    description: Array of specific servicePointIds to obtain data
                      for
                    items:
                      type: string
                    type: array
                required:
                - servicePointIds
                type: object
              meta:
                $ref: '#/components/schemas/Meta'
            required:
            - data
            type: object
      description: Request payload containing list of specific Service Points to obtain
        data for
      required: true
    accountIdList:
      content:
        application/json:
          schema:
            properties:
              data:
                properties:
                  accountIds:
                    description: Array of specific accountIds to obtain data for
                    items:
                      type: string
                    type: array
                required:
                - accountIds
                type: object
              meta:
                $ref: '#/components/schemas/Meta'
            required:
            - data
            type: object
      description: Request payload containing list of specific Accounts to obtain
        data for
      required: true
  responses:
    planList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPlanListResponse'
      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
    planDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPlanResponseV2'
      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
    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
    accountListV2:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyAccountListResponseV2'
      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
    accountDetailV3:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyAccountDetailResponseV3'
      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
    accountPaymentScheduleDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPaymentScheduleResponse'
      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
    accountConcessionsDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyConcessionsResponse'
      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
    balanceList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyBalanceListResponse'
      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
    balanceDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyBalanceResponse'
      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
    invoiceList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyInvoiceListResponse'
      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
    billingList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyBillingListResponse'
      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:
    EnergyPlanListResponse:
      example:
        data:
          plans:
          - additionalInformation:
              eligibilityUri: eligibilityUri
              bundleUri: bundleUri
              pricingUri: pricingUri
              termsUri: termsUri
              overviewUri: overviewUri
            brandName: brandName
            displayName: displayName
            description: description
            type: STANDING
            effectiveTo: effectiveTo
            lastUpdated: lastUpdated
            customerType: RESIDENTIAL
            fuelType: ELECTRICITY
            geography:
              excludedPostcodes:
              - excludedPostcodes
              - excludedPostcodes
              distributors:
              - distributors
              - distributors
              includedPostcodes:
              - includedPostcodes
              - includedPostcodes
            planId: planId
            applicationUri: applicationUri
            effectiveFrom: effectiveFrom
            brand: brand
          - additionalInformation:
              eligibilityUri: eligibilityUri
              bundleUri: bundleUri
              pricingUri: pricingUri
              termsUri: termsUri
              overviewUri: overviewUri
            brandName: brandName
            displayName: displayName
            description: description
            type: STANDING
            effectiveTo: effectiveTo
            lastUpdated: lastUpdated
            customerType: RESIDENTIAL
            fuelType: ELECTRICITY
            geography:
              excludedPostcodes:
              - excludedPostcodes
              - excludedPostcodes
              distributors:
              - distributors
              - distributors
              includedPostcodes:
              - includedPostcodes
              - includedPostcodes
            planId: planId
            applicationUri: applicationUri
            effectiveFrom: effectiveFrom
            brand: brand
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyPlanListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyPlanResponseV2:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyPlanDetailV2'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    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
    EnergyAccountListResponseV2:
      example:
        data:
          accounts:
          - null
          - null
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyAccountListResponseV2_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyAccountDetailResponseV3:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyAccountDetailV3'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    EnergyPaymentScheduleResponse:
      example:
        data:
          paymentSchedules:
          - manualPayment:
              billFrequency: billFrequency
            amount: amount
            digitalWallet:
              calculationType: STATIC
              identifier: identifier
              provider: PAYPAL_AU
              name: name
              type: EMAIL
              paymentFrequency: paymentFrequency
            cardDebit:
              calculationType: STATIC
              cardScheme: VISA
              paymentFrequency: paymentFrequency
            directDebit:
              bsb: bsb
              calculationType: STATIC
              accountNumber: accountNumber
              paymentFrequency: paymentFrequency
              isTokenised: true
            paymentScheduleUType: cardDebit
          - manualPayment:
              billFrequency: billFrequency
            amount: amount
            digitalWallet:
              calculationType: STATIC
              identifier: identifier
              provider: PAYPAL_AU
              name: name
              type: EMAIL
              paymentFrequency: paymentFrequency
            cardDebit:
              calculationType: STATIC
              cardScheme: VISA
              paymentFrequency: paymentFrequency
            directDebit:
              bsb: bsb
              calculationType: STATIC
              accountNumber: accountNumber
              paymentFrequency: paymentFrequency
              isTokenised: true
            paymentScheduleUType: cardDebit
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyPaymentScheduleResponse_data'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    EnergyConcessionsResponse:
      example:
        data:
          concessions:
          - amount: amount
            additionalInfoUri: additionalInfoUri
            endDate: endDate
            displayName: displayName
            appliedTo:
            - INVOICE
            - INVOICE
            percentage: percentage
            additionalInfo: additionalInfo
            type: FIXED_AMOUNT
            discountFrequency: discountFrequency
            startDate: startDate
          - amount: amount
            additionalInfoUri: additionalInfoUri
            endDate: endDate
            displayName: displayName
            appliedTo:
            - INVOICE
            - INVOICE
            percentage: percentage
            additionalInfo: additionalInfo
            type: FIXED_AMOUNT
            discountFrequency: discountFrequency
            startDate: startDate
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyConcessionsResponse_data'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    EnergyBalanceListResponse:
      example:
        data:
          balances:
          - accountId: accountId
            balance: balance
          - accountId: accountId
            balance: balance
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyBalanceListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyBalanceResponse:
      example:
        data:
          balance: balance
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyBalanceResponse_data'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          type: object
      required:
      - data
      - links
      type: object
    EnergyInvoiceListResponse:
      example:
        data:
          invoices:
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              totalDiscounts: totalDiscounts
              totalCharges: totalCharges
            dueDate: dueDate
            servicePoints:
            - servicePoints
            - servicePoints
            invoiceAmount: invoiceAmount
            electricity:
              totalGst: totalGst
              totalGenerationCredits: totalGenerationCredits
              totalOnceOffDiscounts: totalOnceOffDiscounts
              otherCharges:
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              totalUsageCharges: totalUsageCharges
              totalOnceOffCharges: totalOnceOffCharges
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            invoiceNumber: invoiceNumber
            gas:
              totalGst: totalGst
              totalGenerationCredits: totalGenerationCredits
              totalOnceOffDiscounts: totalOnceOffDiscounts
              otherCharges:
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              totalUsageCharges: totalUsageCharges
              totalOnceOffCharges: totalOnceOffCharges
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: PAID
          - gstAmount: gstAmount
            period:
              endDate: endDate
              startDate: startDate
            accountCharges:
              totalGst: totalGst
              totalDiscounts: totalDiscounts
              totalCharges: totalCharges
            dueDate: dueDate
            servicePoints:
            - servicePoints
            - servicePoints
            invoiceAmount: invoiceAmount
            electricity:
              totalGst: totalGst
              totalGenerationCredits: totalGenerationCredits
              totalOnceOffDiscounts: totalOnceOffDiscounts
              otherCharges:
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              totalUsageCharges: totalUsageCharges
              totalOnceOffCharges: totalOnceOffCharges
            balanceAtIssue: balanceAtIssue
            accountId: accountId
            invoiceNumber: invoiceNumber
            gas:
              totalGst: totalGst
              totalGenerationCredits: totalGenerationCredits
              totalOnceOffDiscounts: totalOnceOffDiscounts
              otherCharges:
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              - amount: amount
                description: description
                type: ENVIRONMENTAL
              totalUsageCharges: totalUsageCharges
              totalOnceOffCharges: totalOnceOffCharges
            issueDate: issueDate
            payOnTimeDiscount:
              date: date
              gstAmount: gstAmount
              discountAmount: discountAmount
            paymentStatus: PAID
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyInvoiceListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyBillingListResponse:
      example:
        data:
          transactions:
          - accountId: accountId
            onceOff:
              amount: amount
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
            otherCharges:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              type: ENVIRONMENTAL
              startDate: startDate
            usage:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              isEstimate: true
              endDate: endDate
              usage: 0.8008281904610115
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              measureUnit: KWH
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              timeOfUseType: PEAK
              startDate: startDate
            gst: gst
            payment:
              amount: amount
              method: DIRECT_DEBIT
            executionDateTime: executionDateTime
            transactionUType: usage
            demand:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              isEstimate: true
              endDate: endDate
              rate: 1.4658129805029452
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              timeOfUseType: PEAK
              startDate: startDate
          - accountId: accountId
            onceOff:
              amount: amount
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
            otherCharges:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              endDate: endDate
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              type: ENVIRONMENTAL
              startDate: startDate
            usage:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              isEstimate: true
              endDate: endDate
              usage: 0.8008281904610115
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              measureUnit: KWH
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              timeOfUseType: PEAK
              startDate: startDate
            gst: gst
            payment:
              amount: amount
              method: DIRECT_DEBIT
            executionDateTime: executionDateTime
            transactionUType: usage
            demand:
              amount: amount
              adjustments:
              - amount: amount
                description: description
              - amount: amount
                description: description
              isEstimate: true
              endDate: endDate
              rate: 1.4658129805029452
              servicePointId: servicePointId
              invoiceNumber: invoiceNumber
              description: description
              calculationFactors:
              - type: DLF
                value: 6.027456183070403
              - type: DLF
                value: 6.027456183070403
              timeOfUseType: PEAK
              startDate: startDate
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyBillingListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    ResponseErrorListV2:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ResponseErrorListV2_errors'
          type: array
      required:
      - errors
      type: object
      x-conditional:
      - meta
    EnergyPlan:
      example:
        additionalInformation:
          eligibilityUri: eligibilityUri
          bundleUri: bundleUri
          pricingUri: pricingUri
          termsUri: termsUri
          overviewUri: overviewUri
        brandName: brandName
        displayName: displayName
        description: description
        type: STANDING
        effectiveTo: effectiveTo
        lastUpdated: lastUpdated
        customerType: RESIDENTIAL
        fuelType: ELECTRICITY
        geography:
          excludedPostcodes:
          - excludedPostcodes
          - excludedPostcodes
          distributors:
          - distributors
          - distributors
          includedPostcodes:
          - includedPostcodes
          - includedPostcodes
        planId: planId
        applicationUri: applicationUri
        effectiveFrom: effectiveFrom
        brand: brand
      properties:
        planId:
          description: The ID of the specific plan
          type: string
          x-cds-type: ASCIIString
        effectiveFrom:
          description: The date and time from which this plan is effective (ie. is
            available for origination). Used to enable the articulation of products
            to the regime before they are available for customers to originate
          type: string
          x-cds-type: DateTimeString
        effectiveTo:
          description: The date and time at which this plan will be retired and will
            no longer be offered. Used to enable the managed deprecation of plans
          type: string
          x-cds-type: DateTimeString
        lastUpdated:
          description: The last date and time that the information for this plan was
            changed (or the creation date for the plan if it has never been altered)
          type: string
          x-cds-type: DateTimeString
        displayName:
          description: The display name of the plan
          type: string
        description:
          description: A description of the plan
          type: string
        type:
          description: The type of the plan
          enum:
          - STANDING
          - MARKET
          - REGULATED
          type: string
        fuelType:
          description: The fuel types covered by the plan
          enum:
          - ELECTRICITY
          - GAS
          - DUAL
          type: string
        brand:
          description: The ID of the brand under which this plan is offered
          type: string
          x-cds-type: ASCIIString
        brandName:
          description: The display name of the brand under which this plan is offered
          type: string
        applicationUri:
          description: A link to an application web page where this plan can be applied
            for
          type: string
          x-cds-type: URIString
        additionalInformation:
          $ref: '#/components/schemas/EnergyPlan_additionalInformation'
        customerType:
          description: The type of customer that the plan is offered to.  If absent
            then the plan is available to all customers
          enum:
          - RESIDENTIAL
          - BUSINESS
          type: string
        geography:
          $ref: '#/components/schemas/EnergyPlan_geography'
      required:
      - brand
      - brandName
      - fuelType
      - lastUpdated
      - planId
      - type
      type: object
    EnergyPlanDetailV2:
      allOf:
      - $ref: '#/components/schemas/EnergyPlan'
      - $ref: '#/components/schemas/EnergyPlanDetailV2_allOf'
    EnergyPlanContractV2:
      properties:
        additionalFeeInformation:
          description: Free text field containing additional information of the fees
            for this contract
          type: string
        pricingModel:
          description: The pricing model for the contract.  Contracts for gas must
            use SINGLE_RATE.  Note that the detail for the enumeration values are:<ul><li>**SINGLE_RATE**
            - all energy usage is charged at a single unit rate no matter when it
            is consumed. Multiple unit rates may exist that correspond to varying
            volumes of usage i.e. a ‘block’ or ‘step’ tariff (first 50kWh @ X cents,
            next 50kWh at Y cents etc.</li><li>**SINGLE_RATE_CONT_LOAD** - as above,
            but with an additional, separate unit rate charged for all energy usage
            from a controlled load i.e. separately metered appliance like hot water
            service, pool pump etc.</li><li>**TIME_OF_USE** - energy usage is charged
            at unit rates that vary dependent on time of day and day of week that
            the energy is consumed</li><li>**TIME_OF_USE_CONT_LOAD** - as above, but
            with an additional, separate unit rate charged for all energy usage from
            a controlled load i.e. separately metered appliance like hot water service,
            pool pump etc.</li><li>**FLEXIBLE** - energy usage is charged at unit
            rates that vary based on external factors</li><li>**FLEXIBLE_CONT_LOAD**
            - as above, but with an additional, separate unit rate charged for all
            energy usage from a controlled load i.e. separately metered appliance
            like hot water service, pool pump etc.</li><li>**QUOTA** - all energy
            usage is charged at a single fixed rate, up to a specified usage quota/allowance.
            All excess usage beyond the allowance is then charged at a single unit
            rate (may not be the best way to explain it but it is essentially a ‘subscription’
            or telco style product i.e. $50/month for up to 150kWh included usage</li></ul>
          enum:
          - SINGLE_RATE
          - SINGLE_RATE_CONT_LOAD
          - TIME_OF_USE
          - TIME_OF_USE_CONT_LOAD
          - FLEXIBLE
          - FLEXIBLE_CONT_LOAD
          - QUOTA
          type: string
        timeZone:
          description: Required if pricingModel is set to TIME_OF_USE.  Defines the
            time zone to use for calculation of the time of use thresholds. Defaults
            to AEST if absent
          enum:
          - LOCAL
          - AEST
          type: string
        isFixed:
          description: Flag indicating whether prices are fixed or variable
          type: boolean
        variation:
          description: Free text description of price variation policy and conditions
            for the contract.  Mandatory if `isFixed` is false
          type: string
        onExpiryDescription:
          description: Free text field that describes what will occur on or prior
            to expiry of the fixed contract term or benefit period
          type: string
        paymentOption:
          description: Payment options for this contract
          items:
            enum:
            - PAPER_BILL
            - CREDIT_CARD
            - DIRECT_DEBIT
            - BPAY
            - OTHER
            type: string
          type: array
        intrinsicGreenPower:
          $ref: '#/components/schemas/EnergyPlanContractV2_intrinsicGreenPower'
        controlledLoad:
          description: Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD
            or FLEXIBLE_CONT_LOAD
          items:
            properties:
              displayName:
                description: A display name for the controlled load
                type: string
              rateBlockUType:
                description: 'Specifies the type of controlloed load rate '
                enum:
                - singleRate
                - timeOfUseRates
                type: string
              startDate:
                description: Optional start date of the application of the controlled
                  load rate
                type: string
                x-cds-type: DateString
              endDate:
                description: Optional end date of the application of the controlled
                  load rate
                type: string
                x-cds-type: DateString
              singleRate:
                description: Object representing a single controlled load rate.  Required
                  if rateBlockUType is singleRate
                properties:
                  displayName:
                    description: Display name of the controlled load rate
                    type: string
                  description:
                    description: Description of the controlled load rate
                    type: string
                  dailySupplyCharge:
                    description: The daily supply charge (exclusive of GST) for this
                      controlled load tier
                    type: string
                    x-cds-type: AmountString
                  rates:
                    description: Array of controlled load rates in order of usage
                      volume
                    items:
                      properties:
                        unitPrice:
                          description: Unit price of usage per  measure unit (exclusive
                            of GST)
                          type: string
                          x-cds-type: AmountString
                        measureUnit:
                          description: The measurement unit of rate. Assumed to be
                            KWH if absent
                          enum:
                          - KWH
                          - KVA
                          - KVAR
                          - KVARH
                          - KW
                          - DAYS
                          - METER
                          - MONTH
                          type: string
                        volume:
                          description: Volume in kWh that this rate applies to.  Only
                            applicable for ‘stepped’ rates where different rates apply
                            for different volumes of usage in a period
                          type: number
                      required:
                      - unitPrice
                      type: object
                    type: array
                required:
                - displayName
                - rates
                type: object
              timeOfUseRates:
                description: Array of objects representing time of use rates.  Required
                  if rateBlockUType is timeOfUseRates
                items:
                  properties:
                    displayName:
                      description: Display name of the controlled load rate
                      type: string
                    description:
                      description: Description of the controlled load rate
                      type: string
                    dailySupplyCharge:
                      description: The daily supply charge (exclusive of GST) for
                        this controlled load tier
                      type: string
                      x-cds-type: AmountString
                    rates:
                      description: Array of controlled load rates in order of usage
                        volume
                      items:
                        properties:
                          unitPrice:
                            description: Unit price of usage per  measure unit (exclusive
                              of GST)
                            type: string
                            x-cds-type: AmountString
                          measureUnit:
                            description: The measurement unit of rate. Assumed to
                              be KWH if absent
                            enum:
                            - KWH
                            - KVA
                            - KVAR
                            - KVARH
                            - KW
                            - DAYS
                            - METER
                            - MONTH
                            type: string
                          volume:
                            description: Volume in kWh that this rate applies to.  Only
                              applicable for ‘stepped’ rates where different rates
                              apply for different volumes of usage in a period
                            type: number
                        required:
                        - unitPrice
                        type: object
                      type: array
                    timeOfUse:
                      description: Array of times of use.
                      items:
                        properties:
                          days:
                            description: The days that the rate applies to
                            items:
                              enum:
                              - SUN
                              - MON
                              - TUE
                              - WED
                              - THU
                              - FRI
                              - SAT
                              - PUBLIC_HOLIDAYS
                              type: string
                            type: array
                          startTime:
                            description: The beginning of the time period per day
                              for which the controlled load rate applies. Required
                              if endTime provided
                            type: string
                            x-cds-type: TimeString
                          endTime:
                            description: The end of the time period per day for which
                              the controlled load rate applies. Required if startTime
                              provided
                            type: string
                            x-cds-type: TimeString
                          additionalInfo:
                            description: Display text providing more information on
                              the contrlled load, for e.g. controlled load availability
                              if specific day/time is not known. Required if startTime
                              and endTime absent or if additionalInfoUri provided
                            type: string
                          additionalInfoUri:
                            description: Optional link to additional information regarding
                              the controlled load
                            type: string
                            x-cds-type: URIString
                        type: object
                        x-conditional:
                        - startTime
                        - endTime
                        - additionalInfo
                      type: array
                    type:
                      description: The type of usage that the rate applies to
                      enum:
                      - PEAK
                      - OFF_PEAK
                      - SHOULDER
                      - SOLAR_SPONGE
                      type: string
                  required:
                  - displayName
                  - rates
                  - timeOfUse
                  - type
                  type: object
                type: array
            required:
            - displayName
            - rateBlockUType
            type: object
            x-conditional:
            - singleRate
            - timeOfUseRates
          type: array
        incentives:
          description: Optional list of incentives available for the contract
          items:
            properties:
              displayName:
                description: The display name of the incentive
                type: string
              description:
                description: The description of the incentive
                type: string
              category:
                description: The type of the incentive
                enum:
                - GIFT
                - ACCOUNT_CREDIT
                - OTHER
                type: string
              eligibility:
                description: A display message outlining an eligibility criteria that
                  may apply
                type: string
            required:
            - category
            - description
            - displayName
            type: object
          type: array
        discounts:
          description: Optional list of discounts available for the contract
          items:
            properties:
              displayName:
                description: The display name of the discount
                type: string
              description:
                description: The description of the discount
                type: string
              type:
                description: The type of the discount
                enum:
                - CONDITIONAL
                - GUARANTEED
                - OTHER
                type: string
              category:
                description: The type of the discount.  Mandatory if the discount
                  type is CONDITIONAL
                enum:
                - PAY_ON_TIME
                - DIRECT_DEBIT
                - GUARANTEED_DISCOUNT
                - OTHER
                type: string
              endDate:
                description: Optional end date for the discount after which the discount
                  is no longer available
                type: string
                x-cds-type: DateString
              methodUType:
                description: The method of calculation of the discount
                enum:
                - percentOfBill
                - percentOfUse
                - fixedAmount
                - percentOverThreshold
                type: string
              percentOfBill:
                description: Required if methodUType is percentOfBill
                properties:
                  rate:
                    description: The rate of the discount applied to the bill amount
                    type: string
                    x-cds-type: RateString
                required:
                - rate
                type: object
              percentOfUse:
                description: Required if methodUType is percentOfUse
                properties:
                  rate:
                    description: The rate of the discount applied to the usageamount
                    type: string
                    x-cds-type: RateString
                required:
                - rate
                type: object
              fixedAmount:
                description: Required if methodUType is fixedAmount
                properties:
                  amount:
                    description: The amount of the discount
                    type: string
                    x-cds-type: AmountString
                required:
                - amount
                type: object
              percentOverThreshold:
                description: Required if methodUType is percentOverThreshold
                properties:
                  rate:
                    description: The rate of the discount over the usage amount
                    type: string
                    x-cds-type: RateString
                  usageAmount:
                    description: The usage amount threshold above which the discount
                      applies
                    type: string
                    x-cds-type: AmountString
                required:
                - rate
                - usageAmount
                type: object
            required:
            - displayName
            - methodUType
            - type
            type: object
            x-conditional:
            - percentOfBill
            - percentOfUse
            - fixedAmount
            - percentOverThreshold
          type: array
        greenPowerCharges:
          description: Optional list of charges applicable to green power
          items:
            properties:
              displayName:
                description: The display name of the charge
                type: string
              description:
                description: The description of the charge
                type: string
              scheme:
                description: The applicable green power scheme
                enum:
                - GREENPOWER
                - OTHER
                type: string
              type:
                description: The type of charge
                enum:
                - FIXED_PER_DAY
                - FIXED_PER_WEEK
                - FIXED_PER_MONTH
                - FIXED_PER_UNIT
                - PERCENT_OF_USE
                - PERCENT_OF_BILL
                type: string
              tiers:
                description: Array of charge tiers based on the percentage of green
                  power used for the period implied by the type.  Array is in order
                  of increasing percentage of green power
                items:
                  properties:
                    percentGreen:
                      description: The upper percentage of green power used applicable
                        for this tier
                      type: string
                      x-cds-type: RateString
                    rate:
                      description: The rate of the charge if the type implies the
                        application of a rate
                      type: string
                      x-cds-type: RateString
                    amount:
                      description: The amount of the charge if the type implies the
                        application of a fixed amount
                      type: string
                      x-cds-type: AmountString
                  required:
                  - percentGreen
                  type: object
                  x-conditional:
                  - rate
                  - amount
                type: array
            required:
            - displayName
            - scheme
            - tiers
            - type
            type: object
          type: array
        eligibility:
          description: Eligibility restrictions or requirements
          items:
            properties:
              type:
                description: The type of the eligibility restriction.<br/>The CONTINGENT_PLAN
                  value indicates that the plan is contingent on the customer taking
                  up an alternate fuel plan from the same retailer (for instance,
                  if the fuelType is ELECTRICITY then a GAS plan from the same retailer
                  must be taken up)
                enum:
                - EXISTING_CUST
                - EXISTING_POOL
                - EXISTING_SOLAR
                - EXISTING_BATTERY
                - EXISTING_SMART_METER
                - EXISTING_BASIC_METER
                - SENIOR_CARD
                - SMALL_BUSINESS
                - NO_SOLAR_FIT
                - NEW_CUSTOMER
                - ONLINE_ONLY
                - REQ_EQUIP_SUPPLIER
                - THIRD_PARTY_ONLY
                - SPORT_CLUB_MEMBER
                - ORG_MEMBER
                - SPECIFIC_LOCATION
                - MINIMUM_USAGE
                - LOYALTY_MEMBER
                - GROUP_BUY_MEMBER
                - CONTINGENT_PLAN
                - OTHER
                type: string
              information:
                description: Information of the eligibility restriction specific to
                  the type of the restriction
                type: string
              description:
                description: A description of the eligibility restriction
                type: string
            required:
            - information
            - type
            type: object
          type: array
        fees:
          description: An array of fees applicable to the plan
          items:
            properties:
              type:
                description: The type of the fee
                enum:
                - EXIT
                - ESTABLISHMENT
                - LATE_PAYMENT
                - DISCONNECTION
                - DISCONNECT_MOVE_OUT
                - DISCONNECT_NON_PAY
                - RECONNECTION
                - CONNECTION
                - PAYMENT_PROCESSING
                - CC_PROCESSING
                - CHEQUE_DISHONOUR
                - DD_DISHONOUR
                - MEMBERSHIP
                - CONTRIBUTION
                - PAPER_BILL
                - OTHER
                type: string
              term:
                description: The term of the fee
                enum:
                - FIXED
                - 1_YEAR
                - 2_YEAR
                - 3_YEAR
                - 4_YEAR
                - 5_YEAR
                - PERCENT_OF_BILL
                - ANNUAL
                - DAILY
                - WEEKLY
                - MONTHLY
                - BIANNUAL
                - VARIABLE
                type: string
              amount:
                description: The fee amount. Required if term is not PERCENT_OF_BILL
                type: string
                x-cds-type: AmountString
              rate:
                description: The fee rate. Required if term is PERCENT_OF_BILL
                type: string
                x-cds-type: RateString
              description:
                description: A description of the fee
                type: string
            required:
            - term
            - type
            type: object
            x-conditional:
            - amount
            - rate
          type: array
        solarFeedInTariff:
          description: Array of feed in tariffs for solar power
          items:
            properties:
              displayName:
                description: The name of the tariff
                type: string
              description:
                description: A description of the tariff
                type: string
              startDate:
                description: The start date of the application of the feed in tariff
                type: string
                x-cds-type: DateString
              endDate:
                description: The end date of the application of the feed in tariff
                type: string
                x-cds-type: DateString
              scheme:
                description: The applicable scheme
                enum:
                - PREMIUM
                - OTHER
                type: string
              payerType:
                description: The type of the payer
                enum:
                - GOVERNMENT
                - RETAILER
                type: string
              tariffUType:
                description: The type of the payer
                enum:
                - singleTariff
                - timeVaryingTariffs
                type: string
              singleTariff:
                description: Represents a constant tariff.  Mandatory if tariffUType
                  is set to singleTariff
                properties:
                  rates:
                    description: Array of feed in rates
                    items:
                      properties:
                        unitPrice:
                          description: Unit price of usage per measure unit (exclusive
                            of GST)
                          type: string
                          x-cds-type: AmountString
                        measureUnit:
                          description: The measurement unit of rate. Assumed to be
                            KWH if absent
                          enum:
                          - KWH
                          - KVA
                          - KVAR
                          - KVARH
                          - KW
                          - DAYS
                          - METER
                          - MONTH
                          type: string
                        volume:
                          description: Volume that this rate applies to. Only applicable
                            for ‘stepped’ rates where different rates apply for different
                            volumes of usage in a period
                          type: number
                      required:
                      - unitPrice
                      type: object
                    type: array
                required:
                - rates
                type: object
              timeVaryingTariffs:
                description: Represents a tariff based on time.  Mandatory if tariffUType
                  is set to timeVaryingTariffs
                properties:
                  type:
                    description: The type of the charging time period. If absent applies
                      to all periods
                    enum:
                    - PEAK
                    - OFF_PEAK
                    - SHOULDER
                    type: string
                  rates:
                    description: Array of feed in rates
                    items:
                      properties:
                        unitPrice:
                          description: Unit price of usage per measure unit (exclusive
                            of GST)
                          type: string
                          x-cds-type: AmountString
                        measureUnit:
                          description: The measurement unit of rate. Assumed to be
                            KWH if absent
                          enum:
                          - KWH
                          - KVA
                          - KVAR
                          - KVARH
                          - KW
                          - DAYS
                          - METER
                          - MONTH
                          type: string
                        volume:
                          description: Volume that this rate applies to. Only applicable
                            for ‘stepped’ rates where different rates apply for different
                            volumes of usage in a period
                          type: number
                      required:
                      - unitPrice
                      type: object
                    type: array
                  timeVariations:
                    description: Array of time periods for which this tariff is applicable
                    items:
                      properties:
                        days:
                          description: The days that the tariff applies to. At least
                            one entry required
                          items:
                            enum:
                            - SUN
                            - MON
                            - TUE
                            - WED
                            - THU
                            - FRI
                            - SAT
                            - PUBLIC_HOLIDAYS
                            type: string
                          type: array
                        startTime:
                          description: The beginning of the time period per day for
                            which the tariff applies.  If absent assumes start of
                            day (ie. midnight)
                          type: string
                          x-cds-type: TimeString
                        endTime:
                          description: The end of the time period per day for which
                            the tariff applies.  If absent assumes end of day (ie.
                            one second before midnight)
                          type: string
                          x-cds-type: TimeString
                      required:
                      - days
                      type: object
                    type: array
                required:
                - amount
                - timeVariations
                type: object
            required:
            - displayName
            - payerType
            - scheme
            - tariffUType
            type: object
            x-conditional:
            - singleTariff
            - timeVaryingTariffs
          type: array
        tariffPeriod:
          description: Array of tariff periods
          items:
            properties:
              type:
                description: Type of charge. Assumed to be other if absent
                enum:
                - ENVIRONMENTAL
                - REGULATED
                - NETWORK
                - METERING
                - RETAIL_SERVICE
                - RCTI
                - OTHER
                type: string
              displayName:
                description: The name of the tariff period
                type: string
              startDate:
                description: The start date of the tariff period in a calendar year.  Formatted
                  in mm-dd format
                type: string
              endDate:
                description: The end date of the tariff period in a calendar year.  Formatted
                  in mm-dd format
                type: string
              dailySupplyCharges:
                description: The amount of access charge for the tariff period, in
                  dollars per day exclusive of GST.
                type: string
                x-cds-type: AmountString
              timeZone:
                description: Specifies the charge specific time zone for calculation
                  of the time of use thresholds. If absent, timezone value in EnergyPlanContract
                  is assumed.
                enum:
                - LOCAL
                - AEST
                type: string
              rateBlockUType:
                description: Specifies the type of rate applicable to this tariff
                  period
                enum:
                - singleRate
                - timeOfUseRates
                - demandCharges
                type: string
              singleRate:
                description: Object representing a single rate.  Required if rateBlockUType
                  is singleRate
                properties:
                  displayName:
                    description: Display name of the rate
                    type: string
                  description:
                    description: Description of the rate
                    type: string
                  generalUnitPrice:
                    description: The block rate (unit price) for any usage above the
                      included fixed usage, in dollars per kWh inclusive of GST.  Only
                      required if pricingModel field is ‘QUOTA’
                    type: string
                    x-cds-type: AmountString
                  rates:
                    description: Array of controlled load rates in order of usage
                      volume
                    items:
                      properties:
                        unitPrice:
                          description: Unit price of usage per measure unit (exclusive
                            of GST)
                          type: string
                          x-cds-type: AmountString
                        measureUnit:
                          description: The measurement unit of rate. Assumed to be
                            KWH if absent
                          enum:
                          - KWH
                          - KVA
                          - KVAR
                          - KVARH
                          - KW
                          - DAYS
                          - METER
                          - MONTH
                          type: string
                        volume:
                          description: Volume in kWh that this rate applies to.  Only
                            applicable for ‘stepped’ rates where different rates apply
                            for different volumes of usage in a period
                          type: number
                      required:
                      - unitPrice
                      type: object
                    type: array
                  period:
                    description: Usage period for which the block rate applies. Formatted
                      according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
                      (excludes recurrence syntax)
                    type: string
                    x-cds-type: ExternalRef
                required:
                - displayName
                - rates
                type: object
                x-conditional:
                - generalUnitPrice
              timeOfUseRates:
                description: Array of objects representing time of use rates.  Required
                  if rateBlockUType is timeOfUseRates
                items:
                  properties:
                    displayName:
                      description: Display name of the rate
                      type: string
                    description:
                      description: Description of the rate
                      type: string
                    rates:
                      description: Array of controlled load rates in order of usage
                        volume
                      items:
                        properties:
                          unitPrice:
                            description: Unit price of usage per  measure unit (exclusive
                              of GST)
                            type: string
                            x-cds-type: AmountString
                          measureUnit:
                            description: The measurement unit of rate. Assumed to
                              be KWH if absent
                            enum:
                            - KWH
                            - KVA
                            - KVAR
                            - KVARH
                            - KW
                            - DAYS
                            - METER
                            - MONTH
                            type: string
                          volume:
                            description: Volume in kWh that this rate applies to.  Only
                              applicable for ‘stepped’ rates where different rates
                              apply for different volumes of usage in a period
                            type: number
                        required:
                        - unitPrice
                        type: object
                      type: array
                    timeOfUse:
                      description: Array of times of use
                      items:
                        properties:
                          days:
                            description: The days that the rate applies to
                            items:
                              enum:
                              - SUN
                              - MON
                              - TUE
                              - WED
                              - THU
                              - FRI
                              - SAT
                              - PUBLIC_HOLIDAYS
                              type: string
                            type: array
                          startTime:
                            description: Start of the period
                            type: string
                            x-cds-type: TimeString
                          endTime:
                            description: End of the period
                            type: string
                            x-cds-type: TimeString
                        required:
                        - days
                        - endTime
                        - startTime
                        type: object
                      type: array
                    type:
                      description: The type of usage that the rate applies to
                      enum:
                      - PEAK
                      - OFF_PEAK
                      - SHOULDER
                      - SHOULDER1
                      - SHOULDER2
                      type: string
                  required:
                  - displayName
                  - rates
                  - timeOfUse
                  - type
                  type: object
                type: array
              demandCharges:
                description: Array of demand charges.  Required if rateBlockUType
                  is demandCharges
                items:
                  properties:
                    displayName:
                      description: Display name of the charge
                      type: string
                    description:
                      description: Description of the charge
                      type: string
                    amount:
                      description: The charge amount per  measure unit exclusive of
                        GST
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of charge amount. Assumed
                        to be KWH if absent
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    startTime:
                      description: Start of the period
                      type: string
                      x-cds-type: TimeString
                    endTime:
                      description: End of the period
                      type: string
                      x-cds-type: TimeString
                    days:
                      description: The days that the demand tariff applies to
                      items:
                        enum:
                        - SUN
                        - MON
                        - TUE
                        - WED
                        - THU
                        - FRI
                        - SAT
                        - PUBLIC_HOLIDAYS
                        type: string
                      type: array
                    minDemand:
                      description: Minimum demand for this demand tariff in kW.  If
                        absent then 0 is assumed
                      type: string
                      x-cds-type: AmountString
                    maxDemand:
                      description: Maximum demand for this demand tariff in kW.  If
                        present, must be higher than the value of the minDemand field
                      type: string
                      x-cds-type: AmountString
                    measurementPeriod:
                      description: Application period for the demand tariff
                      enum:
                      - DAY
                      - MONTH
                      - TARIFF_PERIOD
                      type: string
                    chargePeriod:
                      description: Charge period for the demand tariff
                      enum:
                      - DAY
                      - MONTH
                      - TARIFF_PERIOD
                      type: string
                  required:
                  - amount
                  - chargePeriod
                  - displayName
                  - endTime
                  - measurementPeriod
                  - startTime
                  type: object
                type: array
            required:
            - displayName
            - endDate
            - rateBlockUType
            - startDate
            type: object
            x-conditional:
            - singleRate
            - timeOfUseRates
            - demandCharges
          type: array
      required:
      - isFixed
      - paymentOption
      - pricingModel
      - tariffPeriod
      type: object
      x-conditional:
      - timeZone
      - variation
      - controlledLoad
    EnergyPlanContractFullV2:
      allOf:
      - $ref: '#/components/schemas/EnergyPlanContractV2'
      - $ref: '#/components/schemas/EnergyPlanContractFullV2_allOf'
    EnergyPlanControlledLoad:
      description: Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD
        or FLEXIBLE_CONT_LOAD
      items:
        properties:
          displayName:
            description: A display name for the controlled load
            type: string
          rateBlockUType:
            description: 'Specifies the type of controlloed load rate '
            enum:
            - singleRate
            - timeOfUseRates
            type: string
          startDate:
            description: Optional start date of the application of the controlled
              load rate
            type: string
            x-cds-type: DateString
          endDate:
            description: Optional end date of the application of the controlled load
              rate
            type: string
            x-cds-type: DateString
          singleRate:
            description: Object representing a single controlled load rate.  Required
              if rateBlockUType is singleRate
            properties:
              displayName:
                description: Display name of the controlled load rate
                type: string
              description:
                description: Description of the controlled load rate
                type: string
              dailySupplyCharge:
                description: The daily supply charge (exclusive of GST) for this controlled
                  load tier
                type: string
                x-cds-type: AmountString
              rates:
                description: Array of controlled load rates in order of usage volume
                items:
                  properties:
                    unitPrice:
                      description: Unit price of usage per  measure unit (exclusive
                        of GST)
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of rate. Assumed to be KWH
                        if absent
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    volume:
                      description: Volume in kWh that this rate applies to.  Only
                        applicable for ‘stepped’ rates where different rates apply
                        for different volumes of usage in a period
                      type: number
                  required:
                  - unitPrice
                  type: object
                type: array
            required:
            - displayName
            - rates
            type: object
          timeOfUseRates:
            description: Array of objects representing time of use rates.  Required
              if rateBlockUType is timeOfUseRates
            items:
              properties:
                displayName:
                  description: Display name of the controlled load rate
                  type: string
                description:
                  description: Description of the controlled load rate
                  type: string
                dailySupplyCharge:
                  description: The daily supply charge (exclusive of GST) for this
                    controlled load tier
                  type: string
                  x-cds-type: AmountString
                rates:
                  description: Array of controlled load rates in order of usage volume
                  items:
                    properties:
                      unitPrice:
                        description: Unit price of usage per  measure unit (exclusive
                          of GST)
                        type: string
                        x-cds-type: AmountString
                      measureUnit:
                        description: The measurement unit of rate. Assumed to be KWH
                          if absent
                        enum:
                        - KWH
                        - KVA
                        - KVAR
                        - KVARH
                        - KW
                        - DAYS
                        - METER
                        - MONTH
                        type: string
                      volume:
                        description: Volume in kWh that this rate applies to.  Only
                          applicable for ‘stepped’ rates where different rates apply
                          for different volumes of usage in a period
                        type: number
                    required:
                    - unitPrice
                    type: object
                  type: array
                timeOfUse:
                  description: Array of times of use.
                  items:
                    properties:
                      days:
                        description: The days that the rate applies to
                        items:
                          enum:
                          - SUN
                          - MON
                          - TUE
                          - WED
                          - THU
                          - FRI
                          - SAT
                          - PUBLIC_HOLIDAYS
                          type: string
                        type: array
                      startTime:
                        description: The beginning of the time period per day for
                          which the controlled load rate applies. Required if endTime
                          provided
                        type: string
                        x-cds-type: TimeString
                      endTime:
                        description: The end of the time period per day for which
                          the controlled load rate applies. Required if startTime
                          provided
                        type: string
                        x-cds-type: TimeString
                      additionalInfo:
                        description: Display text providing more information on the
                          contrlled load, for e.g. controlled load availability if
                          specific day/time is not known. Required if startTime and
                          endTime absent or if additionalInfoUri provided
                        type: string
                      additionalInfoUri:
                        description: Optional link to additional information regarding
                          the controlled load
                        type: string
                        x-cds-type: URIString
                    type: object
                    x-conditional:
                    - startTime
                    - endTime
                    - additionalInfo
                  type: array
                type:
                  description: The type of usage that the rate applies to
                  enum:
                  - PEAK
                  - OFF_PEAK
                  - SHOULDER
                  - SOLAR_SPONGE
                  type: string
              required:
              - displayName
              - rates
              - timeOfUse
              - type
              type: object
            type: array
        required:
        - displayName
        - rateBlockUType
        type: object
        x-conditional:
        - singleRate
        - timeOfUseRates
      type: array
    EnergyPlanIncentives:
      description: Optional list of incentives available for the contract
      items:
        properties:
          displayName:
            description: The display name of the incentive
            type: string
          description:
            description: The description of the incentive
            type: string
          category:
            description: The type of the incentive
            enum:
            - GIFT
            - ACCOUNT_CREDIT
            - OTHER
            type: string
          eligibility:
            description: A display message outlining an eligibility criteria that
              may apply
            type: string
        required:
        - category
        - description
        - displayName
        type: object
      type: array
    EnergyPlanDiscounts:
      description: Optional list of discounts available for the contract
      items:
        properties:
          displayName:
            description: The display name of the discount
            type: string
          description:
            description: The description of the discount
            type: string
          type:
            description: The type of the discount
            enum:
            - CONDITIONAL
            - GUARANTEED
            - OTHER
            type: string
          category:
            description: The type of the discount.  Mandatory if the discount type
              is CONDITIONAL
            enum:
            - PAY_ON_TIME
            - DIRECT_DEBIT
            - GUARANTEED_DISCOUNT
            - OTHER
            type: string
          endDate:
            description: Optional end date for the discount after which the discount
              is no longer available
            type: string
            x-cds-type: DateString
          methodUType:
            description: The method of calculation of the discount
            enum:
            - percentOfBill
            - percentOfUse
            - fixedAmount
            - percentOverThreshold
            type: string
          percentOfBill:
            description: Required if methodUType is percentOfBill
            properties:
              rate:
                description: The rate of the discount applied to the bill amount
                type: string
                x-cds-type: RateString
            required:
            - rate
            type: object
          percentOfUse:
            description: Required if methodUType is percentOfUse
            properties:
              rate:
                description: The rate of the discount applied to the usageamount
                type: string
                x-cds-type: RateString
            required:
            - rate
            type: object
          fixedAmount:
            description: Required if methodUType is fixedAmount
            properties:
              amount:
                description: The amount of the discount
                type: string
                x-cds-type: AmountString
            required:
            - amount
            type: object
          percentOverThreshold:
            description: Required if methodUType is percentOverThreshold
            properties:
              rate:
                description: The rate of the discount over the usage amount
                type: string
                x-cds-type: RateString
              usageAmount:
                description: The usage amount threshold above which the discount applies
                type: string
                x-cds-type: AmountString
            required:
            - rate
            - usageAmount
            type: object
        required:
        - displayName
        - methodUType
        - type
        type: object
        x-conditional:
        - percentOfBill
        - percentOfUse
        - fixedAmount
        - percentOverThreshold
      type: array
    EnergyPlanGreenPowerCharges:
      description: Optional list of charges applicable to green power
      items:
        properties:
          displayName:
            description: The display name of the charge
            type: string
          description:
            description: The description of the charge
            type: string
          scheme:
            description: The applicable green power scheme
            enum:
            - GREENPOWER
            - OTHER
            type: string
          type:
            description: The type of charge
            enum:
            - FIXED_PER_DAY
            - FIXED_PER_WEEK
            - FIXED_PER_MONTH
            - FIXED_PER_UNIT
            - PERCENT_OF_USE
            - PERCENT_OF_BILL
            type: string
          tiers:
            description: Array of charge tiers based on the percentage of green power
              used for the period implied by the type.  Array is in order of increasing
              percentage of green power
            items:
              properties:
                percentGreen:
                  description: The upper percentage of green power used applicable
                    for this tier
                  type: string
                  x-cds-type: RateString
                rate:
                  description: The rate of the charge if the type implies the application
                    of a rate
                  type: string
                  x-cds-type: RateString
                amount:
                  description: The amount of the charge if the type implies the application
                    of a fixed amount
                  type: string
                  x-cds-type: AmountString
              required:
              - percentGreen
              type: object
              x-conditional:
              - rate
              - amount
            type: array
        required:
        - displayName
        - scheme
        - tiers
        - type
        type: object
      type: array
    EnergyPlanEligibility:
      description: Eligibility restrictions or requirements
      items:
        properties:
          type:
            description: The type of the eligibility restriction.<br/>The CONTINGENT_PLAN
              value indicates that the plan is contingent on the customer taking up
              an alternate fuel plan from the same retailer (for instance, if the
              fuelType is ELECTRICITY then a GAS plan from the same retailer must
              be taken up)
            enum:
            - EXISTING_CUST
            - EXISTING_POOL
            - EXISTING_SOLAR
            - EXISTING_BATTERY
            - EXISTING_SMART_METER
            - EXISTING_BASIC_METER
            - SENIOR_CARD
            - SMALL_BUSINESS
            - NO_SOLAR_FIT
            - NEW_CUSTOMER
            - ONLINE_ONLY
            - REQ_EQUIP_SUPPLIER
            - THIRD_PARTY_ONLY
            - SPORT_CLUB_MEMBER
            - ORG_MEMBER
            - SPECIFIC_LOCATION
            - MINIMUM_USAGE
            - LOYALTY_MEMBER
            - GROUP_BUY_MEMBER
            - CONTINGENT_PLAN
            - OTHER
            type: string
          information:
            description: Information of the eligibility restriction specific to the
              type of the restriction
            type: string
          description:
            description: A description of the eligibility restriction
            type: string
        required:
        - information
        - type
        type: object
      type: array
    EnergyPlanFees:
      description: An array of fees applicable to the plan
      items:
        properties:
          type:
            description: The type of the fee
            enum:
            - EXIT
            - ESTABLISHMENT
            - LATE_PAYMENT
            - DISCONNECTION
            - DISCONNECT_MOVE_OUT
            - DISCONNECT_NON_PAY
            - RECONNECTION
            - CONNECTION
            - PAYMENT_PROCESSING
            - CC_PROCESSING
            - CHEQUE_DISHONOUR
            - DD_DISHONOUR
            - MEMBERSHIP
            - CONTRIBUTION
            - PAPER_BILL
            - OTHER
            type: string
          term:
            description: The term of the fee
            enum:
            - FIXED
            - 1_YEAR
            - 2_YEAR
            - 3_YEAR
            - 4_YEAR
            - 5_YEAR
            - PERCENT_OF_BILL
            - ANNUAL
            - DAILY
            - WEEKLY
            - MONTHLY
            - BIANNUAL
            - VARIABLE
            type: string
          amount:
            description: The fee amount. Required if term is not PERCENT_OF_BILL
            type: string
            x-cds-type: AmountString
          rate:
            description: The fee rate. Required if term is PERCENT_OF_BILL
            type: string
            x-cds-type: RateString
          description:
            description: A description of the fee
            type: string
        required:
        - term
        - type
        type: object
        x-conditional:
        - amount
        - rate
      type: array
    EnergyPlanSolarFeedInTariffV2:
      description: Array of feed in tariffs for solar power
      items:
        properties:
          displayName:
            description: The name of the tariff
            type: string
          description:
            description: A description of the tariff
            type: string
          startDate:
            description: The start date of the application of the feed in tariff
            type: string
            x-cds-type: DateString
          endDate:
            description: The end date of the application of the feed in tariff
            type: string
            x-cds-type: DateString
          scheme:
            description: The applicable scheme
            enum:
            - PREMIUM
            - OTHER
            type: string
          payerType:
            description: The type of the payer
            enum:
            - GOVERNMENT
            - RETAILER
            type: string
          tariffUType:
            description: The type of the payer
            enum:
            - singleTariff
            - timeVaryingTariffs
            type: string
          singleTariff:
            description: Represents a constant tariff.  Mandatory if tariffUType is
              set to singleTariff
            properties:
              rates:
                description: Array of feed in rates
                items:
                  properties:
                    unitPrice:
                      description: Unit price of usage per measure unit (exclusive
                        of GST)
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of rate. Assumed to be KWH
                        if absent
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    volume:
                      description: Volume that this rate applies to. Only applicable
                        for ‘stepped’ rates where different rates apply for different
                        volumes of usage in a period
                      type: number
                  required:
                  - unitPrice
                  type: object
                type: array
            required:
            - rates
            type: object
          timeVaryingTariffs:
            description: Represents a tariff based on time.  Mandatory if tariffUType
              is set to timeVaryingTariffs
            properties:
              type:
                description: The type of the charging time period. If absent applies
                  to all periods
                enum:
                - PEAK
                - OFF_PEAK
                - SHOULDER
                type: string
              rates:
                description: Array of feed in rates
                items:
                  properties:
                    unitPrice:
                      description: Unit price of usage per measure unit (exclusive
                        of GST)
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of rate. Assumed to be KWH
                        if absent
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    volume:
                      description: Volume that this rate applies to. Only applicable
                        for ‘stepped’ rates where different rates apply for different
                        volumes of usage in a period
                      type: number
                  required:
                  - unitPrice
                  type: object
                type: array
              timeVariations:
                description: Array of time periods for which this tariff is applicable
                items:
                  properties:
                    days:
                      description: The days that the tariff applies to. At least one
                        entry required
                      items:
                        enum:
                        - SUN
                        - MON
                        - TUE
                        - WED
                        - THU
                        - FRI
                        - SAT
                        - PUBLIC_HOLIDAYS
                        type: string
                      type: array
                    startTime:
                      description: The beginning of the time period per day for which
                        the tariff applies.  If absent assumes start of day (ie. midnight)
                      type: string
                      x-cds-type: TimeString
                    endTime:
                      description: The end of the time period per day for which the
                        tariff applies.  If absent assumes end of day (ie. one second
                        before midnight)
                      type: string
                      x-cds-type: TimeString
                  required:
                  - days
                  type: object
                type: array
            required:
            - amount
            - timeVariations
            type: object
        required:
        - displayName
        - payerType
        - scheme
        - tariffUType
        type: object
        x-conditional:
        - singleTariff
        - timeVaryingTariffs
      type: array
    EnergyPlanTariffPeriod:
      description: Array of tariff periods
      items:
        properties:
          type:
            description: Type of charge. Assumed to be other if absent
            enum:
            - ENVIRONMENTAL
            - REGULATED
            - NETWORK
            - METERING
            - RETAIL_SERVICE
            - RCTI
            - OTHER
            type: string
          displayName:
            description: The name of the tariff period
            type: string
          startDate:
            description: The start date of the tariff period in a calendar year.  Formatted
              in mm-dd format
            type: string
          endDate:
            description: The end date of the tariff period in a calendar year.  Formatted
              in mm-dd format
            type: string
          dailySupplyCharges:
            description: The amount of access charge for the tariff period, in dollars
              per day exclusive of GST.
            type: string
            x-cds-type: AmountString
          timeZone:
            description: Specifies the charge specific time zone for calculation of
              the time of use thresholds. If absent, timezone value in EnergyPlanContract
              is assumed.
            enum:
            - LOCAL
            - AEST
            type: string
          rateBlockUType:
            description: Specifies the type of rate applicable to this tariff period
            enum:
            - singleRate
            - timeOfUseRates
            - demandCharges
            type: string
          singleRate:
            description: Object representing a single rate.  Required if rateBlockUType
              is singleRate
            properties:
              displayName:
                description: Display name of the rate
                type: string
              description:
                description: Description of the rate
                type: string
              generalUnitPrice:
                description: The block rate (unit price) for any usage above the included
                  fixed usage, in dollars per kWh inclusive of GST.  Only required
                  if pricingModel field is ‘QUOTA’
                type: string
                x-cds-type: AmountString
              rates:
                description: Array of controlled load rates in order of usage volume
                items:
                  properties:
                    unitPrice:
                      description: Unit price of usage per measure unit (exclusive
                        of GST)
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of rate. Assumed to be KWH
                        if absent
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    volume:
                      description: Volume in kWh that this rate applies to.  Only
                        applicable for ‘stepped’ rates where different rates apply
                        for different volumes of usage in a period
                      type: number
                  required:
                  - unitPrice
                  type: object
                type: array
              period:
                description: Usage period for which the block rate applies. Formatted
                  according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
                  (excludes recurrence syntax)
                type: string
                x-cds-type: ExternalRef
            required:
            - displayName
            - rates
            type: object
            x-conditional:
            - generalUnitPrice
          timeOfUseRates:
            description: Array of objects representing time of use rates.  Required
              if rateBlockUType is timeOfUseRates
            items:
              properties:
                displayName:
                  description: Display name of the rate
                  type: string
                description:
                  description: Description of the rate
                  type: string
                rates:
                  description: Array of controlled load rates in order of usage volume
                  items:
                    properties:
                      unitPrice:
                        description: Unit price of usage per  measure unit (exclusive
                          of GST)
                        type: string
                        x-cds-type: AmountString
                      measureUnit:
                        description: The measurement unit of rate. Assumed to be KWH
                          if absent
                        enum:
                        - KWH
                        - KVA
                        - KVAR
                        - KVARH
                        - KW
                        - DAYS
                        - METER
                        - MONTH
                        type: string
                      volume:
                        description: Volume in kWh that this rate applies to.  Only
                          applicable for ‘stepped’ rates where different rates apply
                          for different volumes of usage in a period
                        type: number
                    required:
                    - unitPrice
                    type: object
                  type: array
                timeOfUse:
                  description: Array of times of use
                  items:
                    properties:
                      days:
                        description: The days that the rate applies to
                        items:
                          enum:
                          - SUN
                          - MON
                          - TUE
                          - WED
                          - THU
                          - FRI
                          - SAT
                          - PUBLIC_HOLIDAYS
                          type: string
                        type: array
                      startTime:
                        description: Start of the period
                        type: string
                        x-cds-type: TimeString
                      endTime:
                        description: End of the period
                        type: string
                        x-cds-type: TimeString
                    required:
                    - days
                    - endTime
                    - startTime
                    type: object
                  type: array
                type:
                  description: The type of usage that the rate applies to
                  enum:
                  - PEAK
                  - OFF_PEAK
                  - SHOULDER
                  - SHOULDER1
                  - SHOULDER2
                  type: string
              required:
              - displayName
              - rates
              - timeOfUse
              - type
              type: object
            type: array
          demandCharges:
            description: Array of demand charges.  Required if rateBlockUType is demandCharges
            items:
              properties:
                displayName:
                  description: Display name of the charge
                  type: string
                description:
                  description: Description of the charge
                  type: string
                amount:
                  description: The charge amount per  measure unit exclusive of GST
                  type: string
                  x-cds-type: AmountString
                measureUnit:
                  description: The measurement unit of charge amount. Assumed to be
                    KWH if absent
                  enum:
                  - KWH
                  - KVA
                  - KVAR
                  - KVARH
                  - KW
                  - DAYS
                  - METER
                  - MONTH
                  type: string
                startTime:
                  description: Start of the period
                  type: string
                  x-cds-type: TimeString
                endTime:
                  description: End of the period
                  type: string
                  x-cds-type: TimeString
                days:
                  description: The days that the demand tariff applies to
                  items:
                    enum:
                    - SUN
                    - MON
                    - TUE
                    - WED
                    - THU
                    - FRI
                    - SAT
                    - PUBLIC_HOLIDAYS
                    type: string
                  type: array
                minDemand:
                  description: Minimum demand for this demand tariff in kW.  If absent
                    then 0 is assumed
                  type: string
                  x-cds-type: AmountString
                maxDemand:
                  description: Maximum demand for this demand tariff in kW.  If present,
                    must be higher than the value of the minDemand field
                  type: string
                  x-cds-type: AmountString
                measurementPeriod:
                  description: Application period for the demand tariff
                  enum:
                  - DAY
                  - MONTH
                  - TARIFF_PERIOD
                  type: string
                chargePeriod:
                  description: Charge period for the demand tariff
                  enum:
                  - DAY
                  - MONTH
                  - TARIFF_PERIOD
                  type: string
              required:
              - amount
              - chargePeriod
              - displayName
              - endTime
              - measurementPeriod
              - startTime
              type: object
            type: array
        required:
        - displayName
        - endDate
        - rateBlockUType
        - startDate
        type: object
        x-conditional:
        - singleRate
        - timeOfUseRates
        - demandCharges
      type: array
    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: Tokenised ID of the service point to be used for referring
            to the service point in the CDR API suite. To be created in accordance
            with CDR ID permanence requirements
          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 tokenised ID of the service point for use in the CDR APIs.  Created
            according to the CDR rules for ID permanence
          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: Tokenised ID of the service point to be used for referring
            to the service point in the CDR API suite.  To be created in accordance
            with CDR ID permanence requirements
          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: Tokenised ID of the service point to be used for referring
            to the service point in the CDR API suite.  To be created in accordance
            with CDR ID permanence requirements
          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
    EnergyAccountBaseV2:
      properties:
        accountId:
          description: The ID of the account.  To be created in accordance with CDR
            ID permanence requirements
          type: string
        accountNumber:
          description: Optional identifier of the account as defined by the data holder.  This
            must be the value presented on physical statements (if it exists) and
            must not be used for the value of accountId
          type: string
        displayName:
          description: An optional display name for the account if one exists or can
            be derived.  The content of this field is at the discretion of the data
            holder
          type: string
        openStatus:
          default: OPEN
          description: Open or closed status for the account. If not present then
            OPEN is assumed
          enum:
          - CLOSED
          - OPEN
          type: string
        creationDate:
          description: The date that the account was created or opened. Mandatory
            if openStatus is OPEN
          type: string
          x-cds-type: DateString
      required:
      - accountId
      type: object
      x-conditional:
      - creationDate
    EnergyAccountV2:
      allOf:
      - $ref: '#/components/schemas/EnergyAccountBaseV2'
      - $ref: '#/components/schemas/EnergyAccountV2_allOf'
    EnergyAccountDetailV3:
      allOf:
      - $ref: '#/components/schemas/EnergyAccountBaseV2'
      - $ref: '#/components/schemas/EnergyAccountDetailV3_allOf'
    EnergyPaymentSchedule:
      example:
        manualPayment:
          billFrequency: billFrequency
        amount: amount
        digitalWallet:
          calculationType: STATIC
          identifier: identifier
          provider: PAYPAL_AU
          name: name
          type: EMAIL
          paymentFrequency: paymentFrequency
        cardDebit:
          calculationType: STATIC
          cardScheme: VISA
          paymentFrequency: paymentFrequency
        directDebit:
          bsb: bsb
          calculationType: STATIC
          accountNumber: accountNumber
          paymentFrequency: paymentFrequency
          isTokenised: true
        paymentScheduleUType: cardDebit
      properties:
        amount:
          description: Optional payment amount indicating that a constant payment
            amount is scheduled to be paid (used in bill smoothing scenarios)
          type: string
          x-cds-type: AmountString
        paymentScheduleUType:
          description: The type of object present in this response
          enum:
          - cardDebit
          - directDebit
          - manualPayment
          - digitalWallet
          type: string
        cardDebit:
          $ref: '#/components/schemas/EnergyPaymentSchedule_cardDebit'
        directDebit:
          $ref: '#/components/schemas/EnergyPaymentSchedule_directDebit'
        digitalWallet:
          $ref: '#/components/schemas/EnergyPaymentSchedule_digitalWallet'
        manualPayment:
          $ref: '#/components/schemas/EnergyPaymentSchedule_manualPayment'
      required:
      - paymentScheduleUType
      type: object
      x-conditional:
      - cardDebit
      - directDebit
      - manualPayment
      - digitalWallet
    EnergyConcession:
      example:
        amount: amount
        additionalInfoUri: additionalInfoUri
        endDate: endDate
        displayName: displayName
        appliedTo:
        - INVOICE
        - INVOICE
        percentage: percentage
        additionalInfo: additionalInfo
        type: FIXED_AMOUNT
        discountFrequency: discountFrequency
        startDate: startDate
      properties:
        type:
          description: Indicator of the method of concession calculation
          enum:
          - FIXED_AMOUNT
          - FIXED_PERCENTAGE
          - VARIABLE
          type: string
        displayName:
          description: The display name of the concession
          type: string
        additionalInfo:
          description: Display text providing more information on the concession.
            Mandatory if type is VARIABLE
          type: string
        additionalInfoUri:
          description: Optional link to additional information regarding the concession
          type: string
          x-cds-type: URIString
        startDate:
          description: Optional start date for the application of the concession
          type: string
          x-cds-type: DateString
        endDate:
          description: Optional end date for the application of the concession
          type: string
          x-cds-type: DateString
        discountFrequency:
          description: Conditional attribute for frequency at which a concession is
            applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted
            according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
        amount:
          description: Conditional attribute for the amount of discount for the concession-
            required if type is FIXED_AMOUNT
          type: string
          x-cds-type: AmountString
        percentage:
          description: Conditional attribute for the percentage of discount of concession
            - required if type is FIXED_PERCENTAGE
          type: string
          x-cds-type: RateString
        appliedTo:
          description: Array of ENUM's to specify what the concession applies to.
            Multiple ENUM values can be provided. If absent, USAGE is assumed
          items:
            enum:
            - INVOICE
            - USAGE
            - SERVICE_CHARGE
            - CONTROLLED_LOAD
            type: string
          type: array
      required:
      - displayName
      - type
      type: object
      x-conditional:
      - additionalInfo
      - discountFrequency
      - amount
      - percentage
    EnergyInvoice:
      example:
        gstAmount: gstAmount
        period:
          endDate: endDate
          startDate: startDate
        accountCharges:
          totalGst: totalGst
          totalDiscounts: totalDiscounts
          totalCharges: totalCharges
        dueDate: dueDate
        servicePoints:
        - servicePoints
        - servicePoints
        invoiceAmount: invoiceAmount
        electricity:
          totalGst: totalGst
          totalGenerationCredits: totalGenerationCredits
          totalOnceOffDiscounts: totalOnceOffDiscounts
          otherCharges:
          - amount: amount
            description: description
            type: ENVIRONMENTAL
          - amount: amount
            description: description
            type: ENVIRONMENTAL
          totalUsageCharges: totalUsageCharges
          totalOnceOffCharges: totalOnceOffCharges
        balanceAtIssue: balanceAtIssue
        accountId: accountId
        invoiceNumber: invoiceNumber
        gas:
          totalGst: totalGst
          totalGenerationCredits: totalGenerationCredits
          totalOnceOffDiscounts: totalOnceOffDiscounts
          otherCharges:
          - amount: amount
            description: description
            type: ENVIRONMENTAL
          - amount: amount
            description: description
            type: ENVIRONMENTAL
          totalUsageCharges: totalUsageCharges
          totalOnceOffCharges: totalOnceOffCharges
        issueDate: issueDate
        payOnTimeDiscount:
          date: date
          gstAmount: gstAmount
          discountAmount: discountAmount
        paymentStatus: PAID
      properties:
        accountId:
          description: The ID of the account for which the invoice was issued
          type: string
        invoiceNumber:
          description: The number assigned to this invoice by the energy Retailer
          type: string
        issueDate:
          description: The date that the invoice was actually issued (as opposed to
            generated or calculated)
          type: string
          x-cds-type: DateString
        dueDate:
          description: The date that the invoice is due to be paid
          type: string
          x-cds-type: DateString
        period:
          $ref: '#/components/schemas/EnergyInvoice_period'
        invoiceAmount:
          description: The net amount due for this invoice regardless of previous
            balance
          type: string
          x-cds-type: AmountString
        gstAmount:
          description: The total GST amount for this invoice.  If absent then zero
            is assumed
          type: string
          x-cds-type: AmountString
        payOnTimeDiscount:
          $ref: '#/components/schemas/EnergyInvoice_payOnTimeDiscount'
        balanceAtIssue:
          description: The account balance at the time the invoice was issued
          type: string
          x-cds-type: AmountString
        servicePoints:
          description: Array of service point IDs to which this invoice applies. May
            be empty if the invoice contains no electricity usage related charges
          items:
            type: string
          type: array
        gas:
          $ref: '#/components/schemas/EnergyInvoiceGasUsageCharges'
        electricity:
          $ref: '#/components/schemas/EnergyInvoiceElectricityUsageCharges'
        accountCharges:
          $ref: '#/components/schemas/EnergyInvoiceAccountCharges'
        paymentStatus:
          description: Indicator of the payment status for the invoice
          enum:
          - PAID
          - PARTIALLY_PAID
          - NOT_PAID
          type: string
      required:
      - accountId
      - balanceAtIssue
      - invoiceNumber
      - issueDate
      - paymentStatus
      - servicePoints
      type: object
      x-conditional:
      - period
    EnergyInvoiceGasUsageCharges:
      example:
        totalGst: totalGst
        totalGenerationCredits: totalGenerationCredits
        totalOnceOffDiscounts: totalOnceOffDiscounts
        otherCharges:
        - amount: amount
          description: description
          type: ENVIRONMENTAL
        - amount: amount
          description: description
          type: ENVIRONMENTAL
        totalUsageCharges: totalUsageCharges
        totalOnceOffCharges: totalOnceOffCharges
      properties:
        totalUsageCharges:
          description: The aggregate total of usage charges for the period covered
            by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalGenerationCredits:
          description: The aggregate total of generation credits for the period covered
            by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalOnceOffCharges:
          description: The aggregate total of any once off charges arising from electricity
            usage for the period covered by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalOnceOffDiscounts:
          description: The aggregate total of any once off discounts or credits arising
            from electricity usage for the period covered by the invoice (exclusive
            of GST)
          type: string
          x-cds-type: AmountString
        otherCharges:
          description: Optional array of charges that may be part of the invoice (for
            e.g. environmental charges for C&I consumers) (exclusive of GST)
          items:
            $ref: '#/components/schemas/EnergyInvoiceGasUsageCharges_otherCharges'
          type: array
        totalGst:
          description: The total GST for all electricity usage charges.  If absent
            then zero is assumed
          type: string
          x-cds-type: AmountString
      required:
      - totalGenerationCredits
      - totalOnceOffCharges
      - totalOnceOffDiscounts
      - totalUsageCharges
      type: object
    EnergyInvoiceElectricityUsageCharges:
      example:
        totalGst: totalGst
        totalGenerationCredits: totalGenerationCredits
        totalOnceOffDiscounts: totalOnceOffDiscounts
        otherCharges:
        - amount: amount
          description: description
          type: ENVIRONMENTAL
        - amount: amount
          description: description
          type: ENVIRONMENTAL
        totalUsageCharges: totalUsageCharges
        totalOnceOffCharges: totalOnceOffCharges
      properties:
        totalUsageCharges:
          description: The aggregate total of usage charges for the period covered
            by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalGenerationCredits:
          description: The aggregate total of generation credits for the period covered
            by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalOnceOffCharges:
          description: The aggregate total of any once off charges arising from electricity
            usage for the period covered by the invoice (exclusive of GST)
          type: string
          x-cds-type: AmountString
        totalOnceOffDiscounts:
          description: The aggregate total of any once off discounts or credits arising
            from electricity usage for the period covered by the invoice (exclusive
            of GST)
          type: string
          x-cds-type: AmountString
        otherCharges:
          description: Optional array of charges that may be part of the invoice (for
            e.g. environmental charges for C&I consumers) (exclusive of GST)
          items:
            $ref: '#/components/schemas/EnergyInvoiceGasUsageCharges_otherCharges'
          type: array
        totalGst:
          description: The total GST for all electricity usage charges.  If absent
            then zero is assumed
          type: string
          x-cds-type: AmountString
      required:
      - totalGenerationCredits
      - totalOnceOffCharges
      - totalOnceOffDiscounts
      - totalUsageCharges
      type: object
    EnergyInvoiceAccountCharges:
      description: Object contains account level charges and credits related to electricity
        usage
      example:
        totalGst: totalGst
        totalDiscounts: totalDiscounts
        totalCharges: totalCharges
      properties:
        totalCharges:
          description: The aggregate total of account level charges for the period
            covered by the invoice
          type: string
          x-cds-type: AmountString
        totalDiscounts:
          description: The aggregate total of account level discounts or credits for
            the period covered by the invoice
          type: string
          x-cds-type: AmountString
        totalGst:
          description: The total GST for all account level charges.  If absent then
            zero is assumed
          type: string
          x-cds-type: AmountString
      required:
      - totalCharges
      - totalDiscounts
      type: object
    EnergyBillingTransaction:
      example:
        accountId: accountId
        onceOff:
          amount: amount
          servicePointId: servicePointId
          invoiceNumber: invoiceNumber
          description: description
        otherCharges:
          amount: amount
          adjustments:
          - amount: amount
            description: description
          - amount: amount
            description: description
          endDate: endDate
          servicePointId: servicePointId
          invoiceNumber: invoiceNumber
          description: description
          calculationFactors:
          - type: DLF
            value: 6.027456183070403
          - type: DLF
            value: 6.027456183070403
          type: ENVIRONMENTAL
          startDate: startDate
        usage:
          amount: amount
          adjustments:
          - amount: amount
            description: description
          - amount: amount
            description: description
          isEstimate: true
          endDate: endDate
          usage: 0.8008281904610115
          servicePointId: servicePointId
          invoiceNumber: invoiceNumber
          description: description
          measureUnit: KWH
          calculationFactors:
          - type: DLF
            value: 6.027456183070403
          - type: DLF
            value: 6.027456183070403
          timeOfUseType: PEAK
          startDate: startDate
        gst: gst
        payment:
          amount: amount
          method: DIRECT_DEBIT
        executionDateTime: executionDateTime
        transactionUType: usage
        demand:
          amount: amount
          adjustments:
          - amount: amount
            description: description
          - amount: amount
            description: description
          isEstimate: true
          endDate: endDate
          rate: 1.4658129805029452
          servicePointId: servicePointId
          invoiceNumber: invoiceNumber
          description: description
          calculationFactors:
          - type: DLF
            value: 6.027456183070403
          - type: DLF
            value: 6.027456183070403
          timeOfUseType: PEAK
          startDate: startDate
      properties:
        accountId:
          description: The ID of the account for which transaction applies
          type: string
        executionDateTime:
          description: The date and time that the transaction occurred
          type: string
          x-cds-type: DateTimeString
        gst:
          description: The GST incurred in the transaction.  Should not be included
            for credits or payments.  If absent zero is assumed
          type: string
          x-cds-type: AmountString
        transactionUType:
          description: Indicator of the type of transaction object present in this
            record
          enum:
          - usage
          - demand
          - onceOff
          - otherCharges
          - payment
          type: string
        usage:
          $ref: '#/components/schemas/EnergyBillingUsageTransaction'
        demand:
          $ref: '#/components/schemas/EnergyBillingDemandTransaction'
        onceOff:
          $ref: '#/components/schemas/EnergyBillingOnceOffTransaction'
        otherCharges:
          $ref: '#/components/schemas/EnergyBillingOtherTransaction'
        payment:
          $ref: '#/components/schemas/EnergyBillingPaymentTransaction'
      required:
      - accountId
      - executionDateTime
      - transactionUType
      type: object
      x-conditional:
      - usage
      - onceOff
      - payment
    EnergyBillingUsageTransaction:
      example:
        amount: amount
        adjustments:
        - amount: amount
          description: description
        - amount: amount
          description: description
        isEstimate: true
        endDate: endDate
        usage: 0.8008281904610115
        servicePointId: servicePointId
        invoiceNumber: invoiceNumber
        description: description
        measureUnit: KWH
        calculationFactors:
        - type: DLF
          value: 6.027456183070403
        - type: DLF
          value: 6.027456183070403
        timeOfUseType: PEAK
        startDate: startDate
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies
            if any
          type: string
        invoiceNumber:
          description: The number of the invoice in which this transaction is included
            if it has been issued
          type: string
        timeOfUseType:
          description: The time of use type that the transaction applies to
          enum:
          - PEAK
          - OFF_PEAK
          - OFF_PEAK_DEMAND_CHARGE
          - SHOULDER
          - SHOULDER1
          - SHOULDER2
          - CONTROLLED_LOAD
          - SOLAR
          - AGGREGATE
          type: string
        description:
          description: Optional description of the transaction that can be used for
            display purposes
          type: string
        isEstimate:
          description: Flag indicating if the usage is estimated or actual.  True
            indicates estimate.  False or absent indicates actual
          type: boolean
        startDate:
          description: Date and time when the usage period starts
          type: string
          x-cds-type: DateTimeString
        endDate:
          description: Date and time when the usage period ends
          type: string
          x-cds-type: DateTimeString
        measureUnit:
          description: The measurement unit of rate. Assumed to be KWH if absent
          enum:
          - KWH
          - KVA
          - KVAR
          - KVARH
          - KW
          - DAYS
          - METER
          - MONTH
          type: string
        usage:
          description: The usage for the period in measure unit.  A negative value
            indicates power generated
          type: number
        amount:
          description: The amount charged or credited for this transaction prior to
            any adjustments being applied.  A negative value indicates a credit
          type: string
          x-cds-type: AmountString
        calculationFactors:
          description: Additional calculation factors that inform the transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_adjustments'
          type: array
      required:
      - amount
      - endDate
      - startDate
      - timeOfUseType
      - usage
      type: object
    EnergyBillingDemandTransaction:
      example:
        amount: amount
        adjustments:
        - amount: amount
          description: description
        - amount: amount
          description: description
        isEstimate: true
        endDate: endDate
        rate: 1.4658129805029452
        servicePointId: servicePointId
        invoiceNumber: invoiceNumber
        description: description
        calculationFactors:
        - type: DLF
          value: 6.027456183070403
        - type: DLF
          value: 6.027456183070403
        timeOfUseType: PEAK
        startDate: startDate
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies
            if any
          type: string
        invoiceNumber:
          description: The number of the invoice in which this transaction is included
            if it has been issued
          type: string
        timeOfUseType:
          description: The time of use type that the transaction applies to
          enum:
          - PEAK
          - OFF_PEAK
          - OFF_PEAK_DEMAND_CHARGE
          - SHOULDER
          - SHOULDER1
          - SHOULDER2
          - CONTROLLED_LOAD
          - SOLAR
          - AGGREGATE
          type: string
        description:
          description: Optional description of the transaction that can be used for
            display purposes
          type: string
        isEstimate:
          description: Flag indicating if the usage is estimated or actual.  True
            indicates estimate.  False or absent indicates actual
          type: boolean
        startDate:
          description: Date and time when the demand period starts
          type: string
          x-cds-type: DateTimeString
        endDate:
          description: Date and time when the demand period ends
          type: string
          x-cds-type: DateTimeString
        rate:
          description: The rate for the demand charge in kVA.  A negative value indicates
            power generated
          type: number
        amount:
          description: The amount charged or credited for this transaction prior to
            any adjustments being applied.  A negative value indicates a credit
          type: string
          x-cds-type: AmountString
        calculationFactors:
          description: Additional calculation factors that inform the transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_adjustments'
          type: array
      required:
      - amount
      - endDate
      - rate
      - startDate
      - timeOfUseType
      type: object
    EnergyBillingOnceOffTransaction:
      example:
        amount: amount
        servicePointId: servicePointId
        invoiceNumber: invoiceNumber
        description: description
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies
            if any
          type: string
        invoiceNumber:
          description: The number of the invoice in which this transaction is included
            if it has been issued
          type: string
        amount:
          description: The amount of the charge or credit.  A positive value indicates
            a charge and a negative value indicates a credit
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the item
          type: string
      required:
      - amount
      - description
      type: object
    EnergyBillingOtherTransaction:
      example:
        amount: amount
        adjustments:
        - amount: amount
          description: description
        - amount: amount
          description: description
        endDate: endDate
        servicePointId: servicePointId
        invoiceNumber: invoiceNumber
        description: description
        calculationFactors:
        - type: DLF
          value: 6.027456183070403
        - type: DLF
          value: 6.027456183070403
        type: ENVIRONMENTAL
        startDate: startDate
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies
            if any
          type: string
        invoiceNumber:
          description: The number of the invoice in which this transaction is included
            if it has been issued
          type: string
        startDate:
          description: Optional start date for the application of the charge
          type: string
          x-cds-type: DateString
        endDate:
          description: Optional end date for the application of the charge
          type: string
          x-cds-type: DateString
        type:
          description: Type of charge. Assumed to be other if absent
          enum:
          - ENVIRONMENTAL
          - REGULATED
          - NETWORK
          - METERING
          - RETAIL_SERVICE
          - RCTI
          - OTHER
          type: string
        amount:
          description: The amount of the charge
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the item
          type: string
        calculationFactors:
          description: Additional calculation factors that inform the transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransaction_adjustments'
          type: array
      required:
      - amount
      - description
      type: object
    EnergyBillingPaymentTransaction:
      example:
        amount: amount
        method: DIRECT_DEBIT
      properties:
        amount:
          description: The amount paid
          type: string
          x-cds-type: AmountString
        method:
          description: The method of payment
          enum:
          - DIRECT_DEBIT
          - CARD
          - TRANSFER
          - BPAY
          - CASH
          - CHEQUE
          - OTHER
          type: string
      required:
      - amount
      - method
      type: object
    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
    EnergyPlanListResponse_data:
      example:
        plans:
        - additionalInformation:
            eligibilityUri: eligibilityUri
            bundleUri: bundleUri
            pricingUri: pricingUri
            termsUri: termsUri
            overviewUri: overviewUri
          brandName: brandName
          displayName: displayName
          description: description
          type: STANDING
          effectiveTo: effectiveTo
          lastUpdated: lastUpdated
          customerType: RESIDENTIAL
          fuelType: ELECTRICITY
          geography:
            excludedPostcodes:
            - excludedPostcodes
            - excludedPostcodes
            distributors:
            - distributors
            - distributors
            includedPostcodes:
            - includedPostcodes
            - includedPostcodes
          planId: planId
          applicationUri: applicationUri
          effectiveFrom: effectiveFrom
          brand: brand
        - additionalInformation:
            eligibilityUri: eligibilityUri
            bundleUri: bundleUri
            pricingUri: pricingUri
            termsUri: termsUri
            overviewUri: overviewUri
          brandName: brandName
          displayName: displayName
          description: description
          type: STANDING
          effectiveTo: effectiveTo
          lastUpdated: lastUpdated
          customerType: RESIDENTIAL
          fuelType: ELECTRICITY
          geography:
            excludedPostcodes:
            - excludedPostcodes
            - excludedPostcodes
            distributors:
            - distributors
            - distributors
            includedPostcodes:
            - includedPostcodes
            - includedPostcodes
          planId: planId
          applicationUri: applicationUri
          effectiveFrom: effectiveFrom
          brand: brand
      properties:
        plans:
          description: Array of plans
          items:
            $ref: '#/components/schemas/EnergyPlan'
          type: array
      required:
      - plans
      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
    EnergyAccountListResponseV2_data:
      example:
        accounts:
        - null
        - null
      properties:
        accounts:
          description: Array of accounts
          items:
            $ref: '#/components/schemas/EnergyAccountV2'
          type: array
      required:
      - accounts
      type: object
    EnergyPaymentScheduleResponse_data:
      example:
        paymentSchedules:
        - manualPayment:
            billFrequency: billFrequency
          amount: amount
          digitalWallet:
            calculationType: STATIC
            identifier: identifier
            provider: PAYPAL_AU
            name: name
            type: EMAIL
            paymentFrequency: paymentFrequency
          cardDebit:
            calculationType: STATIC
            cardScheme: VISA
            paymentFrequency: paymentFrequency
          directDebit:
            bsb: bsb
            calculationType: STATIC
            accountNumber: accountNumber
            paymentFrequency: paymentFrequency
            isTokenised: true
          paymentScheduleUType: cardDebit
        - manualPayment:
            billFrequency: billFrequency
          amount: amount
          digitalWallet:
            calculationType: STATIC
            identifier: identifier
            provider: PAYPAL_AU
            name: name
            type: EMAIL
            paymentFrequency: paymentFrequency
          cardDebit:
            calculationType: STATIC
            cardScheme: VISA
            paymentFrequency: paymentFrequency
          directDebit:
            bsb: bsb
            calculationType: STATIC
            accountNumber: accountNumber
            paymentFrequency: paymentFrequency
            isTokenised: true
          paymentScheduleUType: cardDebit
      properties:
        paymentSchedules:
          description: Array may be empty if no payment schedule exist
          items:
            $ref: '#/components/schemas/EnergyPaymentSchedule'
          type: array
      required:
      - paymentSchedules
      type: object
    EnergyConcessionsResponse_data:
      example:
        concessions:
        - amount: amount
          additionalInfoUri: additionalInfoUri
          endDate: endDate
          displayName: displayName
          appliedTo:
          - INVOICE
          - INVOICE
          percentage: percentage
          additionalInfo: additionalInfo
          type: FIXED_AMOUNT
          discountFrequency: discountFrequency
          startDate: startDate
        - amount: amount
          additionalInfoUri: additionalInfoUri
          endDate: endDate
          displayName: displayName
          appliedTo:
          - INVOICE
          - INVOICE
          percentage: percentage
          additionalInfo: additionalInfo
          type: FIXED_AMOUNT
          discountFrequency: discountFrequency
          startDate: startDate
      properties:
        concessions:
          description: Array may be empty if no concessions exist
          items:
            $ref: '#/components/schemas/EnergyConcession'
          type: array
      required:
      - concessions
      type: object
    EnergyBalanceListResponse_data_balances:
      example:
        accountId: accountId
        balance: balance
      properties:
        accountId:
          description: The ID of the account
          type: string
        balance:
          description: The current balance of the account.  A positive value indicates
            that amount is owing to be paid.  A negative value indicates that the
            account is in credit
          type: string
          x-cds-type: AmountString
      required:
      - accountId
      - balance
      type: object
    EnergyBalanceListResponse_data:
      example:
        balances:
        - accountId: accountId
          balance: balance
        - accountId: accountId
          balance: balance
      properties:
        balances:
          description: Array of account balances
          items:
            $ref: '#/components/schemas/EnergyBalanceListResponse_data_balances'
          type: array
      required:
      - balances
      type: object
    EnergyBalanceResponse_data:
      example:
        balance: balance
      properties:
        balance:
          description: The current balance of the account.  A positive value indicates
            that amount is owing to be paid.  A negative value indicates that the
            account is in credit
          type: string
          x-cds-type: AmountString
      required:
      - balance
      type: object
    EnergyInvoiceListResponse_data:
      example:
        invoices:
        - gstAmount: gstAmount
          period:
            endDate: endDate
            startDate: startDate
          accountCharges:
            totalGst: totalGst
            totalDiscounts: totalDiscounts
            totalCharges: totalCharges
          dueDate: dueDate
          servicePoints:
          - servicePoints
          - servicePoints
          invoiceAmount: invoiceAmount
          electricity:
            totalGst: totalGst
            totalGenerationCredits: totalGenerationCredits
            totalOnceOffDiscounts: totalOnceOffDiscounts
            otherCharges:
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            totalUsageCharges: totalUsageCharges
            totalOnceOffCharges: totalOnceOffCharges
          balanceAtIssue: balanceAtIssue
          accountId: accountId
          invoiceNumber: invoiceNumber
          gas:
            totalGst: totalGst
            totalGenerationCredits: totalGenerationCredits
            totalOnceOffDiscounts: totalOnceOffDiscounts
            otherCharges:
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            totalUsageCharges: totalUsageCharges
            totalOnceOffCharges: totalOnceOffCharges
          issueDate: issueDate
          payOnTimeDiscount:
            date: date
            gstAmount: gstAmount
            discountAmount: discountAmount
          paymentStatus: PAID
        - gstAmount: gstAmount
          period:
            endDate: endDate
            startDate: startDate
          accountCharges:
            totalGst: totalGst
            totalDiscounts: totalDiscounts
            totalCharges: totalCharges
          dueDate: dueDate
          servicePoints:
          - servicePoints
          - servicePoints
          invoiceAmount: invoiceAmount
          electricity:
            totalGst: totalGst
            totalGenerationCredits: totalGenerationCredits
            totalOnceOffDiscounts: totalOnceOffDiscounts
            otherCharges:
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            totalUsageCharges: totalUsageCharges
            totalOnceOffCharges: totalOnceOffCharges
          balanceAtIssue: balanceAtIssue
          accountId: accountId
          invoiceNumber: invoiceNumber
          gas:
            totalGst: totalGst
            totalGenerationCredits: totalGenerationCredits
            totalOnceOffDiscounts: totalOnceOffDiscounts
            otherCharges:
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            - amount: amount
              description: description
              type: ENVIRONMENTAL
            totalUsageCharges: totalUsageCharges
            totalOnceOffCharges: totalOnceOffCharges
          issueDate: issueDate
          payOnTimeDiscount:
            date: date
            gstAmount: gstAmount
            discountAmount: discountAmount
          paymentStatus: PAID
      properties:
        invoices:
          description: Array of invoices sorted by issue date in descending order
          items:
            $ref: '#/components/schemas/EnergyInvoice'
          type: array
      required:
      - invoices
      type: object
    EnergyBillingListResponse_data:
      example:
        transactions:
        - accountId: accountId
          onceOff:
            amount: amount
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
          otherCharges:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            type: ENVIRONMENTAL
            startDate: startDate
          usage:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            isEstimate: true
            endDate: endDate
            usage: 0.8008281904610115
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            measureUnit: KWH
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            timeOfUseType: PEAK
            startDate: startDate
          gst: gst
          payment:
            amount: amount
            method: DIRECT_DEBIT
          executionDateTime: executionDateTime
          transactionUType: usage
          demand:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            isEstimate: true
            endDate: endDate
            rate: 1.4658129805029452
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            timeOfUseType: PEAK
            startDate: startDate
        - accountId: accountId
          onceOff:
            amount: amount
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
          otherCharges:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            endDate: endDate
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            type: ENVIRONMENTAL
            startDate: startDate
          usage:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            isEstimate: true
            endDate: endDate
            usage: 0.8008281904610115
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            measureUnit: KWH
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            timeOfUseType: PEAK
            startDate: startDate
          gst: gst
          payment:
            amount: amount
            method: DIRECT_DEBIT
          executionDateTime: executionDateTime
          transactionUType: usage
          demand:
            amount: amount
            adjustments:
            - amount: amount
              description: description
            - amount: amount
              description: description
            isEstimate: true
            endDate: endDate
            rate: 1.4658129805029452
            servicePointId: servicePointId
            invoiceNumber: invoiceNumber
            description: description
            calculationFactors:
            - type: DLF
              value: 6.027456183070403
            - type: DLF
              value: 6.027456183070403
            timeOfUseType: PEAK
            startDate: startDate
      properties:
        transactions:
          description: Array of transactions sorted by date and time in descending
            order
          items:
            $ref: '#/components/schemas/EnergyBillingTransaction'
          type: array
      required:
      - transactions
      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
    EnergyPlan_additionalInformation:
      description: Object that contains links to additional information on specific
        topics
      example:
        eligibilityUri: eligibilityUri
        bundleUri: bundleUri
        pricingUri: pricingUri
        termsUri: termsUri
        overviewUri: overviewUri
      properties:
        overviewUri:
          description: A link to a general overview of the plan
          type: string
          x-cds-type: URIString
        termsUri:
          description: A link to terms and conditions for the plan
          type: string
          x-cds-type: URIString
        eligibilityUri:
          description: A link to detail on eligibility criteria for the plan
          type: string
          x-cds-type: URIString
        pricingUri:
          description: A link to detail on pricing for the plan
          type: string
          x-cds-type: URIString
        bundleUri:
          description: A link to detail on bundles that this plan can be a part of
          type: string
          x-cds-type: URIString
      type: object
    EnergyPlan_geography:
      description: Describes the geographical area that the plan is available for.  If
        absent then it is assumed the plan is not geographically limited
      example:
        excludedPostcodes:
        - excludedPostcodes
        - excludedPostcodes
        distributors:
        - distributors
        - distributors
        includedPostcodes:
        - includedPostcodes
        - includedPostcodes
      properties:
        excludedPostcodes:
          description: Array of valid Australian postcodes that are specifically excluded
            from the plan.  Each element is a single four digit postcode (e.g. 3000)
            or a range of postcodes defined by two four digit postcodes and a hyphen
            (e.g. 3000-3999)
          items:
            type: string
          type: array
        includedPostcodes:
          description: Array of valid Australian postcodes that are included from
            the plan.  If absent defaults to all non-excluded postcodes.  Each element
            is a single four digit postcode (e.g. 3000) or a range of postcodes defined
            by two four digit postcodes and a hyphen (e.g. 3000-3999)
          items:
            type: string
          type: array
        distributors:
          description: Array of distributors for the plan. Must have at least one
            entry
          items:
            type: string
          type: array
      required:
      - distributors
      type: object
    EnergyPlanDetailV2_allOf_meteringCharges:
      properties:
        displayName:
          description: Display name of the charge
          type: string
        description:
          description: Description of the charge
          type: string
        minimumValue:
          description: Minimum value of the charge if the charge is a range or the
            absolute value of the charge if no range is specified
          type: string
          x-cds-type: AmountString
        maximumValue:
          description: The upper limit of the charge if the charge could occur in
            a range
          type: string
          x-cds-type: AmountString
        period:
          description: The charges that occur on a schedule indicates the frequency.
            Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
      required:
      - displayName
      - minimumValue
      type: object
    EnergyPlanDetailV2_allOf:
      properties:
        meteringCharges:
          description: Charges for metering included in the plan
          items:
            $ref: '#/components/schemas/EnergyPlanDetailV2_allOf_meteringCharges'
          type: array
        gasContract:
          $ref: '#/components/schemas/EnergyPlanContractFullV2'
        electricityContract:
          $ref: '#/components/schemas/EnergyPlanContractFullV2'
      type: object
      x-conditional:
      - gasContract
      - electricityContract
    EnergyPlanContractV2_intrinsicGreenPower:
      description: Describes intrinsic green power for the plan.  If present then
        the plan includes a percentage of green power in the base plan. Should not
        be present for gas contracts
      properties:
        greenPercentage:
          description: Percentage of green power intrinsically included in the plan
          type: string
          x-cds-type: RateString
      required:
      - greenPercentage
      type: object
    EnergyPlanContractFullV2_allOf:
      properties:
        termType:
          description: The term for the contract.  If absent assumes no specified
            term
          enum:
          - 1_YEAR
          - 2_YEAR
          - 3_YEAR
          - 4_YEAR
          - 5_YEAR
          - ONGOING
          - OTHER
          type: string
        benefitPeriod:
          description: Description of the benefit period.  Should only be present
            if termType has the value ONGOING
          type: string
        terms:
          description: Free text description of the terms for the contract
          type: string
        meterTypes:
          description: An array of the meter types that this contract is available
            for
          items:
            type: string
          type: array
        coolingOffDays:
          description: 'Number of days in the cooling off period for the contract.  Mandatory
            for plans with type of MARKET '
          type: integer
          x-cds-type: PositiveInteger
        billFrequency:
          description: An array of the available billing schedules for this contract.
            Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          items:
            type: string
          type: array
      required:
      - billFrequency
      type: object
      x-conditional:
      - benefitPeriod
      - variation
      - coolingOffDays
    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
    EnergyAccountV2_allOf_planOverview:
      description: Mandatory if openStatus is OPEN
      properties:
        displayName:
          description: The name of the plan if one exists
          type: string
        startDate:
          description: The start date of the applicability of this plan
          type: string
          x-cds-type: DateString
        endDate:
          description: The end date of the applicability of this plan
          type: string
          x-cds-type: DateString
      required:
      - startDate
      type: object
    EnergyAccountV2_allOf_plans:
      properties:
        nickname:
          description: Optional display name for the plan provided by the customer
            to help differentiate multiple plans
          type: string
        servicePointIds:
          description: An array of servicePointIds, representing NMIs, that this plan
            is linked to.  If there are no service points allocated to this plan then
            an empty array would be expected
          items:
            type: string
          type: array
        planOverview:
          $ref: '#/components/schemas/EnergyAccountV2_allOf_planOverview'
      required:
      - servicePointIds
      type: object
      x-conditional:
      - planOverview
    EnergyAccountV2_allOf:
      description: The array of plans containing service points and associated plan
        details
      properties:
        plans:
          description: The array of plans containing service points and associated
            plan details
          items:
            $ref: '#/components/schemas/EnergyAccountV2_allOf_plans'
          type: array
      required:
      - plans
      type: object
    EnergyAccountDetailV3_allOf_planDetail:
      description: Detail on the plan applicable to this account. Mandatory if openStatus
        is OPEN
      properties:
        fuelType:
          description: The fuel types covered by the plan
          enum:
          - ELECTRICITY
          - GAS
          - DUAL
          type: string
        isContingentPlan:
          default: false
          description: Flag that indicates that the plan is contingent on the customer
            taking up an alternate fuel plan from the same retailer (for instance,
            if the fuelType is ELECTRICITY then a GAS plan from the same retailer
            must be taken up). Has no meaning if the plan has a fuelType of DUAL.
            If absent the value is assumed to be false
          type: boolean
        meteringCharges:
          description: Charges for metering included in the plan
          items:
            $ref: '#/components/schemas/EnergyPlanDetailV2_allOf_meteringCharges'
          type: array
        gasContract:
          $ref: '#/components/schemas/EnergyPlanContractV2'
        electricityContract:
          $ref: '#/components/schemas/EnergyPlanContractV2'
      required:
      - fuelType
      type: object
      x-conditional:
      - gasContract
      - electricityContract
    EnergyAccountDetailV3_allOf_authorisedContacts:
      properties:
        firstName:
          description: For people with single names this field need not be present.
            The single name should be in the lastName field
          type: string
        lastName:
          description: For people with single names the single name should be in this
            field
          type: string
        middleNames:
          description: Field is mandatory but array may be empty
          items:
            type: string
          type: array
        prefix:
          description: Also known as title or salutation. The prefix to the name (e.g.
            Mr, Mrs, Ms, Miss, Sir, etc)
          type: string
        suffix:
          description: Used for a trailing suffix to the name (e.g. Jr)
          type: string
      required:
      - lastName
      type: object
    EnergyAccountDetailV3_allOf_plans:
      properties:
        nickname:
          description: Optional display name for the plan provided by the customer
            to help differentiate multiple plans
          type: string
        servicePointIds:
          description: An array of servicePointIds, representing NMIs, that this account
            is linked to
          items:
            type: string
          type: array
        planOverview:
          $ref: '#/components/schemas/EnergyAccountV2_allOf_planOverview'
        planDetail:
          $ref: '#/components/schemas/EnergyAccountDetailV3_allOf_planDetail'
        authorisedContacts:
          description: An array of additional contacts that are authorised to act
            on this account
          items:
            $ref: '#/components/schemas/EnergyAccountDetailV3_allOf_authorisedContacts'
          type: array
      required:
      - servicePointIds
      type: object
      x-conditional:
      - planOverview
      - planDetail
    EnergyAccountDetailV3_allOf:
      description: The array of plans containing service points and associated plan
        details
      properties:
        plans:
          description: The array of plans containing service points and associated
            plan details
          items:
            $ref: '#/components/schemas/EnergyAccountDetailV3_allOf_plans'
          type: array
      required:
      - plans
      type: object
    EnergyPaymentSchedule_cardDebit:
      description: Represents a regular credit card payment schedule. Mandatory if
        paymentScheduleUType is set to cardDebit
      example:
        calculationType: STATIC
        cardScheme: VISA
        paymentFrequency: paymentFrequency
      properties:
        cardScheme:
          description: The type of credit card held on file
          enum:
          - VISA
          - MASTERCARD
          - AMEX
          - DINERS
          - OTHER
          - UNKNOWN
          type: string
        paymentFrequency:
          description: The frequency that payments will occur.  Formatted according
            to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
        calculationType:
          description: The mechanism by which the payment amount is calculated.  Explanation
            of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent,
            static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding
            balance for the account is paid per period</li><li>**CALCULATED** - Indicates
            that the payment amount is variable and calculated using a pre-defined
            algorithm</li></ul>
          enum:
          - STATIC
          - BALANCE
          - CALCULATED
          type: string
      required:
      - calculationType
      - cardScheme
      - paymentFrequency
      type: object
    EnergyPaymentSchedule_directDebit:
      description: Represents a regular direct debit from a specified bank account.
        Mandatory if paymentScheduleUType is set to directDebit
      example:
        bsb: bsb
        calculationType: STATIC
        accountNumber: accountNumber
        paymentFrequency: paymentFrequency
        isTokenised: true
      properties:
        isTokenised:
          description: Flag indicating that the account details are tokenised and
            cannot be shared.  False if absent
          type: boolean
        bsb:
          description: The unmasked BSB for the account to be debited. Is expected
            to be formatted as digits only with leading zeros included and no punctuation
            or spaces.  Is required if isTokenised is absent or false
          type: string
        accountNumber:
          description: The unmasked account number for the account to be debited.
            Is expected to be formatted as digits only with leading zeros included
            and no punctuation or spaces.  Is required if isTokenised is absent or
            false
          type: string
        paymentFrequency:
          description: The frequency that payments will occur.  Formatted according
            to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
        calculationType:
          description: The mechanism by which the payment amount is calculated.  Explanation
            of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent,
            static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding
            balance for the account is paid per period</li><li>**CALCULATED** - Indicates
            that the payment amount is variable and calculated using a pre-defined
            algorithm</li></ul>
          enum:
          - STATIC
          - BALANCE
          - CALCULATED
          type: string
      required:
      - calculationType
      - paymentFrequency
      type: object
      x-conditional:
      - bsb
      - accountNumber
    EnergyPaymentSchedule_digitalWallet:
      description: Represents a regular payment from a digital wallet. Mandatory if
        paymentScheduleUType is set to digitalWallet
      example:
        calculationType: STATIC
        identifier: identifier
        provider: PAYPAL_AU
        name: name
        type: EMAIL
        paymentFrequency: paymentFrequency
      properties:
        name:
          description: The name assigned to the digital wallet by the owner of the
            wallet, else the display name provided by the digital wallet provider
          type: string
        identifier:
          description: The identifier of the digital wallet (dependent on type)
          type: string
        type:
          description: The type of the digital wallet identifier
          enum:
          - EMAIL
          - CONTACT_NAME
          - TELEPHONE
          type: string
        provider:
          description: The provider of the digital wallet
          enum:
          - PAYPAL_AU
          - OTHER
          type: string
        paymentFrequency:
          description: The frequency that payments will occur.  Formatted according
            to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
        calculationType:
          description: The mechanism by which the payment amount is calculated.  Explanation
            of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent,
            static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding
            balance for the account is paid per period</li><li>**CALCULATED** - Indicates
            that the payment amount is variable and calculated using a pre-defined
            algorithm</li></ul>
          enum:
          - STATIC
          - BALANCE
          - CALCULATED
          type: string
      required:
      - calculationType
      - identifier
      - name
      - paymentFrequency
      - provider
      - type
      type: object
    EnergyPaymentSchedule_manualPayment:
      description: Represents a manual payment schedule where the customer pays in
        response to a delivered statement. Mandatory if paymentScheduleUType is set
        to manualPayment
      example:
        billFrequency: billFrequency
      properties:
        billFrequency:
          description: The frequency with which a bill will be issued.  Formatted
            according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations)
            (excludes recurrence syntax)
          type: string
          x-cds-type: ExternalRef
      required:
      - billFrequency
      type: object
    EnergyInvoice_period:
      description: Object containing the start and end date for the period covered
        by the invoice.  Mandatory if any usage or demand based charges are included
        in the invoice
      example:
        endDate: endDate
        startDate: startDate
      properties:
        startDate:
          description: The start date of the period covered by this invoice
          type: string
          x-cds-type: DateString
        endDate:
          description: The end date of the period covered by this invoice
          type: string
          x-cds-type: DateString
      required:
      - endDate
      - startDate
      type: object
    EnergyInvoice_payOnTimeDiscount:
      description: A discount for on time payment
      example:
        date: date
        gstAmount: gstAmount
        discountAmount: discountAmount
      properties:
        discountAmount:
          description: The amount that will be discounted if the invoice is paid by
            the date specified
          type: string
          x-cds-type: AmountString
        gstAmount:
          description: The GST amount that will be discounted if the invoice is paid
            by the date specified.  If absent then zero is assumed
          type: string
          x-cds-type: AmountString
        date:
          description: The date by which the invoice must be paid to receive the pay
            on time discount
          type: string
          x-cds-type: DateString
      required:
      - date
      - discountAmount
      type: object
    EnergyInvoiceGasUsageCharges_otherCharges:
      example:
        amount: amount
        description: description
        type: ENVIRONMENTAL
      properties:
        type:
          description: Type of charge. Assumed to be other if absent
          enum:
          - ENVIRONMENTAL
          - REGULATED
          - NETWORK
          - METERING
          - RETAIL_SERVICE
          - RCTI
          - OTHER
          type: string
        amount:
          description: The aggregate total of charges for this item (exclusive of
            GST)
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the type of charge
          type: string
      required:
      - amount
      - description
      type: object
    EnergyBillingUsageTransaction_calculationFactors:
      example:
        type: DLF
        value: 6.027456183070403
      properties:
        value:
          description: The value of the calculation factor
          type: number
        type:
          description: The type of the calculation factor
          enum:
          - DLF
          - MLF
          type: string
      required:
      - type
      - value
      type: object
    EnergyBillingUsageTransaction_adjustments:
      example:
        amount: amount
        description: description
      properties:
        amount:
          description: The amount of the adjustment
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the adjustment
          type: string
      required:
      - amount
      - description
      type: object
