Cernion Integration Hub API
Token management and integration helpers
Token management and integration helpers
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-integrationhub-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 Integration Hub 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: IntegrationHub
description: Token management and integration helpers
paths:
/api/tokens:
get:
summary: List known tenant IDs
tags:
- IntegrationHub
operationId: token_manager_list
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: List of tenant IDs
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
tenants:
type: array
items:
type: string
example:
- stadtwerk-a
- stadtwerk-b
count:
type: integer
example: 2
description: Returns all unique tenantIds that appear in stored tokens. Requires full-access scope. Empty list when no tenant-scoped tokens exist.
post:
summary: Create API token
tags:
- IntegrationHub
operationId: token_manager_create
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- tenantId
- userId
properties:
name:
type: string
example: Power BI Connector
scope:
type: string
enum:
- read-only
- full-access
default: read-only
example: read-only
tenantId:
type: string
example: stadtwerk-a
userId:
type: string
example: svc:powerbi-connector
scopes:
type: array
items:
type: string
example:
- rundeck-read
- rundeck-dry-run
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
readOnly:
summary: Create a read-only token
value:
name: Power BI Connector
scope: read-only
tenantId: stadtwerk-a
userId: svc:powerbi-connector
fullAccess:
summary: Create a full-access token
value:
name: Admin Token
scope: full-access
tenantId: stadtwerk-a
userId: admin
/api/tokens/:id:
delete:
summary: Revoke API token
tags:
- IntegrationHub
operationId: token_manager_revoke
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:
id:
type: string
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
required: []
/api/tokens/verify:
post:
summary: Verify API token
tags:
- IntegrationHub
operationId: token_manager_verify
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
requestBody:
content:
application/json:
schema:
type: object
required:
- token
properties:
token:
type: string
example: ck_abc123...
method:
type: string
example: GET
default: null
path:
type: string
example: /api/tokens
default: null
trackUsage:
type: boolean
default: false
example: false
examples:
basic:
summary: Verify a token
value:
token: ck_abc123...
method: GET
path: /api/tokens
/api/tokens/tenants:
get:
summary: List known tenant IDs
tags:
- IntegrationHub
operationId: getApiTokensTenants
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: List of tenant IDs
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
tenants:
type: array
items:
type: string
example:
- stadtwerk-a
- stadtwerk-b
count:
type: integer
example: 2
description: Returns all unique tenantIds that appear in stored tokens. Requires full-access scope. Empty list when no tenant-scoped tokens exist.
x-operation-id-source: normalized
x-operation-id-original: token_manager_list
/api/vnb-monitor/thresholds:
get:
summary: Get active VNB monitor alert thresholds
tags:
- IntegrationHub
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:
- IntegrationHub
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:
- IntegrationHub
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.
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.'