Skip to content
GridCapacityAPI.com

The data

The capacity model

A capacity record is one value, with everything needed to read it correctly. This page lists every field and every member of every vocabulary.

One record, one series

A record is the current value of a series: one dimension of one operator record, fixed for its whole life — asset, direction, technology, availability type, firmness, curtailment band, horizon, scenario, season, variant, unit and methodology. When the operator republishes, the series gets a new value and the old one moves to its history. id (cap_…) identifies the value, series_id (cs_…) the series.

Every vocabulary below is closed, and every one has an unknown (or equivalent) member. That is deliberate. The failure it prevents is an adapter guessing: mapping one operator’s “reserved” onto another’s “allocated” because the words are close, or tagging a figure battery because the page mentions storage. When the source does not say, the answer is unknown, and records with unknown dimensions are returned only with comparability=raw.

direction

direction values
ValueMeaning
injectionPower flowing into the grid at the connection: generation, or storage discharging.
offtakePower drawn from the grid at the connection: demand, or storage charging. Storage appears once per direction, because operators publish the two separately and they are rarely equal.
bidirectionalThe operator publishes one figure that applies to both directions at once.
unknownThe source does not say which way the figure applies. Returned only with comparability=raw.

technology

Tagged only when the operator distinguishes the technology itself. A generic injection figure is generic_generation, however solar the region is.

technology values
ValueMeaning
generic_generationA generation figure the operator does not split by technology. Not solar_pv, however solar the region is.
generic_loadA demand figure the operator does not split by technology.
solar_pvThe operator publishes a figure for solar PV.
wind_onshoreThe operator publishes a figure for onshore wind.
wind_offshoreThe operator publishes a figure for offshore wind.
batteryThe operator publishes a figure for battery storage.
storage_otherStorage the operator names but not as batteries.
hydrogenThe operator publishes a figure for hydrogen.
electrolyserThe operator publishes a figure for electrolysers.
ev_chargingThe operator publishes a figure for vehicle charging.
data_centerThe operator publishes a figure for data centres.
otherA technology the operator names that fits no member above.
unknownThe source does not say. Returned only with comparability=raw.

capacity.type — what the number counts

availability types
ValueMeaning
availableWhat remains, by the operator's own method, after whatever that method subtracts. The methodology's includes_* flags say what was subtracted.
totalThe operator's total hosting capacity before anything is subtracted. Not a headroom figure: what is left for a new connection is a different number, when the operator publishes it at all.
requestedCapacity asked for in connection requests the operator has received and not yet decided.
reservedCapacity set aside for accepted requests that are not yet connected. Kept distinct from allocated and pre-reserved wherever the operator distinguishes the stages.
allocatedCapacity assigned to specific parties under the operator's process.
pre_reservedAn earlier stage than reserved in operators that publish one (Elia, for example).
connectedCapacity of installations already connected.
waitlistedCapacity in the operator's queue for when capacity becomes available.
contractedCapacity under existing connection or transport contracts.
installedInstalled capacity at the asset, such as a transformer rating, published beside headroom figures.
unknownThe source does not say what the figure counts. Returned only with comparability=raw.

total is not available

total is the operator’s whole hosting capacity before anything is subtracted. available is what remains by the operator’s own method — and that method decides what “remains” means, which is why the methodology says whether it takes reserved, allocated and pre-reserved capacity and pending requests into account. The API never computes one from the other: subtracting a queue from a total produces a figure no operator published. The search defaults to availability_type=available; ask for others explicitly.

capacity.qualifier

Some operators publish a bound rather than a number: “more than 10”, “about 5”. The number goes in value and the bound in qualifier (>, <, >=, <= or ~), which is null when the figure is exact. Read the two together: a value of 10 with qualifier > is not a published 10.

capacity.unit and value_mw

units
UnitMeaning
MWMegawatts of active power. value_mw equals value.
kWKilowatts of active power. value_mw is value / 1000.
MVAMegavolt-amperes of apparent power. value_mw is null: converting needs a power factor the operator did not publish.
kVAKilovolt-amperes of apparent power. value_mw is null, for the same reason.
AAmperes, a current limit. value_mw is null.
kAKiloamperes, a current limit. value_mw is null.
GWhEnergy over a period, not capacity. value_mw is null.
countA number of things, such as requests in a queue. value_mw is null.
percentA share, such as a curtailment level. value_mw is null.
statusA categorical value: see capacity.status and the operator's own label in capacity.status_label. value is null.

Why MVA is never converted

MW is active power; MVA is apparent power. Between them sits the power factor, which depends on the connection and which operators publishing MVA do not state. Assuming one — 0.9, 0.95 — would print a number with the authority of the operator that the operator never published, and a customer reading 100 MW where the operator wrote 100 MVA has been told something false.

  • value_mw is set for MW (equal to value) and kW (divided by 1,000), and is null for everything else.
  • min_capacity_mw and max_capacity_mw filter on value_mw, so an MVA record can never satisfy them.
  • To filter in another unit, name it: unit=MVA&min_capacity=10.

capacity.status — categorical values

Some operators publish a traffic light rather than a number. Those records have unit: "status", value: null, a normalised status, and the operator’s own words in status_label — because “orange” at one operator is not “orange” at another.

status values
ValueMeaning
availableThe operator's map says capacity is available.
limitedThe operator's map says capacity is limited.
unavailableThe operator's map says no capacity is available.
waitlistThe operator operates a waiting list for this area.
under_studyThe operator is studying the area and publishes no verdict.
unknownThe operator's category has no equivalent above. Its own label is still in status_label.

firmness and curtailment

firmness values
ValueMeaning
firmOffered without curtailment.
flexibleOffered with a stated maximum curtailment, carried in curtailment.max_annual_percent (Elia's 5, 10 and 20 % bands, for example).
conditionalOffered subject to conditions other than a curtailment band, such as a non-firm connection agreement.
unknownThe source does not say whether the figure is firm.

curtailment is { max_annual_percent } for flexible capacity and null otherwise. A flexible offer with at most 5 % curtailment a year is a different series from the same asset’s firm offer, and from its 10 % offer.

horizon, scenario, season, variant

horizon.typeMeaning
snapshotThe situation now, as last published. year and label are null.
target_yearA future year the operator publishes for, in year; label carries the operator's own name for it, such as Y+2.
periodA stated period, described in label.
  • scenario: a forecast pathway, such as a future-energy-scenarios name. null when the operator publishes a single view.
  • season: winter or summer where the operator publishes seasonal ratings.
  • variant: the operator’s own discriminator, such as mv_30kv, where a record splits further.
  • details: qualifiers the operator states about the value — a limiting factor, an “at voltage ceiling” flag — verbatim.

methodology

FieldMeaning
id, titleThe methodology, versioned per source. GET /v1/methodologies/{id} has its summary, disclaimers and documentation link.
capacity_basisHow the figure comes about: operator_calculated (the operator computed it), operator_published (the operator states it, such as a queue or a rating), derived, or unknown.
network_stateThe network condition the operator studied: n (intact), n_minus_1 (with an outage), n_and_n_minus_1, or unknown.
bindingWhether the operator treats the figure as binding. The flag repeats what the operator says; decision_context repeats it on every record.
non_additiveWhen true, figures must not be summed across assets: they share upstream constraints.
includes_reserved, includes_allocated, includes_pre_reserved, includes_pending_requestsWhether the operator's method takes each category into account: for an available figure, whether it is already deducted; for a contracted figure, whether it is counted in. null means the operator does not say, and it is never guessed.
comparability_classRecords may be compared side by side only within one class. See comparability.

asset

Every record embeds its asset: our own opaque id (the prefix names the type, so a zone id pasted where a substation id belongs fails as invalid_parameter), the operator, the name as published, voltage, network level and location.

asset types
asset.typeMeaning
substationA substation, at the voltage the source gives.
nodeA network node, as the operator models it.
busbarA busbar within a substation.
feederA feeder or circuit.
transformerA transformer.
congestion_zoneAn area the operator declares congested or constrained.
connection_pointA point the operator offers for connection.
grid_cellA cell of a regular grid the operator publishes on.
areaA supply area, often defined by postcodes rather than geometry.

location.precision

We never improve on the precision an operator gave. Some operators shift or remove substation coordinates for public-safety reasons; those stay shifted or removed, and are never re-derived from another dataset.

precision values
ValueMeaning
exactCoordinates as the operator published them.
approximateThe operator gives an approximate position.
obfuscatedThe operator deliberately shifts positions, often for public-safety reasons. We never correct it from another source.
municipalityOnly the municipality is known; the point is its centre.
regionOnly the region is known; the point is its centre.
noneThe operator publishes no location.
unknownThe precision is not stated.

freshness, provenance, access, decision_context

  • freshness: the operator’s effective date, our retrieval time, when we last confirmed it unchanged, and the source’s health. Freshness and history.
  • provenance: the source id, the operator’s own record id, the URL of the publication, the SHA-256 of the payload it came from, the licence and the rights mode.
  • access: granted with the attribution to show, or withheld with the reason and the operator’s URL. Rights and licensing.
  • decision_context: binding, source_indicative, formal_connection_study_required (always true) and a statement to show people: what the operator’s dataset reports, never that capacity is available to them.