openapi: 3.0.3
info:
  description: Consumer Data Right endpoints and payloads for the Energy sector.
  title: CDR Energy API
  version: 1.33.0
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
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 endpoint 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 endpoint 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 endpoint 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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
        "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>
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      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), [v2](includes/obsolete/get-generic-plan-detail-v2.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 endpoint 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 endpoint 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/EnergyPlanResponseV3'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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>
      servers:
      - description: TLS
        url: https://tls.dh.example.com/cds-au/v1
      summary: Get Generic Plan Detail
      tags:
      - Energy
      - Generic Tariffs
      x-version: "3"
      x-version-notes: The <i>dailySupplyChargeType</i> field was added in endpoint
        v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of
        that field was changed to remove the default value, but it did not result
        in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html)
        for more details.
  /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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint. 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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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 endpoint. 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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestServicePointIdList'
        description: Request payload containing list of specific Service Points to
          obtain data for.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyUsageListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint. 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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestServicePointIdList'
        description: Request payload containing list of specific Service Points to
          obtain data for.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyDerListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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), [v3](includes/obsolete/get-energy-account-detail-v3.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 endpoint.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - description: Version of the API endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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/EnergyAccountDetailResponseV4'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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: "4"
      x-version-notes: The <i>dailySupplyChargeType</i> field was added in endpoint
        v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of
        that field was changed to remove the default value, but it did not result
        in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html)
        for more details.
  /energy/accounts/{accountId}/payment-schedule:
    get:
      description: |-
        Obtain the agreed payment schedule and details, if any, for a specific energy account.

        Some general notes about this endpoint:

         <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 endpoint.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - description: Version of the API endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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 endpoint.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - description: Version of the API endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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 endpoint.
        explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - description: Version of the API endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAccountIdList'
        description: Request payload containing list of specific Accounts to obtain
          data for.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBalanceListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation
                id. If provided, the data holder **MUST** play back this value in
                the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)**
                UUID value is required to be provided in the response header to track
                the interaction.
              explode: false
              schema:
                type: string
              style: simple
        "406":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseErrorListV2'
          description: The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406
            - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint.
        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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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 endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAccountIdList'
        description: Request payload containing list of specific Accounts to obtain
          data for.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyInvoiceListResponse'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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.\n\nDeprecated\
        \ Versions: \n\n- [v1](includes/obsolete/get-billing-for-account-v1.html)\
        \ - This version is to be ceased to be called by data recipients by September\
        \ 9th 2024 and **MAY** be decommissioned by data holders as of that date \n\
        - [v2](includes/obsolete/get-billing-for-account-v2.html) - This version **MAY**\
        \ be retired by September 9th 2024 if v3 is implemented."
      operationId: getBillingForAccount
      parameters:
      - description: ID of a specific account to obtain data for. This is a tokenised
          ID previous obtained from the Account List endpoint.
        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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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/EnergyBillingListResponseV3'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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: "3"
  /energy/accounts/billing:
    get:
      description: "Obtain billing transactions for all accounts.\n\nDeprecated Versions:\
        \ \n\n- [v1](includes/obsolete/get-bulk-billing-v1.html) - This version is\
        \ to be ceased to be called by data recipients by September 9th 2024 and **MAY**\
        \ be decommissioned by data holders as of that date \n- [v2](includes/obsolete/get-bulk-billing-v2.html)\
        \ - This version **MAY** be retired by September 9th 2024 if v3 is implemented."
      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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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/EnergyBillingListResponseV3'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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: "3"
    post:
      description: "Obtain billing for a specified set of accounts.\n\nDeprecated\
        \ Versions: \n\n- [v1](includes/obsolete/get-billing-for-specific-accounts-v1.html)\
        \ - This version is to be ceased to be called by data recipients by September\
        \ 9th 2024 and **MAY** be decommissioned by data holders as of that date \n\
        - [v2](includes/obsolete/get-billing-for-specific-accounts-v2.html) - This\
        \ version **MAY** be retired by September 9th 2024 if v3 is implemented."
      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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
          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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAccountIdList'
        description: Request payload containing list of specific Accounts to obtain
          data for.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBillingListResponseV3'
          description: Successful response
          headers:
            x-v:
              description: The [version](#response-headers) of the API endpoint 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 - Missing Required
            Field](#error-400-field-missing)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400
            - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400
            - Invalid Version](#error-400-header-invalid-version)</li></ul>
          headers:
            x-fapi-interaction-id:
              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: "3"
components:
  parameters:
    servicePointId:
      description: ID of the specific service point requested. This is a tokenised
        ID previous obtained from the Service Point List Data endpoint. 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 endpoint.
      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 endpoint 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 endpoint 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-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.
        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
  responses:
    planList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPlanListResponse'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API endpoint that the
            data holder has responded with.
          explode: false
          schema:
            type: string
          style: simple
    planDetail:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPlanResponseV3'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API endpoint 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 endpoint 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 endpoint 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 endpoint 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 endpoint 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 endpoint 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 endpoint 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/EnergyAccountDetailResponseV4'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API endpoint 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 endpoint 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 endpoint 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 endpoint 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 endpoint 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 endpoint 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/EnergyBillingListResponseV3'
      description: Successful response
      headers:
        x-v:
          description: The [version](#response-headers) of the API endpoint 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
    EnergyPlanResponseV3:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyPlanDetailV3'
        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: 1
                endInterval: 1
                quality: SUBSTITUTE
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              aggregateValue: 1.4658129805029452
            servicePointId: servicePointId
            registerSuffix: registerSuffix
            readEndDate: readEndDate
            readStartDate: readStartDate
            controlledLoad: true
            readUType: basicRead
          - basicRead:
              value: 0.8008281904610115
              quality: ACTUAL
            unitOfMeasure: unitOfMeasure
            registerId: registerId
            meterId: meterId
            intervalRead:
              readIntervalLength: 6
              intervalReads:
              - 5.962133916683182
              - 5.962133916683182
              readQualities:
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              - startInterval: 1
                endInterval: 1
                quality: SUBSTITUTE
              aggregateValue: 1.4658129805029452
            servicePointId: servicePointId
            registerSuffix: registerSuffix
            readEndDate: readEndDate
            readStartDate: readStartDate
            controlledLoad: true
            readUType: basicRead
        meta:
          totalRecords: 0
          totalPages: 6
        links:
          next: next
          last: last
          prev: prev
          self: self
          first: first
      properties:
        data:
          $ref: '#/components/schemas/EnergyUsageListResponse_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
      - data
      - links
      - meta
      type: object
    EnergyDerListResponse:
      example:
        data:
          derRecords:
          - protectionMode:
              interTripScheme: interTripScheme
              underFrequencyProtectionDelay: 2.3021358869347655
              underVoltageProtection: 3.616076749251911
              exportLimitKva: 5.962133916683182
              overFrequencyProtectionDelay: 9.301444243932576
              overFrequencyProtection: 7.061401241503109
              overVoltageProtectionDelay: 7.386281948385884
              sustainedOverVoltageDelay: 1.0246457001441578
              frequencyRateOfChange: 1.4894159098541704
              underFrequencyProtection: 5.637376656633329
              underVoltageProtectionDelay: 2.027123023002322
              overVoltageProtection: 4.145608029883936
              neutralVoltageDisplacement: 7.457744773683766
              sustainedOverVoltage: 1.2315135367772556
              voltageVectorShift: 6.84685269835264
            installedPhasesCount: 0
            availablePhasesCount: 1
            islandableInstallation: true
            servicePointId: servicePointId
            approvedCapacity: 0.8008281904610115
            hasCentralProtectionControl: false
            acConnections:
            - inverterSeries: inverterSeries
              inverterModelNumber: inverterModelNumber
              inverterDeviceCapacity: 5.025004791520295
              manufacturerName: manufacturerName
              count: 4
              connectionIdentifier: 1.1730742509559433
              commissioningDate: commissioningDate
              derDevices:
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              - nominalRatedCapacity: 6.683562403749608
                deviceIdentifier: 9.965781217890562
                nominalStorageCapacity: 8.762042012749001
                subtype: subtype
                count: 9
                modelNumber: modelNumber
                type: FOSSIL
                manufacturer: manufacturer
                status: ACTIVE
              equipmentType: 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
    EnergyAccountDetailResponseV4:
      example:
        meta: '{}'
        links:
          self: self
      properties:
        data:
          $ref: '#/components/schemas/EnergyAccountDetailV4'
        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
    EnergyBillingListResponseV3:
      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
              measureUnit: KWH
              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
              measureUnit: KWH
              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/EnergyBillingListResponseV3_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 (i.e. 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
    EnergyPlanDetailV3:
      allOf:
      - $ref: '#/components/schemas/EnergyPlan'
      - $ref: '#/components/schemas/EnergyPlanDetailV3_allOf'
    EnergyPlanContractV3:
      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. 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/EnergyPlanContractV3_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
                  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). Defaults to `P1Y` if absent.
                    type: string
                    x-cds-type: ExternalRef
                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
                    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). Defaults to `P1Y` if absent.
                      type: string
                      x-cds-type: ExternalRef
                    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.

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                          endTime:
                            description: |-
                              The end of the time period per day for which the controlled load rate applies. Required if _startTime_ provided.

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                          additionalInfo:
                            description: Display text providing more information on
                              the controlled 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
                - CURRENT
                - VARIABLE
                - OTHER
                type: string
              payerType:
                description: The type of the payer.
                enum:
                - GOVERNMENT
                - RETAILER
                type: string
              tariffUType:
                description: Reference to the applicable tariff structure.
                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
                  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). Defaults to `P1Y` if absent.
                    type: string
                    x-cds-type: ExternalRef
                required:
                - rates
                type: object
              timeVaryingTariffs:
                description: Represents a tariff based on time. Mandatory if _tariffUType_
                  is set to `timeVaryingTariffs`.
                items:
                  properties:
                    type:
                      description: The type of the charging time period. If absent
                        applies to all periods.
                      enum:
                      - PEAK
                      - OFF_PEAK
                      - SHOULDER
                      type: string
                    displayName:
                      description: Display name of the tariff.
                      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
                    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). Defaults to `P1Y` if absent.
                      type: string
                      x-cds-type: ExternalRef
                    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 (i.e. midnight).

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                          endTime:
                            description: |-
                              The end of the time period per day for which the tariff applies. If absent assumes end of day (i.e. one second before midnight).

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                        required:
                        - days
                        type: object
                      type: array
                  required:
                  - displayName
                  - timeVariations
                  type: object
                type: array
            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
              dailySupplyChargeType:
                description: Specifies if daily supply charge is single or banded.
                enum:
                - SINGLE
                - BAND
                type: string
              dailySupplyCharge:
                description: The amount of access charge for the tariff period, in
                  dollars per day exclusive of GST. Mandatory if _dailySupplyChargeType_
                  is `SINGLE`.
                type: string
                x-cds-type: AmountString
              bandedDailySupplyCharges:
                description: Array representing banded daily supply charge rates.
                  Mandatory if _dailySupplyChargeType_ is `BAND`.
                items:
                  properties:
                    unitPrice:
                      description: The amount of daily supply charge for the band,
                        in dollars per day exclusive of GST.
                      type: string
                      x-cds-type: AmountString
                    measureUnit:
                      description: The measurement unit of rate. Assumed to be `DAYS`
                        if absent.
                      enum:
                      - KWH
                      - KVA
                      - KVAR
                      - KVARH
                      - KW
                      - DAYS
                      - METER
                      - MONTH
                      type: string
                    volume:
                      description: Volume the charge applies to.
                      type: number
                  required:
                  - unitPrice
                  type: object
                type: array
              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
                    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). Defaults to `P1Y` if absent.
                      type: string
                      x-cds-type: ExternalRef
                    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.

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                          endTime:
                            description: |-
                              End of the period.

                              Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                            type: string
                            x-cds-type: ExternalRef
                        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.

                        Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                      type: string
                      x-cds-type: ExternalRef
                    endTime:
                      description: |-
                        End of the period.

                        Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                      type: string
                      x-cds-type: ExternalRef
                    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
            - dailySupplyCharge
            - bandedDailySupplyCharges
          type: array
      required:
      - isFixed
      - paymentOption
      - pricingModel
      - tariffPeriod
      type: object
      x-conditional:
      - timeZone
      - variation
      - controlledLoad
    EnergyPlanContractFullV3:
      allOf:
      - $ref: '#/components/schemas/EnergyPlanContractV3'
      - $ref: '#/components/schemas/EnergyPlanContractFullV3_allOf'
    EnergyPlanControlledLoadV2:
      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
              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). Defaults to `P1Y` if absent.
                type: string
                x-cds-type: ExternalRef
            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
                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). Defaults to `P1Y` if absent.
                  type: string
                  x-cds-type: ExternalRef
                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.

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                      endTime:
                        description: |-
                          The end of the time period per day for which the controlled load rate applies. Required if _startTime_ provided.

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                      additionalInfo:
                        description: Display text providing more information on the
                          controlled 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
    EnergyPlanSolarFeedInTariffV3:
      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
            - CURRENT
            - VARIABLE
            - OTHER
            type: string
          payerType:
            description: The type of the payer.
            enum:
            - GOVERNMENT
            - RETAILER
            type: string
          tariffUType:
            description: Reference to the applicable tariff structure.
            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
              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). Defaults to `P1Y` if absent.
                type: string
                x-cds-type: ExternalRef
            required:
            - rates
            type: object
          timeVaryingTariffs:
            description: Represents a tariff based on time. Mandatory if _tariffUType_
              is set to `timeVaryingTariffs`.
            items:
              properties:
                type:
                  description: The type of the charging time period. If absent applies
                    to all periods.
                  enum:
                  - PEAK
                  - OFF_PEAK
                  - SHOULDER
                  type: string
                displayName:
                  description: Display name of the tariff.
                  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
                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). Defaults to `P1Y` if absent.
                  type: string
                  x-cds-type: ExternalRef
                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 (i.e. midnight).

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                      endTime:
                        description: |-
                          The end of the time period per day for which the tariff applies. If absent assumes end of day (i.e. one second before midnight).

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                    required:
                    - days
                    type: object
                  type: array
              required:
              - displayName
              - timeVariations
              type: object
            type: array
        required:
        - displayName
        - payerType
        - scheme
        - tariffUType
        type: object
        x-conditional:
        - singleTariff
        - timeVaryingTariffs
      type: array
    EnergyPlanTariffPeriodV2:
      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
          dailySupplyChargeType:
            description: Specifies if daily supply charge is single or banded.
            enum:
            - SINGLE
            - BAND
            type: string
          dailySupplyCharge:
            description: The amount of access charge for the tariff period, in dollars
              per day exclusive of GST. Mandatory if _dailySupplyChargeType_ is `SINGLE`.
            type: string
            x-cds-type: AmountString
          bandedDailySupplyCharges:
            description: Array representing banded daily supply charge rates. Mandatory
              if _dailySupplyChargeType_ is `BAND`.
            items:
              properties:
                unitPrice:
                  description: The amount of daily supply charge for the band, in
                    dollars per day exclusive of GST.
                  type: string
                  x-cds-type: AmountString
                measureUnit:
                  description: The measurement unit of rate. Assumed to be `DAYS`
                    if absent.
                  enum:
                  - KWH
                  - KVA
                  - KVAR
                  - KVARH
                  - KW
                  - DAYS
                  - METER
                  - MONTH
                  type: string
                volume:
                  description: Volume the charge applies to.
                  type: number
              required:
              - unitPrice
              type: object
            type: array
          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
                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). Defaults to `P1Y` if absent.
                  type: string
                  x-cds-type: ExternalRef
                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.

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                      endTime:
                        description: |-
                          End of the period.

                          Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                        type: string
                        x-cds-type: ExternalRef
                    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.

                    Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                  type: string
                  x-cds-type: ExternalRef
                endTime:
                  description: |-
                    End of the period.

                    Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
                  type: string
                  x-cds-type: ExternalRef
                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
        - dailySupplyCharge
        - bandedDailySupplyCharges
      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: 1
            endInterval: 1
            quality: SUBSTITUTE
          - startInterval: 1
            endInterval: 1
            quality: SUBSTITUTE
          aggregateValue: 1.4658129805029452
        servicePointId: servicePointId
        registerSuffix: registerSuffix
        readEndDate: readEndDate
        readStartDate: readStartDate
        controlledLoad: true
        readUType: basicRead
      properties:
        servicePointId:
          description: 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:00am AEST.
          type: string
          x-cds-type: DateString
        readEndDate:
          description: Date when the meter reads end in AEST. If absent then assumed
            to be equal to _readStartDate_. In this case the entry represents data
            for a single date specified by _readStartDate_.
          type: string
          x-cds-type: DateString
        unitOfMeasure:
          description: Unit of measure of the meter reads. Refer to Appendix B of
            <a href='https://www.aemo.com.au/-/media/files/stakeholder_consultation/consultations/nem-consultations/2019/5ms-metering-package-2/final-determination/mdff-specification-nem12-nem13-v21-final-determination-clean.pdf?la=en&hash=03FCBA0D60E091DE00F2361AE76206EA'>MDFF
            Specification NEM12 NEM13 v2.1</a> for a list of possible values.
          type: string
          x-cds-type: ExternalRef
        readUType:
          description: Specify the type of the meter read data.
          enum:
          - basicRead
          - intervalRead
          type: string
        basicRead:
          $ref: '#/components/schemas/EnergyUsageRead_basicRead'
        intervalRead:
          $ref: '#/components/schemas/EnergyUsageRead_intervalRead'
      required:
      - readStartDate
      - readUType
      - registerSuffix
      - servicePointId
      type: object
      x-conditional:
      - basicRead
      - intervalRead
    EnergyDerRecord:
      example:
        protectionMode:
          interTripScheme: interTripScheme
          underFrequencyProtectionDelay: 2.3021358869347655
          underVoltageProtection: 3.616076749251911
          exportLimitKva: 5.962133916683182
          overFrequencyProtectionDelay: 9.301444243932576
          overFrequencyProtection: 7.061401241503109
          overVoltageProtectionDelay: 7.386281948385884
          sustainedOverVoltageDelay: 1.0246457001441578
          frequencyRateOfChange: 1.4894159098541704
          underFrequencyProtection: 5.637376656633329
          underVoltageProtectionDelay: 2.027123023002322
          overVoltageProtection: 4.145608029883936
          neutralVoltageDisplacement: 7.457744773683766
          sustainedOverVoltage: 1.2315135367772556
          voltageVectorShift: 6.84685269835264
        installedPhasesCount: 0
        availablePhasesCount: 1
        islandableInstallation: true
        servicePointId: servicePointId
        approvedCapacity: 0.8008281904610115
        hasCentralProtectionControl: false
        acConnections:
        - inverterSeries: inverterSeries
          inverterModelNumber: inverterModelNumber
          inverterDeviceCapacity: 5.025004791520295
          manufacturerName: manufacturerName
          count: 4
          connectionIdentifier: 1.1730742509559433
          commissioningDate: commissioningDate
          derDevices:
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          - nominalRatedCapacity: 6.683562403749608
            deviceIdentifier: 9.965781217890562
            nominalStorageCapacity: 8.762042012749001
            subtype: subtype
            count: 9
            modelNumber: modelNumber
            type: FOSSIL
            manufacturer: manufacturer
            status: ACTIVE
          equipmentType: 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'
    EnergyAccountDetailV4:
      allOf:
      - $ref: '#/components/schemas/EnergyAccountBaseV2'
      - $ref: '#/components/schemas/EnergyAccountDetailV4_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 ENUMs 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 gas
            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 gas 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 gas 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
    EnergyBillingTransactionV3:
      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
          measureUnit: KWH
          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/EnergyBillingUsageTransactionV2'
        demand:
          $ref: '#/components/schemas/EnergyBillingDemandTransactionV3'
        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
    EnergyBillingUsageTransactionV2:
      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
          - ALL_DAY
          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/EnergyBillingUsageTransactionV2_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction.
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_adjustments'
          type: array
      required:
      - amount
      - endDate
      - startDate
      - timeOfUseType
      - usage
      type: object
    EnergyBillingDemandTransactionV3:
      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
        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
          - ALL_DAY
          - EXCESS
          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
        measureUnit:
          description: The measurement unit of rate. Assumed to be `KVA` if absent.
          enum:
          - KWH
          - KVA
          - KVAR
          - KVARH
          - KW
          - DAYS
          - METER
          - MONTH
          type: string
        rate:
          description: The rate for the demand charge in _measureUnit_. Assumed to
            be `KVA` if _measureUnit_ not provided. 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/EnergyBillingUsageTransactionV2_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction.
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_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/EnergyBillingUsageTransactionV2_calculationFactors'
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction.
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_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 if _thoroughfareNumber1_
            is populated.
          type: string
        thoroughfareNumber2:
          description: Second thoroughfare number (only used if the property has a
            ranged address e.g., 23-25).
          type: integer
          x-cds-type: PositiveInteger
        thoroughfareNumber2Suffix:
          description: Suffix for the second thoroughfare number. Only relevant if
            _thoroughfareNumber2_ is populated.
          type: string
        flatUnitType:
          description: Type of flat or unit for the address.
          type: string
        flatUnitNumber:
          description: Unit number (including suffix, if applicable).
          type: string
        floorLevelType:
          description: Type of floor or level for the address.
          type: string
        floorLevelNumber:
          description: Floor or level number (including alpha characters).
          type: string
        lotNumber:
          description: Allotment number for the address.
          type: string
        buildingName1:
          description: Building/Property name 1.
          type: string
        buildingName2:
          description: Building/Property name 2.
          type: string
        streetName:
          description: The name of the street.
          type: string
        streetType:
          description: The street type. Valid enumeration defined by Australia Post
            PAF code file.
          type: string
        streetSuffix:
          description: The street type suffix. Valid enumeration defined by Australia
            Post PAF code file.
          type: string
        postalDeliveryType:
          description: Postal delivery type. (e.g., PO BOX). Valid enumeration defined
            by Australia Post PAF code file.
          type: string
        postalDeliveryNumber:
          description: Postal delivery number if the address is a postal delivery
            type.
          type: integer
          x-cds-type: PositiveInteger
        postalDeliveryNumberPrefix:
          description: Postal delivery number prefix related to the postal delivery
            number.
          type: string
        postalDeliveryNumberSuffix:
          description: Postal delivery number suffix related to the postal delivery
            number.
          type: string
        localityName:
          description: Full name of locality.
          type: string
        postcode:
          description: Postcode for the locality.
          type: string
        state:
          description: State in which the address belongs. Valid enumeration defined
            by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf).
            `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.
          type: string
      required:
      - localityName
      - postcode
      - state
      type: object
    RequestServicePointIdList:
      example:
        data:
          servicePointIds:
          - servicePointIds
          - servicePointIds
        meta: '{}'
      properties:
        data:
          $ref: '#/components/schemas/RequestServicePointIdList_data'
        meta:
          type: object
      required:
      - data
      type: object
    RequestAccountIdList:
      example:
        data:
          accountIds:
          - accountIds
          - accountIds
        meta: '{}'
      properties:
        data:
          $ref: '#/components/schemas/RequestAccountIdList_data'
        meta:
          type: object
      required:
      - data
      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: 1
              endInterval: 1
              quality: SUBSTITUTE
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            aggregateValue: 1.4658129805029452
          servicePointId: servicePointId
          registerSuffix: registerSuffix
          readEndDate: readEndDate
          readStartDate: readStartDate
          controlledLoad: true
          readUType: basicRead
        - basicRead:
            value: 0.8008281904610115
            quality: ACTUAL
          unitOfMeasure: unitOfMeasure
          registerId: registerId
          meterId: meterId
          intervalRead:
            readIntervalLength: 6
            intervalReads:
            - 5.962133916683182
            - 5.962133916683182
            readQualities:
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            - startInterval: 1
              endInterval: 1
              quality: SUBSTITUTE
            aggregateValue: 1.4658129805029452
          servicePointId: servicePointId
          registerSuffix: registerSuffix
          readEndDate: readEndDate
          readStartDate: readStartDate
          controlledLoad: true
          readUType: basicRead
      properties:
        reads:
          description: Array of meter reads sorted by NMI in ascending order followed
            by _readStartDate_ in descending order.
          items:
            $ref: '#/components/schemas/EnergyUsageRead'
          type: array
      required:
      - reads
      type: object
    EnergyDerListResponse_data:
      example:
        derRecords:
        - protectionMode:
            interTripScheme: interTripScheme
            underFrequencyProtectionDelay: 2.3021358869347655
            underVoltageProtection: 3.616076749251911
            exportLimitKva: 5.962133916683182
            overFrequencyProtectionDelay: 9.301444243932576
            overFrequencyProtection: 7.061401241503109
            overVoltageProtectionDelay: 7.386281948385884
            sustainedOverVoltageDelay: 1.0246457001441578
            frequencyRateOfChange: 1.4894159098541704
            underFrequencyProtection: 5.637376656633329
            underVoltageProtectionDelay: 2.027123023002322
            overVoltageProtection: 4.145608029883936
            neutralVoltageDisplacement: 7.457744773683766
            sustainedOverVoltage: 1.2315135367772556
            voltageVectorShift: 6.84685269835264
          installedPhasesCount: 0
          availablePhasesCount: 1
          islandableInstallation: true
          servicePointId: servicePointId
          approvedCapacity: 0.8008281904610115
          hasCentralProtectionControl: false
          acConnections:
          - inverterSeries: inverterSeries
            inverterModelNumber: inverterModelNumber
            inverterDeviceCapacity: 5.025004791520295
            manufacturerName: manufacturerName
            count: 4
            connectionIdentifier: 1.1730742509559433
            commissioningDate: commissioningDate
            derDevices:
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            - nominalRatedCapacity: 6.683562403749608
              deviceIdentifier: 9.965781217890562
              nominalStorageCapacity: 8.762042012749001
              subtype: subtype
              count: 9
              modelNumber: modelNumber
              type: FOSSIL
              manufacturer: manufacturer
              status: ACTIVE
            equipmentType: 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 schedules 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
    EnergyBillingListResponseV3_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
            measureUnit: KWH
            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
            measureUnit: KWH
            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/EnergyBillingTransactionV3'
          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
    EnergyPlanDetailV3_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
    EnergyPlanDetailV3_allOf:
      properties:
        meteringCharges:
          description: Charges for metering included in the plan.
          items:
            $ref: '#/components/schemas/EnergyPlanDetailV3_allOf_meteringCharges'
          type: array
        gasContract:
          $ref: '#/components/schemas/EnergyPlanContractFullV3'
        electricityContract:
          $ref: '#/components/schemas/EnergyPlanContractFullV3'
      type: object
      x-conditional:
      - gasContract
      - electricityContract
    EnergyPlanContractV3_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
    EnergyPlanContractFullV3_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: 1
        endInterval: 1
        quality: SUBSTITUTE
      properties:
        startInterval:
          description: Start interval for read quality flag. First read begins at
            `1`.
          example: 1
          type: integer
          x-cds-type: PositiveInteger
        endInterval:
          description: End interval for read quality flag.
          example: 1
          type: integer
          x-cds-type: PositiveInteger
        quality:
          description: The quality of the read taken.
          enum:
          - SUBSTITUTE
          - FINAL_SUBSTITUTE
          type: string
      required:
      - endInterval
      - quality
      - startInterval
      type: object
    EnergyUsageRead_intervalRead:
      description: Mandatory if _readUType_ is set to `intervalRead`.
      example:
        readIntervalLength: 6
        intervalReads:
        - 5.962133916683182
        - 5.962133916683182
        readQualities:
        - startInterval: 1
          endInterval: 1
          quality: SUBSTITUTE
        - startInterval: 1
          endInterval: 1
          quality: SUBSTITUTE
        aggregateValue: 1.4658129805029452
      properties:
        readIntervalLength:
          description: Read interval length in minutes. Required when _interval-reads_
            query parameter equals `FULL` or `MIN_30`.
          type: integer
          x-cds-type: PositiveInteger
        aggregateValue:
          description: The aggregate sum of the interval read values. If positive
            then it means net consumption, if negative it means net export.
          type: number
        intervalReads:
          description: Array of Interval read values. If positive then it means consumption,
            if negative it means export. Required when _interval-reads_ query parameter
            equals `FULL` or `MIN_30`.<br>Each read value indicates the read for the
            interval specified by _readIntervalLength_ beginning at midnight of _readStartDate_
            (for example 00:00 to 00:30 would be the first reading in a 30 minute
            Interval).
          items:
            type: number
          type: array
        readQualities:
          description: ' Specifies quality of reads that are not `ACTUAL`. For read
            indices that are not specified, quality is assumed to be `ACTUAL`. If
            not present, all quality of all reads are assumed to be actual. Required
            when _interval-reads_ query parameter equals `FULL` or `MIN_30`.'
          items:
            $ref: '#/components/schemas/EnergyUsageRead_intervalRead_readQualities'
          type: array
      required:
      - aggregateValue
      type: object
      x-conditional:
      - readIntervalLength
      - intervalReads
      - readQualities
    EnergyDerRecord_protectionMode:
      description: Required only when the _hasCentralProtectionControl_ flag is set
        to `true`. One or more of the object fields will be provided to describe the
        protection modes in place.
      example:
        interTripScheme: interTripScheme
        underFrequencyProtectionDelay: 2.3021358869347655
        underVoltageProtection: 3.616076749251911
        exportLimitKva: 5.962133916683182
        overFrequencyProtectionDelay: 9.301444243932576
        overFrequencyProtection: 7.061401241503109
        overVoltageProtectionDelay: 7.386281948385884
        sustainedOverVoltageDelay: 1.0246457001441578
        frequencyRateOfChange: 1.4894159098541704
        underFrequencyProtection: 5.637376656633329
        underVoltageProtectionDelay: 2.027123023002322
        overVoltageProtection: 4.145608029883936
        neutralVoltageDisplacement: 7.457744773683766
        sustainedOverVoltage: 1.2315135367772556
        voltageVectorShift: 6.84685269835264
      properties:
        exportLimitKva:
          description: Maximum amount of power (kVA) that may be exported from a connection
            point to the grid, as monitored by a control/relay function. An absent
            value indicates no limit.
          type: number
        underFrequencyProtection:
          description: Protective function limit in Hz.
          type: number
        underFrequencyProtectionDelay:
          description: Trip delay time in seconds.
          type: number
        overFrequencyProtection:
          description: Protective function limit in Hz.
          type: number
        overFrequencyProtectionDelay:
          description: Trip delay time in seconds.
          type: number
        underVoltageProtection:
          description: Protective function limit in V.
          type: number
        underVoltageProtectionDelay:
          description: Trip delay time in seconds.
          type: number
        overVoltageProtection:
          description: Protective function limit in V.
          type: number
        overVoltageProtectionDelay:
          description: Trip delay time in seconds.
          type: number
        sustainedOverVoltage:
          description: Sustained over voltage.
          type: number
        sustainedOverVoltageDelay:
          description: Sustained Over voltage protection delay in seconds.
          type: number
        frequencyRateOfChange:
          description: Rate of change of frequency trip point (Hz/s).
          type: number
        voltageVectorShift:
          description: Trip angle in degrees.
          type: number
        interTripScheme:
          description: Description of the form of inter-trip (e.g., 'from local substation').
          type: string
        neutralVoltageDisplacement:
          description: Trip voltage.
          type: number
      type: object
    EnergyDerRecord_derDevices:
      example:
        nominalRatedCapacity: 6.683562403749608
        deviceIdentifier: 9.965781217890562
        nominalStorageCapacity: 8.762042012749001
        subtype: subtype
        count: 9
        modelNumber: modelNumber
        type: FOSSIL
        manufacturer: manufacturer
        status: ACTIVE
      properties:
        deviceIdentifier:
          description: Unique identifier for a single DER device or a group of DER
            devices with the same attributes. Does not align with CDR ID permanence
            standards.
          type: number
        count:
          description: Number of devices in the group of DER devices.
          type: integer
          x-cds-type: PositiveInteger
        manufacturer:
          description: The name of the device manufacturer. If absent then assumed
            to be "unknown".
          type: string
        modelNumber:
          description: The model number of the device. If absent then assumed to be
            "unknown".
          type: string
        status:
          description: Code used to indicate the status of the device. This will be
            used to identify if an inverter is active or inactive or decommissioned.
          enum:
          - ACTIVE
          - INACTIVE
          - DECOMMISSIONED
          type: string
        type:
          description: Used to indicate the primary technology used in the DER device.
          enum:
          - FOSSIL
          - HYDRO
          - WIND
          - SOLAR_PV
          - RENEWABLE
          - GEOTHERMAL
          - STORAGE
          - OTHER
          type: string
        subtype:
          description: Used to indicate the primary technology used in the DER device.
            This field is also used to record for example the battery chemistry, or
            the type of PV panel. It is also used to record if a battery is contained
            in an electric vehicle connected in a vehicle-to-grid arrangement. If
            absent then assumed to be "other".
          type: string
        nominalRatedCapacity:
          description: Maximum output in kVA that is listed in the product specification
            by the manufacturer. This refers to the capacity of each unit within the
            device group. Default is `0` if value not known.
          type: number
        nominalStorageCapacity:
          description: Maximum storage capacity in kVAh. This refers to the capacity
            of each storage module within the device group. Mandatory if type is equal
            to `STORAGE`. Default is `0` if value not known.
          type: number
      required:
      - count
      - deviceIdentifier
      - nominalRatedCapacity
      - type
      type: object
      x-conditional:
      - nominalStorageCapacity
    EnergyDerRecord_acConnections:
      example:
        inverterSeries: inverterSeries
        inverterModelNumber: inverterModelNumber
        inverterDeviceCapacity: 5.025004791520295
        manufacturerName: manufacturerName
        count: 4
        connectionIdentifier: 1.1730742509559433
        commissioningDate: commissioningDate
        derDevices:
        - nominalRatedCapacity: 6.683562403749608
          deviceIdentifier: 9.965781217890562
          nominalStorageCapacity: 8.762042012749001
          subtype: subtype
          count: 9
          modelNumber: modelNumber
          type: FOSSIL
          manufacturer: manufacturer
          status: ACTIVE
        - nominalRatedCapacity: 6.683562403749608
          deviceIdentifier: 9.965781217890562
          nominalStorageCapacity: 8.762042012749001
          subtype: subtype
          count: 9
          modelNumber: modelNumber
          type: FOSSIL
          manufacturer: manufacturer
          status: ACTIVE
        equipmentType: 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 _servicePointId_ values, 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
    EnergyAccountDetailV4_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/EnergyPlanDetailV3_allOf_meteringCharges'
          type: array
        gasContract:
          $ref: '#/components/schemas/EnergyPlanContractV3'
        electricityContract:
          $ref: '#/components/schemas/EnergyPlanContractV3'
      required:
      - fuelType
      type: object
      x-conditional:
      - gasContract
      - electricityContract
    EnergyAccountDetailV4_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
    EnergyAccountDetailV4_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 _servicePointId_ values, representing NMIs, that
            this account is linked to.
          items:
            type: string
          type: array
        planOverview:
          $ref: '#/components/schemas/EnergyAccountV2_allOf_planOverview'
        planDetail:
          $ref: '#/components/schemas/EnergyAccountDetailV4_allOf_planDetail'
        authorisedContacts:
          description: An array of additional contacts that are authorised to act
            on this account.
          items:
            $ref: '#/components/schemas/EnergyAccountDetailV4_allOf_authorisedContacts'
          type: array
      required:
      - servicePointIds
      type: object
      x-conditional:
      - planOverview
      - planDetail
    EnergyAccountDetailV4_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/EnergyAccountDetailV4_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, or
            held in a closed system, and is not accessible through any other channels.
            `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 display name of the wallet as given by the customer, else
            a default value defined by the data holder.
          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
    EnergyBillingUsageTransactionV2_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
    EnergyBillingUsageTransactionV2_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
    RequestServicePointIdList_data:
      example:
        servicePointIds:
        - servicePointIds
        - servicePointIds
      properties:
        servicePointIds:
          description: Array of specific _servicePointId_ values to obtain data for.
          items:
            type: string
          type: array
      required:
      - servicePointIds
      type: object
    RequestAccountIdList_data:
      example:
        accountIds:
        - accountIds
        - accountIds
      properties:
        accountIds:
          description: Array of specific _accountId_ values to obtain data for.
          items:
            type: string
          type: array
      required:
      - accountIds
      type: object
