Leap meter-dispatches API

Endpoints for meter dispatches

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leap-meter-dispatches-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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