How it works
Find the customer's active subscription
List subscriptions and
pick the one with
status: "active". If none is active yet, subscribe to
subscription.activated and show
a “we’re still setting up your contract” state in the meantime.Pull the day-ahead price time series
Retrieve a price time
series returns
15-minute intervals with
timestamp, amount (all-in ct/kWh, incl. taxes,
levies, grid fees), and a components breakdown.Schedule loads against the cheap intervals
Pick the cheapest N intervals that fit your load’s run time. The algorithm
below is the simplest possible version.
Verify against actual consumption
Retrieve consumption
data returns
15-minute usage in kWh. Aligned with the price intervals,
usage * amount
gives you cost per interval.Intervals are 15 minutes long. Since the EPEX day-ahead auction switched to
quarter-hourly products on 1 October 2025, that’s the native resolution of the
underlying market and what we expose.
Picking the cheapest window
The simplest version: sort intervals ascending by price, take the cheapest N.When data is available
- Tomorrow’s prices. Published in one batch each afternoon, finalized by ~14:20 CET at the latest. Tolerate “tomorrow’s prices not yet available” in your UI; don’t render zero-cent intervals as cheap windows.
- Smart-meter consumption. Appears from ~16:00 on D+1, once the metering operator forwards the previous day’s values. Preliminary readings may be replaced by final ones up to the 8th working day of the following month. Don’t expect same-day verification.
- Auction failures. The price endpoint omits intervals that haven’t cleared. Treat missing intervals as “no schedule decision yet” rather than zero.