Cernion Evidence Router API
The Evidence Router API from Cernion — 1 operation(s) for evidence router.
The Evidence Router API from Cernion — 1 operation(s) for evidence router.
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-evidence-router-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 Evidence Router 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: Evidence Router
paths:
/api/evidence-router/route:
post:
summary: Recommend read-only evidence endpoints for a request (never executes, never…
tags:
- Evidence Router
operationId: evidenceRouterRoute
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Evidence Router response — recommendation, never an executed result or final answer.
content:
application/json:
schema:
type: object
required:
- success
- resolved
- requiredEvidenceTypes
- recommendedEndpoints
- coverage
- nextStep
properties:
success:
type: boolean
resolved:
type: object
properties:
kind:
type: string
example: evidence_plan
source:
type: string
example: evidence_router
requiredEvidenceTypes:
type: array
items:
type: string
recommendedEndpoints:
type: array
items:
type: object
properties:
purpose:
type: string
method:
type: string
path:
type: string
query:
type: object
additionalProperties: true
resultKind:
type: string
semanticFacts:
type: array
items:
type: string
freshness:
type: string
granularity:
type: string
timeRangeSupport:
type: boolean
requiredInputs:
type: array
items:
type: string
optionalInputs:
type: array
items:
type: string
policy:
type: object
properties:
readOnly:
type: boolean
sideEffects:
type: string
tenantScoped:
type: boolean
externalSideEffects:
type: boolean
coverage:
type: object
properties:
coveredEvidenceTypes:
type: array
items:
type: string
missingEvidenceTypes:
type: array
items:
type: string
noSubstitution:
type: boolean
example: true
nextStep:
type: string
description: 'Infers which evidence type(s) (resultKind, e.g. time_series, asset_table, market_signal) the request needs, then matches them against a curated read-only endpoint catalog. Recommends one or more approved read-only endpoints with fachliche result semantics, and reports coverage/missing evidence types. Never substitutes an unrelated endpoint when the required evidence type is unavailable (coverage.noSubstitution is always true). Never mutates state, never creates process side effects, never synthesizes the final user-facing answer — that remains the responsibility of the consuming agent/orchestrator. Distinct from the Process Intake / Write Boundary contract (POST /api/copilot-process/intents): this action only ever recommends GET/POST read-only lookups, never process/write intents.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- question
properties:
question:
type: string
minLength: 1
maxLength: 8000
description: Natural-language request describing the evidence needed.
example: Wie hoch ist die CO2-Intensität in den nächsten 24 Stunden in 69168?
context:
type: object
additionalProperties: true
description: Optional canonical input values (location, dateFrom, dateTo, assetType, ...).
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
timeSeries:
summary: Time-series / CO2 evidence request
value:
question: Wie hoch ist die CO2-Intensität in den nächsten 24 Stunden in 69168?
context:
location: '69168'
assetTable:
summary: Asset-table evidence request
value:
question: Liste aller Solaranlagen in 69168
context:
assetType: solar
location: '69168'
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.'