Leap meter-dispatches API

Endpoints for meter dispatches

OpenAPI Specification

leap-meter-dispatches-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  description: Endpoints to create or update meters in bulk through Leap's API.
  title: create meters meter-dispatches API
  version: 1.1.0
servers:
- description: Leap staging API
  url: https://api.staging.leap.energy
- description: Leap production API
  url: https://api.leap.energy
security:
- Bearer: []
tags:
- description: Endpoints for meter dispatches
  name: meter-dispatches
paths:
  /dispatch/meter/search:
    post:
      description: Search meter dispatches that match the input filters
      operationId: searchMeterDispatches
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchMeterDispatchEventRequest'
        description: Search meter dispatch request input
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchMeterDispatchEventResponse'
          description: A list of meter dispatches that match the search input
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request could not be parsed or is invalid
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Search meter dispatches
      tags:
      - meter-dispatches
  /dispatch/meter/communication_test:
    post:
      description: Create communication test that will trigger a webhook call with the corresponding dispatch notification data
      operationId: triggerCommunicationTestMeterDispatch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationTestMeterDispatchRequest'
        description: Meter dispatch communication test
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationTestMeterDispatchResponse'
          description: Successfully triggered a communication test meter notification
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request could not be parsed or is invalid
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Trigger meter communication test
      tags:
      - meter-dispatches
  /dispatch/meter/webhook:
    delete:
      description: Remove an existing webhook URL for meter dispatches
      operationId: deleteMeterDispatchWebhook
      responses:
        '204':
          description: Webhook URL has been removed
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Delete meter dispatch webhook URL
      tags:
      - meter-dispatches
    get:
      description: Retrieve the registered webhook URL for meter dispatches
      operationId: getMeterDispatchWebhook
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Get meter webhook URL
      tags:
      - meter-dispatches
    put:
      description: Create or update an existing webhook URL for meter dispatches
      operationId: createOrUpdateMeterDispatchWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
        description: Webhook object that needs to be registered for this partner
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: Webhook URL updated
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request could not be parsed or is invalid
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Set meter webhook URL
      tags:
      - meter-dispatches
      x-codegen-request-body-name: apiWebhook
  /dispatch/meter/webhook/integration_test:
    post:
      description: Create test notification that will trigger a webhook call with the corresponding dispatch notification data
      operationId: triggerTestMeterDispatchNotification
      requestBody:
        content:
          application/json:
            examples:
              CAISO - CCA Capacity Test:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 1acfced0-16f4-4fb7-b72e-5ff939ae541e
                      start_time: 2023-07-21 00:00:00+00:00
                      end_time: 2023-07-21 01:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CCA
                      priority: 1
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - capacity-test
                    - meter_event_id: 2ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 01:00:00+00:00
                      end_time: 2023-07-21 02:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CCA
                      priority: 1
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - capacity-test
              CAISO - CCA Market Award:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 3acfced0-16f4-4fb7-b72e-5ff939ae541e
                      start_time: 2023-07-21 00:00:00+00:00
                      end_time: 2023-07-21 01:00:00+00:00
                      energy_kw: 8
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CCA
                      priority: 2
                      is_voluntary: false
                      performance_compensation_cap: up-to-site-load
                      dispatch_event_types:
                      - day-ahead
                    - meter_event_id: 4ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 01:00:00+00:00
                      end_time: 2023-07-21 02:00:00+00:00
                      energy_kw: 8
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CCA
                      priority: 2
                      is_voluntary: false
                      performance_compensation_cap: up-to-site-load
                      dispatch_event_types:
                      - day-ahead
              CAISO - ELRP:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 5ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 00:00:00+00:00
                      end_time: 2023-07-21 04:00:00+00:00
                      energy_kw: null
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - ELRP
                      priority: 3
                      is_voluntary: true
                      performance_compensation_cap: grid-exports-allowed
                      dispatch_event_types:
                      - standard
              CAISO - DSGS Option 3:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 6ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 00:00:00+00:00
                      end_time: 2023-07-21 02:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CEC-DSGS
                      priority: 4
                      is_voluntary: true
                      performance_compensation_cap: grid-exports-allowed
                      dispatch_event_types:
                      - standard
              CAISO - DSGS Option 4:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 6ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 00:00:00+00:00
                      end_time: 2023-07-21 02:00:00+00:00
                      energy_kw: 1
                      nomination_kw: 1
                      cancelled: false
                      programs:
                      - CEC-DSGS-OPTION4
                      priority: 4
                      is_voluntary: false
                      performance_compensation_cap: grid-exports-allowed
                      dispatch_event_types:
                      - standard
              ERCOT - ERS:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 7ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 18:00:00+00:00
                      end_time: 2023-07-21 22:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - ERCOT-ERS
                      priority: 1
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - standard
              NYISO - SCR:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 8ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 19:00:00+00:00
                      end_time: 2023-07-21 20:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - NYISO-SCR
                      priority: 1
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - standard
              NYISO - CSRP:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 9ad4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 16:00:00+00:00
                      end_time: 2023-07-21 20:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CONED-CSRP
                      priority: 3
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - standard
              NYISO - DLRP:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 10d4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 14:00:00+00:00
                      end_time: 2023-07-21 18:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - CONED-DLRP
                      priority: 5
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - standard
              ISO-NE - Clean Peak Standard:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 11d4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 14:00:00+00:00
                      end_time: 2023-07-21 18:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - MA_DOER-CPS
                      priority: 2
                      is_voluntary: true
                      performance_compensation_cap: grid-exports-allowed
                      dispatch_event_types:
                      - standard
              ISO-NE - Connected Solutions:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 12d4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 15:00:00+00:00
                      end_time: 2023-07-21 18:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - NATGRID-CS
                      priority: 1
                      is_voluntary: true
                      performance_compensation_cap: grid-exports-allowed
                      dispatch_event_types:
                      - standard
              PJM - Capacity:
                value:
                  meter_dispatches:
                  - meter_id: dd21c76c-7126-4ef7-b0a6-f190fad300b2
                    timeslots:
                    - meter_event_id: 12d4bbde-36ee-401f-92b8-c58aa17aa71d
                      start_time: 2023-07-21 15:00:00+00:00
                      end_time: 2023-07-21 18:00:00+00:00
                      energy_kw: 10
                      nomination_kw: 10
                      cancelled: false
                      programs:
                      - PJM-CAPACITY
                      priority: 1
                      is_voluntary: false
                      performance_compensation_cap: up-to-nomination
                      dispatch_event_types:
                      - standard
            schema:
              $ref: '#/components/schemas/WebhookMeterDispatchIntegrationTestRequest'
        description: Test meter dispatch notification
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookIntegrationTestResponse'
          description: 'Successfully triggered a test meter notification to be sent to the registered meter webhook url

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request could not be parsed or is invalid
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No access to this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unexpected error
      summary: Trigger test meter notification
      tags:
      - meter-dispatches
components:
  schemas:
    MarketType:
      description: Indicates the market “day-ahead”, “hour-ahead”, “15m” or “5m”
      enum:
      - hour-ahead
      - day-ahead
      - 15m
      - 5m
      type: string
      x-enum-varnames:
      - HOUR_AHEAD
      - DAY_AHEAD
      - FIFTEEN_MINUTES
      - FIVE_MINUTES
    CommunicationTestMeterDispatchRequest:
      example:
        start_time: 2023-02-21 00:00:00+00:00
        end_time: 2023-02-21 23:59:00+00:00
        test_event: false
        program: CEC-DSGS
        meter_uuids:
        - dd21c76c-7126-4ef7-b0a6-f190fad300b2
        dispatch_quantity_kw: 1000
        approved: false
      properties:
        start_time:
          description: Start datetime for the communication test (inclusive)
          example: 2023-02-21 00:00:00+00:00
          format: date-time
          type: string
        end_time:
          description: End datetime for the communication test (exclusive). End date must be max 31 days after the start date
          example: 2023-02-21 23:59:00+00:00
          format: date-time
          type: string
        test_event:
          description: Indicates whether the communication test is a capacity test event
          example: false
          type: boolean
        program:
          $ref: '#/components/schemas/program_identifier'
        meter_uuids:
          description: List of meter UUIDs to run the communication test for
          example:
          - dd21c76c-7126-4ef7-b0a6-f190fad300b2
          items:
            format: uuid
            maxItems: 1000
            type: string
          type: array
        dispatch_quantity_kw:
          description: Quantity of capacity in kW to dispatch for the communication test
          example: 1000
          format: double
          type: number
        approved:
          description: Indicates whether the dispatch has been processed (true), or if this was a dry-run to show the partner impact (false).
          example: false
          type: boolean
      required:
      - end_time
      - meter_uuids
      - program
      - start_time
      type: object
    SearchMeterDispatchEventResponse:
      example:
        next_page_token: 242c3e24-43e6-4ad7-88b3-666cda21582b
        results:
        - meter_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          timeslots:
          - meter_event_id: f4cfced0-16f4-4fb7-b72e-5ff939ae541e
            start_time: 2023-02-21 00:00:00+00:00
            end_time: 2023-02-21 01:00:00+00:00
            energy_kw: 80
            nomination_kw: 100
            cancelled: false
            programs:
            - CCA
            priority: 1
            is_voluntary: false
            performance_compensation_cap: up-to-site-load
            dispatch_event_types:
            - day-ahead
            - capacity-test
          - meter_event_id: a6d4bbde-36ee-401f-92b8-c58aa17aa71d
            start_time: 2023-02-21 00:00:00+00:00
            end_time: 2023-02-21 04:00:00+00:00
            energy_kw: null
            nomination_kw: 100
            cancelled: false
            programs:
            - ELRP
            priority: 3
            is_voluntary: true
            performance_compensation_cap: grid-exports-allowed
            dispatch_event_types:
            - standard
      properties:
        next_page_token:
          description: 'Token to be used in a subsequent request to get the next batch of results. Max results per page is 500. Null when the last page of results has been reached

            '
          format: uuid
          type: string
        results:
          description: 'A list of meter-level dispatches.

            '
          items:
            $ref: '#/components/schemas/SearchMeterDispatchEvent'
          type: array
      required:
      - results
      type: object
    SearchMeterDispatchEventRequest:
      allOf:
      - properties:
          meter_event_ids:
            description: Meter event ids to get dispatches for
            items:
              format: uuid
              type: string
            minItems: 1
            type: array
            uniqueItems: true
          meter_ids:
            description: Meter ids to get dispatches for
            items:
              format: uuid
              type: string
            minItems: 1
            type: array
            uniqueItems: true
        type: object
      - $ref: '#/components/schemas/BaseSearchDispatchEventRequest'
      example:
        meter_ids:
        - 9d1a7aae-24e5-455f-91e9-e0f5f145f2ae
        meter_event_ids:
        - ac5ea4df-db45-4cb5-a0bf-a32677dac736
        - 242c3e24-43e6-4ad7-88b3-666cda21582b
        start_date: 2023-02-01 00:00:00+00:00
        end_date: 2023-02-14 23:59:00+00:00
      x-all-of-name: SearchMeterDispatchEventRequest
    program_identifier:
      description: Identifier of program
      enum:
      - CAISO-CCA-SC_ONLY
      - CCA
      - CEC-DSGS-OPTION4
      - CEC-DSGS
      - CONED-CSRP
      - CONED-DLRP
      - DRAM
      - ELRP
      - ENERGY-ONLY
      - ERCOT-ERS
      - EVERSOURCE-CS
      - MA_DOER-CPS
      - NATGRID-CS
      - NRG-REALTIME
      - NRG-RED
      - NYISO-SCR
      - ONCOR-CLM
      - PGE-ART
      - PGE-CBP
      - PJM-CAPACITY
      - PSEGLI-CSRP
      - PSEGLI-DLRP
      - RIE-CS
      - UNITIL-CS
      - PSE-RPO
      - SRP-RPO
      - TVA-RPO
      - CAISO-ELRP-A4
      - CEC-DSGS-OPTION2
      - ENERGYHUB-CS
      example: CEC-DSGS
      type: string
      x-enum-varnames:
      - CAISO_CCA_SC_ONLY
      - CCA
      - CEC_DSGS_OPTION4
      - CEC_DSGS
      - CONED_CSRP
      - CONED_DLRP
      - DRAM
      - ELRP
      - ENERGY_ONLY
      - ERCOT_ERS
      - EVERSOURCE_CS
      - MA_DOER_CPS
      - NATGRID_CS
      - NRG_REALTIME
      - NRG_RED
      - NYISO_SCR
      - ONCOR_CLM
      - PGE_ART
      - PGE_CBP
      - PJM_CAPACITY
      - PSEGLI_CSRP
      - PSEGLI_DLRP
      - RIE_CS
      - UNITIL_CS
      - PSE_RPO
      - SRP_RPO
      - TVA_RPO
      - CAISO_ELRP_A4
      - CEC_DSGS_OPTION2
      - ENERGYHUB_CS
    BaseDispatchEventTimeslot:
      description: A single dispatch interval that describes all aspects of the dispatch.
      properties:
        start_time:
          description: Start time of dispatch
          example: 2021-09-14 22:00:00+00:00
          format: date-time
          type: string
        end_time:
          description: End time of dispatch
          example: 2021-09-14 23:00:00+00:00
          format: date-time
          type: string
        cancelled:
          description: '\''true'' if this event has been cancelled

            '
          type: boolean
        energy_kw:
          description: The awarded kW for the dispatch. This represents the expected power in kW to be curtailed/exported for the duration of the event. If the value is 'null' partners should dispatch the maximum they can manage.
          example: 115
          format: double
          maximum: 100000
          minimum: 0.01
          type: number
        nomination_kw:
          description: The nomination in kW. It represents the commitment amount made to the market for this asset.
          example: 115
          format: double
          maximum: 100000
          minimum: 0.01
          type: number
        performance_compensation_cap:
          $ref: '#/components/schemas/PerformanceCompensationCap'
        priority:
          description: 'The priority of the dispatch compared to other dispatches for the same meter. This value is meant to support partners in prioritizing dispatch events in same-day or overlapping scenarios, at times where the asset may not be able to perform across all events. Number 1 reflects the highest priority.

            '
          maximum: 10
          minimum: 1
          type: integer
        is_voluntary:
          description: 'Indicates whether the dispatch is voluntary or a commitment. Pay-for-performance events, with no energy commitment to achieve, are categorized as true. If a dispatch event constitutes a market or program commitment or carries partner penalties for non-performance, this is set to false.

            '
          type: boolean
        dispatch_event_types:
          description: 'Used for programs that have different compensation structures for different types of dispatch events. All programs with a single compensation structure for all events will be set to standard.

            '
          items:
            $ref: '#/components/schemas/DispatchEventType'
          minItems: 1
          type: array
          uniqueItems: true
        programs:
          description: 'Programs associated with the dispatch. This is a fixed list of values depending on your use-case and refers to the program(s) that the meters are enrolled in.

            '
          items:
            $ref: '#/components/schemas/program_identifier'
          minItems: 1
          type: array
          uniqueItems: true
      required:
      - cancelled
      - dispatch_event_types
      - end_time
      - is_voluntary
      - performance_compensation_cap
      - priority
      - programs
      - start_time
      type: object
    PerformanceCompensationCap:
      description: 'This field can be used to automate a dispatch response that is aligned with the event’s settlement structure, to capitalize on scenarios where over-performance is lucrative versus scenarios where over-performance is not compensated and best reserved for another event.<br/> - UpToNomination - If partners dispatch beyond their nomination value, they will not be compensated.<br/> - UpToSiteLoad - Partners will be compensated for dispatching up to a site load of 0 kW.<br/> - GridExportsAllowed - Partners will be compensated for dispatching beyond a site load of 0 kW, into negative site load.

        '
      enum:
      - grid-exports-allowed
      - up-to-nomination
      - up-to-site-load
      type: string
      x-enum-varnames:
      - GRID_EXPORTS_ALLOWED
      - UP_TO_NOMINATION
      - UP_TO_SITE_LOAD
    SearchMeterDispatchEvent:
      description: 'Aggregates timeslot dispatches per meter. Previously stored dispatches might be updated so when dealing with a dispatch timeslot that has the same meter_event_id as an existing one, the previously received dispatch has to be updated with the new field values.

        '
      properties:
        meter_id:
          description: Id of the meter that received dispatches from the market
          format: uuid
          type: string
        partner_reference:
          description: The partner-supplied reference ID to help identify the customer or site that a Leap meter correlates to a partner’s internal systems.
          type: string
        timeslots:
          description: List with timeslots and quantities that contains dispatches for this meter
          items:
            $ref: '#/components/schemas/SearchMeterDispatchEventTimeslot'
          minItems: 1
          type: array
      required:
      - meter_id
      - timeslots
      type: object
    WebhookIntegrationTestResponse:
      description: Dispatch notification successfully sent to webhook URL during an integration test
      example:
        sent_time: 2023-01-23 04:56:07+00:00
        headers:
          key:
          - x-api-key
          - your-key
        http_status: 200
        received_time: 2023-01-23 04:56:17+00:00
        body: body that is echoed
      properties:
        http_status:
          description: The http code from the response server for the webhook URL or 'null' if no response was received
          type: integer
        sent_time:
          description: Time when the request was sent
          format: date-time
          type: string
        received_time:
          description: Time when the response was received
          format: date-time
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          description: Http headers received from the server
          type: object
        body:
          description: 'Http body received from the server if present (so either a Meter Event Notification or  Market Group Event Notification), ''null'' otherwise

            '
          type: string
        error_message:
          description: In case the request to the webhook URL failed this field contains a description of the failure
          type: string
      required:
      - sent_time
      type: object
    MeterDispatchEventTimeslot:
      allOf:
      - properties:
          meter_event_id:
            description: Unique identifier of the dispatch event
            format: uuid
            type: st

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leap/refs/heads/main/openapi/leap-meter-dispatches-api-openapi.yml