Cernion VNB Monitor API
VNB (grid operator) KPI monitoring and alerts
VNB (grid operator) KPI monitoring and alerts
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cernion-de:cernion-de-vnbmonitor-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Cernion Energy Tools VNB Monitor API
version: 0.99.22
description: 'MicroService Agent System for Energy Markets - REST API with AI integration.
CERNION_TOKEN: request at https://cernion.de/ or by email: dev@stromdao.com.
For the public instance at https://api.cernion.de/, create your token at https://cernion.de/cet-token/.'
servers:
- url: https://api.cernion.de
description: API Server
tags:
- name: VNBMonitor
description: VNB (grid operator) KPI monitoring and alerts
paths:
/api/nbp-monitor/:bdewCode:
get:
summary: Get Netzbetreiberprüfungs-Monitor snapshot for a VNB
tags:
- VNBMonitor
operationId: nbp_monitor_snapshot
parameters:
- name: bdewCode
in: path
required: true
schema:
type: string
example: '10002954'
description: BDEW registration number of the grid operator
- name: refresh
in: query
schema:
type: boolean
default: false
description: Force cache bypass and re-fetch from MaStR
- name: lang
in: query
schema:
type: string
enum:
- de
- en
default: de
description: Language for labels and disclaimers
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: NBP Monitor snapshot with KPI 1/2/3
content:
application/json:
schema:
type: object
description: 'Aggregates MaStR installations in status 2955 (NetzbetreiberPrüfung) into three KPIs: Volume (kWp by age class), Risk (€ billing uncertainty), Process (VNB vs. external).'
/api/vnb-monitor/:bdewCode:
get:
summary: Get full KPI snapshot for a single VNB
tags:
- VNBMonitor
operationId: vnb_monitor_snapshot
parameters:
- name: bdewCode
in: path
required: true
schema:
type: string
example: '10002954'
description: BDEW registration number
- name: refresh
in: query
schema:
type: boolean
default: false
description: Force cache bypass and re-fetch all KPIs
- name: alerts
in: query
schema:
type: boolean
default: true
description: Include alerts array in response
- name: lang
in: query
schema:
type: string
enum:
- de
- en
default: de
description: Language for alert messages
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Full KPI snapshot
content:
application/json:
schema:
type: object
properties:
schemaVersion:
type: string
bdewCode:
type: string
timestamp:
type: string
format: date-time
identity:
type: object
ewk:
type: object
mastr:
type: object
market:
type: object
alerts:
type: array
alertSummary:
type: object
'404':
description: VNB not found
'503':
description: All data sources unavailable
description: Returns aggregated KPIs from EWK, MaStR, and market data for a German grid operator (VNB). Results are cached with a configurable TTL.
/api/vnb-monitor:
get:
summary: Get KPI snapshots for multiple VNBs
tags:
- VNBMonitor
operationId: vnb_monitor_snapshotMulti
parameters:
- name: bdewCodes
in: query
required: true
schema:
type: string
example: 10002954,9900386000008
description: Comma-separated BDEW codes
- name: refresh
in: query
schema:
type: boolean
default: false
description: Force cache bypass
- name: lang
in: query
schema:
type: string
enum:
- de
- en
default: de
description: Language for alert messages
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Array of KPI snapshots
content:
application/json:
schema:
type: array
items:
type: object
description: Returns aggregated KPIs for multiple grid operators in a single call.
/api/vnb-monitor/:bdewCode/alerts:
get:
summary: Get only alerts for a VNB
tags:
- VNBMonitor
operationId: vnb_monitor_alerts
parameters:
- name: bdewCode
in: path
required: true
schema:
type: string
example: '10002954'
description: BDEW registration number
- name: refresh
in: query
schema:
type: boolean
default: false
description: Force cache bypass
- name: lang
in: query
schema:
type: string
enum:
- de
- en
default: de
description: Language for alert messages
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Alerts array with summary
content:
application/json:
schema:
type: object
properties:
bdewCode:
type: string
timestamp:
type: string
format: date-time
alertCount:
type: number
criticalCount:
type: number
alerts:
type: array
description: Returns only the alerts array — optimized for Power Automate polling.
/api/vnb-monitor/:bdewCode/cache/clear:
post:
summary: Clear cache for a VNB
tags:
- VNBMonitor
operationId: vnb_monitor_clearCache
parameters:
- name: bdewCode
in: path
required: true
schema:
type: string
example: '10002954'
description: BDEW registration number
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Cache cleared
content:
application/json:
schema:
type: object
properties:
bdewCode:
type: string
cleared:
type: boolean
message:
type: string
description: Removes the cached snapshot for a VNB, forcing a fresh fetch on next request.
requestBody:
required: false
content:
application/json:
schema:
type: object
description: Empty object
properties:
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
empty:
summary: Empty request body
value: {}
/api/vnb-monitor/thresholds:
get:
summary: Get active VNB monitor alert thresholds
tags:
- VNBMonitor
operationId: vnb_monitor_getThresholds
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Current thresholds
content:
application/json:
schema:
type: object
properties:
source:
type: string
thresholds:
type: object
put:
summary: Set VNB monitor alert thresholds (full replace)
tags:
- VNBMonitor
operationId: vnb_monitor_setThresholds
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
thresholds:
type: string
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
required: []
delete:
summary: Reset VNB monitor alert thresholds to defaults
tags:
- VNBMonitor
operationId: vnb_monitor_resetThresholds
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
/api/vnb-monitor/:bdewCode/nbp-monitor:
get:
summary: Get Netzbetreiberprüfungs-Monitor snapshot for a VNB
tags:
- VNBMonitor
operationId: getApiVnbMonitor:bdewCodeNbpMonitor
parameters:
- name: bdewCode
in: path
required: true
schema:
type: string
example: '10002954'
description: BDEW registration number of the grid operator
- name: refresh
in: query
schema:
type: boolean
default: false
description: Force cache bypass and re-fetch from MaStR
- name: lang
in: query
schema:
type: string
enum:
- de
- en
default: de
description: Language for labels and disclaimers
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: NBP Monitor snapshot with KPI 1/2/3
content:
application/json:
schema:
type: object
description: 'Aggregates MaStR installations in status 2955 (NetzbetreiberPrüfung) into three KPIs: Volume (kWp by age class), Risk (€ billing uncertainty), Process (VNB vs. external).'
x-operation-id-source: normalized
x-operation-id-original: nbp_monitor_snapshot
components:
parameters:
TokenQuery:
name: token
in: query
required: false
schema:
type: string
description: 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.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Optional Cernion MCP token. If not provided, falls back to CERNION_TOKEN from environment. Request token at https://cernion.de/ or by email: dev@stromdao.com.'