Assets

List all installations by grid operator or location (all or selected types)

Retrieves installations of all or selected types from MaStR by grid operator context (vnbName, bdewCode, gridOperatorId) or directly by location (city/region/postal code). Default: Only active installations (status 35). Ideal for portfolio overview and location-based queries across asset types. Count semantics: this endpoint returns an array. For questions like "How many ...", use the number of returned items (array.length). Example: /api/assets/all?location=Heidelberg&types=solar,wind,storage

get/api/assets/all

Request

  • Base URL: https://api.cernion.de
  • URL: https://api.cernion.de/api/assets/all
  • Auth: none declared

Query parameters

vnbNamestring
Example:Netze BW

Name of grid operator

bdewCodestring
Example:4041407000008

BDEW code (13 digits)

gridOperatorIdstring
Example:SNB948311994307

MaStR grid operator ID

locationstring
Example:Baden-Württemberg

City/region/postal code for location-based search (e.g. "Mainz", "69115", "Baden-Württemberg"). Live MaStR filtering only supports an exact 5-digit postal code; a free-text city/region name that cannot be resolved to one does NOT return a bare empty array — the response includes a locationResolutionWarning instead (see response schema). Pass the postal code directly when known.. Useful for cross-type location queries like "Wie viele Anlagen gibt es in <Ort>?".

commissioningYearnumber
Example:2020

Commissioning year

minCapacityKWnumber
Example:100

Min. capacity in kW

maxCapacityKWnumber
Example:10000

Max. capacity in kW

limitnumber
Example:1000

Max. number of results per type. Default: 1,000. Use a high value (e.g. 1000000) or all for the complete result set — the server paginates internally.

offsetnumber

Pagination offset — skip N records to fetch the next page (applied per type).

redispatchboolean
Example:true

Redispatch 2.0 filter (≥100kW)

typesstring
Example:solar,wind,storage

Comma-separated list of installation types. Default: all types (solar,wind,storage,biomass,hydro,combustion)

operationalStatusstring
Example:35

Operational status: 31=Planned, 35=In operation (default), 37=Temporarily decommissioned, 38=Permanently decommissioned, all=All statuses

netzbetreiberPruefungStatusstring
Example:2955

Filter by grid operator verification status code(s), comma-separated. Values: 2954=Geprüft ✅, 2955=In Prüfung ⏳, 3075=Nicht vorgesehen.

format'json' | 'csv' | 'xlsx'

Output format (default: json)

includeNapDataboolean

Include NAP data (MeLo, voltage level, bottleneck capacity). Default: true

updatedAfterstring date
Example:2026-03-24

ISO date — only installations with lastUpdatedAt (DatumLetzteMeldung) after this date.

tokenstring

Optional Cernion MCP token as URL query parameter. If provided, it overrides CERNION_TOKEN for this request. Prefer Authorization Bearer header in production to reduce token exposure in URLs/logs.

Response

Array of matching installations, OR — when location was a free-text city/region that could not be resolved to a postal code (#274) — an object reporting that resolution failure instead of a bare empty array. A bare [] always means a genuinely empty, location-resolved result set; count/aggregation for the array case can be derived via response length (array.length).

OR

Example response

{
  "success": true,
  "locationResolutionWarning": "Location \"Meckesheim\" could not be resolved to a postal code. The live MaStR backend only supports exact 5-digit postleitzahl filtering, not free-text city/region search. Pass \"postleitzahl\" directly, or resolve the postal code first (e.g. via grid-operations.marketPartners or OSM Geo)."
}

Changes

No recorded changes to this operation across all 2 revisions of this API.