Flex Shape API
The Flex Shape API turns a portfolio of distributed energy assets into a tradable flexibility forecast. Push a price signal, read the optimized load curve that results, construct a bid curve, submit it to the market. Apply volume control when you need to reserve capacity for a different position.
This is the reference for trading integrations that want to monetize the flexibility of the vehicles, batteries, inverters, and other assets managed through Enode.
Copy linkThe Trading Loop
Trading loop
Push price signal → Read flex shape → Adjust volume?
↑ ↑ │
│ └── Apply volume control ← Yes
│ │
└──── Submit bids to market ←──── No
Every cycle of your trading integration moves through this loop:
- Push a price signal. Day-ahead auction results, forecasted imbalance, intra-day updates — whatever signal is driving your optimization.
- Read the flex shape. The aggregated flexible load forecast for the zone, broken into the intervals you're bidding.
- Optionally apply volume control. Reserve or cap specific chunks when you want to commit them elsewhere or hold them back.
- Construct your bid curves from the shape and submit them.
The shape is always up-to-date with the latest price signal. Push fresh data as often as your upstream signals change.
Copy linkKey Concepts
Zone. An electricity bidding zone — for example NO1, SE3, GER, BE. Flex shapes are computed per zone; one HTTP request returns everything you need for one bidding interval.
Segmentation dimension. A named way of splitting a zone's portfolio into groups — a grid region, a meter class, a tariff group, or any other split you trade separately. Dimensions and their groups are configured by Enode and agreed upfront with your organization; you assign locations to groups and read the shape per group.
Price signal. A timeseries of prices over future time slots, pushed per zone. Each push replaces an explicit window of existing data. The optimizer re-plans immediately against the new prices.
Flex shape. The zone's cost-optimal schedule, broken into evenly-sized chunks. Each chunk carries an expected load plus a feasibility envelope (minimum and maximum bound) — the range within which trading can flex load without raising the end customer's tariff cost. This is what you turn into a bid curve.
Volume control. Relative setpoints you apply to individual chunks of the shape to bias the optimizer away from its cost-optimal solution. By default the bias operates within the tariff-cost envelope: Enode will not shift load in a way that raises the end customer's tariff cost above what they would have paid without flex trading, and the optimizer continues to satisfy any user-set constraints — charge targets, deadlines, and the like. Use volume control to steer the shape toward positions you've committed to in other markets.
Status. Health indicators for a zone — forecast stability, solvency of the execution engine, control reliability. Use as a circuit breaker before submitting bids.
Copy linkWhat to Read Next
- Setting up locations — assign your locations to a zone and to segmentation groups so they're included in the right shape.
- Price signals — pushing and reading prices.
- Flex shape — reading the forecast, segmented shapes, and realized load.
- Volume control — previewing and applying setpoint constraints.
- Status — health signals and circuit breakers.