Introduction
Programmatic access to your DynVolt solar plants.
The DynVolt Open API gives owners programmatic access to the same data that powers the DynVolt owner platform: live plant telemetry, energy and earnings, production and price forecasts, battery storage state, alerts, and O&M workflows.
- Base URL:
https://api.owner.dynvolt.com - Versioning: every endpoint lives under
/v1 - Format: JSON over HTTPS, timestamps in UTC ISO-8601
- Auth: Bearer API keys, created self-service in the owner platform
curl https://api.owner.dynvolt.com/v1/sites \
-H "Authorization: Bearer dvk_live_xxxxxxxxxxxx_xxxx...xxxx"How the API is organized
GET /v1/sites lists the sites your API key can access. Every other endpoint is scoped to a single site:
/v1/sites/{site_id}/overview
/v1/sites/{site_id}/energy/hourly
/v1/sites/{site_id}/work-orders
...Endpoints are grouped by area — plant telemetry, weather, diagnostics & I-V, energy, curtailment, markets, earnings, predictions, BESS, alerts, O&M, and reports. Each group maps to a scope on your token and a module entitlement on your account. The full list — 108 operations — is in the API reference.
What the API can do
- Read everything the owner platform shows: live plant status, per-string telemetry, sensors, weather/EMI, efficiency & I-V diagnostics, energy matrices, curtailment status, markets, earnings, forecasts, full BESS telemetry, alerts, work orders, defects, and report runs.
- Write O&M workflows (work orders, defects, alerts, report subscriptions) and two control areas: curtailment (schedule / immediate / release) and BESS dispatch approval (optimize / approve / reject). Writes support idempotency keys.
Safety rails
The two control areas are bounded by hard limits:
- Curtailment can only ever reduce output. No API call — curtail, release, or "restore to full" — can raise a plant above its TSO/DSO grid-connection permit. The edge clamps every apply and restore to that permit, and the setting holding it is not part of this API.
- BESS writes are dispatch proposals only. Optimize/approve/reject a schedule — but raw hardware control (power on/off, breaker, grid-mode, fault-reset, protection/setup), grid-permit settings, and panel-model edits are not exposed by design.
Getting help
Every response carries an X-Request-Id header. If something looks wrong, include that ID in your support request so we can trace the exact call.