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.

Operations 7

POST /api/finance-agent/analyze Analyze finance/regulatory questions with evidence-bound synthesis #
POST /api/finance-agent/memory Store finance session memory #
GET /api/finance-agent/memory/:sessionId Get finance session memory #
GET /api/finance-agent/analyses List finance analyses #
GET /api/finance-agent/analyses/:id Get finance analysis by id #
GET /api/finance-agent/prompts Get internal finance prompt templates #
POST /api/finance-agent/benchmark-comparison Compare KPI metrics for two VNBs using Layer-0 data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cernion-de:cernion-de-finance-agent-api"
All apis
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.

Get an API 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 Specification

cernion-de-finance-agent-api-openapi.yml Raw ↑
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.'