Use the Uplight (AutoGrid Flex) VPP API to configure a demand flexibility event for a residential HVAC fleet and track real-time dispatch compliance
domain: uplight.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate via OAuth 2.0 client credentials to the Uplight platform API; request scope vpp:events:write vpp:telemetry:read to obtain a bearer token
Create a demand flexibility program event: POST to /api/v1/flexibility/events with payload containing program_id, event_type (SHED or SHIFT), start_time (ISO 8601 UTC), duration_minutes, target_reduction_kw, and device_filter (e.g., device_type: smart_thermostat)
Poll GET /api/v1/flexibility/events/{event_id}/enrollment to see which enrolled devices have been selected for dispatch and their pre-dispatch baseline temperatures and setpoints
Monitor real-time compliance during the event window: GET /api/v1/flexibility/events/{event_id}/realtime with a 60-second polling interval; the response includes per-device current_setpoint, baseline_setpoint, power_kw, and compliance_status (COMPLIANT / NON_COMPLIANT)
For non-compliant devices (customer override or communication failure), log the device_id and non_compliance_reason; non-compliant devices are excluded from the event's MW achievement calculation
After event completion, retrieve the final settlement report from GET /api/v1/flexibility/events/{event_id}/settlement to obtain total_kw_reduced, number_of_devices_dispatched, and performance_percentage for submission to the utility or RTO
Known gotchas
Smart thermostat dispatch operates through OEM APIs (Nest, Ecobee, Sensi) which have their own rate limits and latency; an Uplight dispatch command may take 2-5 minutes to propagate to all devices in a large fleet, so real-time compliance metrics lag behind the actual dispatch command
Customer pre-cooling override settings can cause a device to report as compliant on setpoint but show no power reduction if the thermal mass was already charged; power-based compliance metrics are more accurate than setpoint-based metrics for HVAC resources
Uplight's flexibility event API requires the program to be in ACTIVE status before events can be created; a program in DRAFT or PAUSED state returns 409 Conflict on event creation — check program status before calling the event endpoint
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?