We will be making a series of changes across our interconnection endpoints, live from Thursday, 24 September. No fields have been removed from any response; existing fields keep their name and meaning throughout. In short, there are three changes across this release:
New parameters & response fields: new query parameters and response fields make it easier to identify exactly what a row represents.
One name per border: until now, the same physical border could appear under several different names depending on the provider, or under a name you could not query for. Each border is now published under a single, stable name.
Virtual bidding zones: JAO's virtual bidding zones are now directly queryable, alongside physical bidding zones.
Here is how each applies per impacted endpoint.
Net Transfer Capacities
New parameters & response fields
Parameters:
borderLevel(zone,interconnector, orall- defaultall, today's behaviour) andcounterpartyZone, to keep only the borders between a zone and one counterparty.Response fields:
fromZone/toZone, the border key.
One name per border
zone=FRpreviously returned the France-Italy border three times (FR>IT, FR>IT-NORTH, FR>ITCP); it is now returned once, as FR>IT-NORTH. If you're currently filtering the response on "IT", or query using a retired identifier like ITCP, you will lose that series - you can usecounterpartyZone=IT-NORTHinstead to get the relevant border.zone=DE-LUnow returns 16 borders instead of 6: several DC links, and the BE to DE-LU border, were not previously reachable.
Virtual bidding zones
from/tocan now show a virtual bidding zone name where you previously saw a zone name - for example, the DE-LU to DK1 border now appears as DE-DK1-VH to DK1-DE, with DE-LU/DK1 carried separately infromZone/toZone. Grouping onfromZone/toZonekeeps this series stable regardless.
API response before/after
params="zone": "DE-LU", "horizon": "DayAhead"
// before
{"startDate": "2026-09-01T00:00:00+00:00",
"from": "DE-LU", "to": "DK1", "value": 3500.0, "provider": "entsoe"}
// after
{"startDate": "2026-09-01T00:00:00+00:00",
"from": "DE-DK1-VH", "to": "DK1-DE", "fromZone": "DE-LU", "toZone": "DK1",
"value": 3500.0, "provider": "nordpool"}
Net Positions & Max Net Positions
New parameters & response fields
Parameter:
region(core or Nordic), returns a full domain's bidding zones and virtual bidding zones together.Response fields:
ownerZone,counterpartyZoneandregion- always present, null where they do not apply, so the row shape is unchanged. Values on existing series are unchanged.
Virtual bidding zones
The
zonesparameter now accepts 30 new values - JAO's virtual bidding zones (ALDE, DE-DK1-VH, NO2-NK, and others) - and becomes optional ifregionis provided.
API response before/after
params="zones": "FR", "provider": "jao"
// before
{"startDate": "2026-09-01T00:00:00+00:00",
"zone": "FR", "value": -1676.38, "provider": "jao"}
// after: same value, three new fields
{"startDate": "2026-09-01T00:00:00+00:00",
"zone": "FR", "ownerZone": null, "counterpartyZone": null, "region": "core",
"value": -1676.38, "provider": "jao"}
// after: a virtual bidding zone, which before was rejected as an unknown zone
// params: {"zones": "DE-DK1-VH", "provider": "jao"}
{"startDate": "2026-09-01T00:00:00+00:00",
"zone": "DE-DK1-VH", "ownerZone": "DE-LU", "counterpartyZone": "DK1", "region": "core",
"value": -1261.12, "provider": "jao"}
Commercial Scheduled Exchanges
New parameters & response fields
counterpartyZoneparameter.borderLevelparameter - it controls whether the response includes zone-level exchanges, interconnector-level exchanges (where available), or both. Optional, defaults toall- today's behaviour, so no existing series are affected. Example:borderLevel=all- returns FR-GB exchanges plus FR-IFA, FR-IFA2 and FR-ELECLINK individually. Summing all of these will double-count the GB-FR border.borderLevel=zone- returns only the FR-GB zone-level exchanges. Safe to aggregate.borderLevel=interconnector- excludes the FR-GB zone-level pair and returns the three individual interconnectors breakdowns instead. Safe to aggregate.
API response before/after
params="zones": "FR", "marketType": "DayAhead","borderLevel": "zone", "provider": "rte"
// before: 240 rows. No FR to GB series at all.
{"startDate": "2026-09-01T00:00:00+00:00",
"from": "BE", "to": "FR", "value": 0.0, "provider": "rte"}
// after: 288 rows. FR to GB appears, as the sum of the three cables.
{"startDate": "2026-09-01T00:00:00+00:00",
"from": "FR", "to": "GB", "value": 2061.0, "provider": "rte"}
Full API documentation will be updated once the changes are released. If you have any questions, please reach out to cs@kpler.com.
