Cernion Project files API
The Project files API from Cernion — 5 operation(s) for project files.
The Project files API from Cernion — 5 operation(s) for project files.
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-project-files-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 Project files 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: Project files
paths:
/api/project-file:
post:
summary: Create a durable tenant project file
tags:
- Project files
operationId: project_file_create
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
minLength: 1
maxLength: 300
example: Example project
members:
type: array
items:
type: string
example: []
projectRefs:
type: array
example:
- caseId: example-case
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
required:
- title
examples:
project:
summary: Example project
value:
title: Example project
members: []
projectRefs:
- caseId: example-case
example:
title: Example project
members: []
projectRefs:
- caseId: example-case
get:
summary: List visible tenant project files
tags:
- Project files
operationId: project_file_list
parameters:
- name: routingOnly
in: query
schema:
type: boolean
example: false
example: false
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: array
items:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
/api/project-file/:projectId:
get:
summary: Get a visible tenant project file
tags:
- Project files
operationId: project_file_get
parameters:
- name: projectId
in: path
required: true
schema:
type: string
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
patch:
summary: Update project title, members and structural refs
tags:
- Project files
operationId: project_file_update
parameters:
- name: projectId
in: path
required: true
schema:
type: string
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
minLength: 1
maxLength: 300
example: Example project
members:
type: array
items:
type: string
example: []
projectRefs:
type: array
example:
- caseId: example-case
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
token:
type: string
description: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.
examples:
project:
summary: Example project
value:
title: Example project
members: []
projectRefs:
- caseId: example-case
example:
title: Example project
members: []
projectRefs:
- caseId: example-case
delete:
summary: Delete a project file through acknowledged audited cleanup
tags:
- Project files
operationId: project_file_delete
parameters:
- name: projectId
in: path
required: true
schema:
type: string
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
properties:
deleted:
type: boolean
projectId:
type: string
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
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.
/api/project-file/administration-overview:
get:
summary: Read-only administration inventory with advisory deletion eligibility
tags:
- Project files
operationId: project_file_administrationOverview
parameters:
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
required:
- safetyClass
- advisory
- projects
properties:
safetyClass:
type: string
enum:
- read_only_governance_projection
advisory:
type: boolean
enum:
- true
projects:
type: array
items:
type: object
additionalProperties: false
required:
- projectId
- title
- lifecycle
- updatedAt
- responsibility
- stats
- requiredClearance
- linkedCaseCount
- linkedConversationCount
- deletionState
- failedCleanupCount
- deletionEligibility
- blockers
- nextGate
properties:
projectId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
- unknown
updatedAt:
type: string
responsibility:
type: object
additionalProperties: false
required:
- projection
- grantsAuthority
- createdBy
- members
properties:
projection:
type: string
enum:
- legacy_responsibility_projection
grantsAuthority:
type: boolean
enum:
- false
createdBy:
type: string
members:
type: array
items:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
requiredClearance:
type: array
items:
type: string
linkedCaseCount:
type: integer
minimum: 0
linkedConversationCount:
type: integer
minimum: 0
deletionState:
type: string
enum:
- none
- pending
- incomplete
- unknown
failedCleanupCount:
type: integer
minimum: 0
deletionEligibility:
type: string
enum:
- not_eligible
- policy_definition_required
- blocked_incomplete_cleanup
- human_review_required
blockers:
type: array
items:
type: string
nextGate:
type: string
enum:
- human_policy_design_review
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
/api/project-file/refs:
get:
summary: List visible project refs for a case or conversation
tags:
- Project files
operationId: project_file_forReference
parameters:
- name: caseId
in: query
schema:
type: string
example: caseId-example
example: caseId-example
- name: conversationId
in: query
schema:
type: string
example: conversationId-example
example: conversationId-example
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: array
items:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
/api/project-file/:projectId/archive:
post:
summary: Archive a project file and exclude it from routing
tags:
- Project files
operationId: project_file_archive
parameters:
- name: projectId
in: path
required: true
schema:
type: string
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
example: 7aa2b3f9-22dc-4fd2-8722-a94dc16cab79
- $ref: '#/components/parameters/TokenQuery'
responses:
'200':
description: Tenant-scoped project result
content:
application/json:
schema:
type: object
required:
- projectId
- tenantId
- title
- lifecycle
- requiredClearance
- createdBy
- stats
- createdAt
- updatedAt
properties:
projectId:
type: string
tenantId:
type: string
title:
type: string
lifecycle:
type: string
enum:
- ingesting
- ready
- degraded
- archived
requiredClearance:
type: array
items:
type: string
createdBy:
type: string
members:
type: array
items:
type: string
projectRefs:
type: array
items:
type: object
properties:
caseId:
type: string
conversationId:
type: string
stats:
type: object
properties:
files:
type: integer
minimum: 0
bytes:
type: integer
minimum: 0
datasets:
type: integer
minimum: 0
nodes:
type: integer
minimum: 0
edges:
type: integer
minimum: 0
deletion:
type: object
properties:
status:
type: string
enum:
- pending
- incomplete
failedHandlers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
'404':
description: Project absent or invisible to the authenticated principal
'409':
description: Project archived or deletion in progress
'503':
description: Deletion incomplete; retry after cleanup recovery
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.'