Dispatch Overview

Dispatches Overview

Dispatches are signals from the Leap platform about a grid event. These dispatch events are requests for a meter or group of meters to curtail (or export in some cases) energy during a defined time period. A Leap dispatch notification could contain one or many of these unique dispatch events within it.

Responding to dispatches in a timely and consistent manner is essential to achieving high performance during grid events and maximizing revenue. An important part of this is automating the process of receiving and scheduling events so your customer's devices take appropriate action at the right time.

Leap's webhooks and APIs enable you to integrate once and scale to all available markets and programs. While there may be some nuances between programs, Leap simplifies the integration by providing a common dispatch notification structure that can be program-agnostic and leveraged across all markets and programs.

This guide provides an overview of the following (see the Dispatch Event Processing guide for implementation details and recommendations):

Notification Structure

A dispatch has two top-level components:

Recipient (Meter or Market Group)

You can choose to receive event notifications at the meter or market group level:

Level Description When to Use
Meter Describes the response, including dispatch quantity (kW), expected from each individual meter. When dispatch quantity (kW) per meter is required.
Group Provides dispatch requirements aggregated across many sites or meters. Aggregation grouping varies depending on program requirements and could be by zone (neighborhood) or utility.
Note: commercial meters in PJM are dispatched individually and therefore each part of their own market group.
Recommended for most cases (dispatch quantity (kW) across aggregation is sufficient) or when your event scheduling platform must dispatch a pre-configured portfolio of assets.

For efficiency reasons, most partners subscribe to the group dispatch webhook (to reduce the total number and size of push notifications) but then ignore the market_group_id and simply parse the array of meter_ids to see which meters were dispatched for a given event.

Timeslots

A timeslot describes the details of a dispatch. It includes the start and end time, energy quantity, and other event metadata. Additional details on these fields can be found later in this guide. See the Dispatch Event Processing guide for guidance on parsing these timeslot objects.

JSON Structure Example

{
  "meter_id": "afce893d-ea68-487f-9f8c-778b1881f60a",
  "timeslots": [
    {
      "meter_event_id": "f4cfced0-16f4-4fb7-b72e-5ff939ae541e",
      "start_time": "2022-06-02T00:00:00Z",
      "end_time": "2022-06-02T01:00:00Z",
      "cancelled": false,
      "energy_kw": 4.000,
      "nomination_kw": 4.000,
      "performance_compensation_cap": "up-to-site-load",
      "priority": 2,
      "is_voluntary": false,
      "dispatch_event_types": [
        "day-ahead",
        "capacity-test"
      ],
      "programs": [
         "CCA"
      ]
    }
  ]
}

Notification Methods

There are multiple options for receiving these dispatch notifications. The Leap API provides both push and pull models below:

The webhook approach is recommended over polling as it is most efficient and enables participation in real-time markets. It also allows for sending test dispatch events whenever you want in Production or Staging with any event payload, making it easier to test your integration.

Endpoints

The endpoints available to support these two methods are summarized below:

Types of Test Events

To avoid confusion, this section describes 3 different types of "test" events. Capacity Tests are real market/program events and should be treated as such. Communication and Integration test events are partner-initiated events for testing integration and dispatch readiness of customer assets.

Capacity Test

Communication Test

Integration Test

Updated about 2 months ago.