Quickstart
Create an API token, list your sites, and read a site's performance data with the Platform API.
This quickstart takes about five minutes. You need a DUET account with access to at least one site, and a terminal with curl.
Create an API token
- In the DUET app, click your avatar, and then click User Settings.
- In the API access section, click Generate token.
- Click Copy token.
Store the token in an environment variable for the rest of this quickstart:
export DUET_API_TOKEN="<your token>"List your sites
Call List projects. The Platform API calls each site a project.
curl https://api.enurgen.com/platform/v1/projects \
-H "Authorization: Bearer $DUET_API_TOKEN"The response lists the sites your account can open:
[{ "id": "3235d25b-6008-452e-a453-62a5f2644ac1", "name": "Example Solar Farm" }]Copy the id of a site:
export PROJECT_ID="<a project id>"Read performance data
Call Get performance data for the site's daily meter energy over one week:
curl -G https://api.enurgen.com/platform/v1/performance-v2 \
-H "Authorization: Bearer $DUET_API_TOKEN" \
-H "Accept: application/json-seq" \
-d project_ids=$PROJECT_ID \
-d dt_start=2026-05-01 \
-d dt_end=2026-05-07 \
-d component=meter \
-d component_measure=energy \
-d time_interval=OneDayThe response has one JSON object per line, one for each day. Each row includes:
ts: the start of the day, in the site's local time.sensor_value: the energy the meter measured, in Wh.model_value: the energy DUET expected, in Wh.performance_index: measured energy divided by expected energy.
Next steps
- Load data into pandas, Polars, or DuckDB with the Arrow or Parquet response formats.
- Learn what expected energy and the performance index mean.
- Receive changes as they happen with webhooks.
- Browse every endpoint in the API reference.

