Cernion Finance Agent API
Deterministic finance/regulatory analysis for VNBs (v0.40). Performs query planning, ontology-aware RAG retrieval, L1/L2 evidence arbitration, and guarded synthesis with audit trail.
Deterministic finance/regulatory analysis for VNBs (v0.40). Performs query planning, ontology-aware RAG retrieval, L1/L2 evidence arbitration, and guarded synthesis with audit trail.
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-finance-agent-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 Finance Agent 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: Finance Agent
description: Deterministic finance/regulatory analysis for VNBs (v0.40). Performs query planning, ontology-aware RAG retrieval, L1/L2 evidence arbitration, and guarded synthesis with audit trail.
paths:
/api/finance-agent/analyze:
post:
summary: Analyze finance/regulatory questions with evidence-bound synthesis
tags:
- Finance Agent
operationId: finance_agent_analyze
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Finance analysis with evidence list and guarded synthesis
description: 'Deterministic finance workflow for VNBs: query planning → knowledge-rag retrieval → L1/L2 evidence arbitration → guarded synthesis. Default mode is rule_plus_hyde. No claim is emitted without source evidence.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- query
properties:
query:
type: string
example: Wie verhalten sich CAPEX, OPEX und TOTEX je 1 EUR Investition in der 5. Regulierungsperiode?
mode:
type: string
enum:
- rule_only
- rule_plus_hyde
default: rule_plus_hyde
profileId:
type: string
description: Optional CYA profile id to inject target layer awareness into retrieval planning.
example: stadtwerk_regulierung
topK:
type: integer
minimum: 2
maximum: 20
default: 6
minScore:
type: number
minimum: 0
maximum: 1
default: 0.35
includeTrace:
type: boolean
default: false
sessionId:
type: string
description: Optional session identifier for A2A/memory-aware finance analysis.
example: finance-session-2026-05-04
datapointContext:
type: array
description: Optional list of datapoint names to preload as L1 working memory facts.
items:
type: string
default: []
example:
- finance-capex-baseline-2025
- finance-interest-rate-history
includeMemoryContext:
type: boolean
default: true
includeA2AContext:
type: boolean
default: true
includeDatapointsContext:
type: boolean
default: true
contextLimit:
type: integer
minimum: 1
maximum: 20
default: 5
persistMemory:
type: boolean
default: true
persistDatapoints:
type: boolean
default: false
description: Persist derived finance scenario output as datapoint when calculations are performed.
allowHypotheticals:
type: boolean
default: false
description: Allow hypothetical scenario synthesis if no L1 evidence is found after multi-hop retrieval.
collection:
type: string
default: cernion_knowledge_v1
description: Optional knowledge collection name for RAG retrieval. Defaults to central Landside collection cernion_knowledge_v1. Tenant/custom collections are only used when explicitly provided.
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
default:
value:
query: Wie verhalten sich CAPEX, OPEX und TOTEX je 1 EUR Investition in der 5. Regulierungsperiode?
mode: rule_plus_hyde
profileId: stadtwerk_regulierung
topK: 6
minScore: 0.35
includeTrace: false
sessionId: finance-session-2026-05-04
datapointContext:
- finance-capex-baseline-2025
includeMemoryContext: true
includeA2AContext: true
includeDatapointsContext: true
contextLimit: 5
persistMemory: true
persistDatapoints: false
allowHypotheticals: false
collection: cernion_knowledge_v1
/api/finance-agent/memory:
post:
summary: Store finance session memory
tags:
- Finance Agent
operationId: finance_agent_remember
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
description: Persists session memory in Object Store namespace finance_agent_memory for context-aware follow-up analyses.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- sessionId
- memory
properties:
sessionId:
type: string
example: finance-session-2026-05-04
memory:
type: object
example:
summary: CAPEX/OPEX baseline aus letzter Sitzung
legalReferences:
- §21a EnWG
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
default:
value:
sessionId: finance-session-2026-05-04
memory:
summary: CAPEX/OPEX baseline aus letzter Sitzung
legalReferences:
- §21a EnWG
notes: Hauptfokus auf RP5 und TOTEX-Wirkung.
/api/finance-agent/memory/:sessionId:
get:
summary: Get finance session memory
tags:
- Finance Agent
operationId: finance_agent_memory
parameters:
- name: sessionId
in: path
required: true
schema:
type: string
example: finance-session-2026-05-04
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
description: Returns persisted session memory for the provided session id.
/api/finance-agent/analyses:
get:
summary: List finance analyses
tags:
- Finance Agent
operationId: finance_agent_list
parameters:
- name: status
in: query
required: false
schema:
type: string
example: ok
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: cursor
in: query
required: false
schema:
type: string
example: eyJvZmZzZXQiOjIwfQ==
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
example: 0
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
description: Returns persisted finance analyses (newest first).
/api/finance-agent/analyses/:id:
get:
summary: Get finance analysis by id
tags:
- Finance Agent
operationId: finance_agent_get
parameters:
- name: id
in: path
required: true
schema:
type: string
example: f8cb0a6b-7f65-4b66-8bae-e8e89aa08877
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
description: Returns a full persisted finance analysis document.
/api/finance-agent/prompts:
get:
summary: Get internal finance prompt templates
tags:
- Finance Agent
operationId: finance_agent_prompts
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
description: Returns internal system prompts used in query planning and synthesis.
/api/finance-agent/benchmark-comparison:
post:
summary: Compare KPI metrics for two VNBs using Layer-0 data
tags:
- Finance Agent
operationId: finance_agent_benchmarkComparison
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: VNB benchmark comparison with hard KPI evidence
description: 'Multi-service orchestrator: resolves both VNBs via marketPartners, fetches EWK benchmark metrics (Anschlussdauer, Digitalisierungsindex, Umsetzungsquote), optionally loads asset portfolios (solar, wind, storage). Returns evidence-based comparison with hard KPI synthesis (no RAG hypotheticals).'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- vnb1Name
- vnb2Name
properties:
vnb1Name:
type: string
example: Netze BW
description: Name of first VNB (grid operator)
vnb2Name:
type: string
example: STROMDAO Netze
description: Name of second VNB (grid operator)
comparisonDimensions:
type: array
items:
type: string
default:
- anschlussdauer
- digitalisierungsindex
- umsetzungsquote
description: EWK dimensions to compare (anschlussdauer, digitalisierungsindex, umsetzungsquote)
includeAssetContext:
type: boolean
default: false
description: If true, includes asset portfolio (solar, wind, storage) for both VNBs
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
default:
value:
vnb1Name: Netze BW
vnb2Name: STROMDAO Netze
comparisonDimensions:
- anschlussdauer
- digitalisierungsindex
- umsetzungsquote
includeAssetContext: true
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.'