Cernion Copilot API
The Copilot API from Cernion — 1 operation(s) for copilot.
The Copilot API from Cernion — 1 operation(s) for copilot.
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-copilot-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 Copilot 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: Copilot
paths:
/api/query/search:
get:
summary: Search Cernion energy objects (companies, VDMI, ZNP, grid connections, EDM)
tags:
- Copilot
operationId: searchCernionData
parameters:
- name: q
in: query
required: true
description: Search term. Company/VNB name, VDMI matrix name, ZNP project name, grid operator name, or exact MeLo ID (DE…). German or English.
schema:
type: string
minLength: 1
maxLength: 200
example: Stadtwerke Heidelberg
- name: domain
in: query
required: false
description: Restrict search to a specific data domain. Defaults to "all" which searches all domains in parallel.
schema:
type: string
enum:
- companies
- vnb
- edm
- vdmi
- grid_connection
- znp
- all
default: all
example: vdmi
- name: limit
in: query
required: false
description: Maximum number of results to return (1–25).
schema:
type: integer
minimum: 1
maximum: 25
default: 10
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Search results from matched domains
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: The original search term
example: Stadtwerke Heidelberg
domain:
type: string
enum:
- companies
- vnb
- edm
- vdmi
- grid_connection
- znp
- all
example: all
totalResults:
type: integer
example: 2
results:
type: array
items:
type: object
properties:
id:
type: string
description: Unique identifier within the domain
example: 550e8400-e29b-41d4-a716-446655440000
title:
type: string
description: Primary display name
example: Stadtwerke Heidelberg GmbH & Co. KG
excerpt:
type: string
description: One-line context string with key attributes
domain:
type: string
description: Source domain of this result
enum:
- companies
- edm
- vdmi
- grid_connection
- znp
type:
type: string
description: Object type within the domain
example: company
status:
type:
- string
- 'null'
description: Lifecycle or decision status of the object
example: active
url:
type: string
description: API path to retrieve the full record
example: /api/companies/550e8400-e29b-41d4-a716-446655440000
metadata:
type: object
description: Domain-specific structured attributes
required:
- id
- title
- excerpt
- domain
- type
- status
- url
required:
- query
- domain
- totalResults
- results
examples:
companyHit:
summary: Company result
value:
query: Stadtwerke Heidelberg
domain: all
totalResults: 1
results:
- id: 550e8400-e29b-41d4-a716-446655440000
title: Stadtwerke Heidelberg
excerpt: 'Stadtwerke Heidelberg GmbH & Co. KG · VNB · BDEW 9900277000000 · 2 Marktpartner · Status: active'
domain: companies
type: company
status: active
url: /api/companies/550e8400-e29b-41d4-a716-446655440000
metadata:
memberCount: 2
hasVnb: true
vdmiHit:
summary: VDMI matrix result
value:
query: Netzanschluss
domain: vdmi
totalResults: 1
results:
- id: abc123
title: Netzanschluss-Genehmigung PV
excerpt: 'Prozesstyp: standard · Nominierung: pending'
domain: vdmi
type: matrix
status: active
url: /api/vdmi/abc123
metadata:
processType: standard
nominationStatus: pending
evidenceCount: 2
gridConnectionHit:
summary: Grid connection validation result
value:
query: STROMDAO Netze
domain: grid_connection
totalResults: 1
results:
- id: a1b2c3d4-1234-5678-90ab-cdef12345678
title: Netzanschluss-Validierung · STROMDAO Netze
excerpt: 'Entscheidung: GO_CONDITIONAL · 2026-03-30'
domain: grid_connection
type: validation
status: GO_CONDITIONAL
url: /api/grid-connection/validations/a1b2c3d4-1234-5678-90ab-cdef12345678
metadata:
gridOperatorName: STROMDAO Netze
findingsCount: 3
createdAt: '2026-03-30T10:00:00Z'
noResults:
summary: No results
value:
query: nonexistent
domain: all
totalResults: 0
results: []
'400':
description: Validation error — q is missing or too long, limit out of range
content:
application/json:
schema:
type: object
properties:
name:
type: string
example: ValidationError
message:
type: string
description: 'Search across Cernion energy management data for use in Microsoft 365 Copilot, OpenAPI plugins, and connected integrations.
**Supported domains**:
- **companies** — Search company entities (Stadtwerke, Konzernverbund) by name. Returns BDEW codes, market roles, member count.
- **vnb** — Narrow search to companies with a Verteilnetzbetreiber (VNB) market role.
- **edm** — Look up a Messlokalisation (MeLo) by its exact DE-prefixed ID.
- **vdmi** — Search VDMI responsibility matrix instances by name, scope, or process type.
- **grid_connection** — Search past grid connection validation reports by operator name or decision.
- **znp** — Search Zielnetzplanung projects by name.
- **all** (default) — Searches all domains in parallel.
Each result carries **domain**, **type**, **id**, **title**, **excerpt**, **status**, and **url** pointing to the detail endpoint for that object.
**Performance**: Deterministic, < 300 ms. Does not invoke any external API or LLM.
**For complex natural-language queries** (e.g. "PV-Kapazität in Bayern") use POST /ask instead.'
post:
summary: Search Cernion data with a JSON request body
tags:
- Copilot
operationId: searchCernionDataBody
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Search results from matched domains
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: The original search term
domain:
type: string
enum:
- companies
- vnb
- edm
- vdmi
- grid_connection
- znp
- all
totalResults:
type: integer
results:
type: array
items:
type: object
required:
- query
- domain
- totalResults
- results
'400':
description: Validation error
description: Search Cernion entities from Copilot Studio. Provide q as the search term, optionally domain and limit. Read-only.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
q:
type: string
minLength: 1
maxLength: 200
description: Required search term, such as a city, company, VNB, VDMI matrix, ZNP project, grid operator, or MeLo ID.
example: Wiesloch
domain:
type: string
enum:
- companies
- vnb
- edm
- vdmi
- grid_connection
- znp
- all
default: all
description: Optional search domain. Use vnb to find distribution grid operators.
example: vnb
limit:
type: integer
minimum: 1
maximum: 25
default: 10
description: Optional maximum number of results.
example: 5
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
required:
- q
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.'