Skip to main content

API Reference

AI-Native Enterprise Operating System API

Version: 2.0.0 Base URL: https://api.kosmos.nuvanta-holding.com

Auto-Generated

This documentation is automatically extracted from the OpenAPI schema.

Authentication​

All API requests require authentication using JWT tokens from Zitadel:

curl -X GET "https://api.kosmos.nuvanta-holding.com/api/v1/agents" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Agents​

GET /api/v1/agents​

List agents

Get status of all 11 KOSMOS agents.

Responses:

StatusDescription
200List of agent statuses

GET /api/v1/agents/{id}​

Get agent status

Get detailed status of a specific agent.

Parameters:

NameInTypeRequiredDescription
idpathstringYesAgent ID (e.g., zeus, athena)

Responses:

StatusDescription
200Agent status

GET /api/v1/agents/{id}/metrics​

Get agent metrics

Get performance metrics for an agent.

Responses:

StatusDescription
200Agent metrics

Chat​

POST /api/v1/chat​

Send a message to KOSMOS

Sends a user message and receives AI responses from the agent network.

Request Body:

{
"message": <string>,
"conversation_id": <string>,
"context": <object>,
}

Responses:

StatusDescription
200Successful response
401Unauthorized
429Rate limited

POST /api/v1/chat/stream​

Stream chat response

Stream AI responses using Server-Sent Events.

Responses:

StatusDescription
200SSE stream

Conversations​

GET /api/v1/conversations​

List conversations

Get paginated list of user conversations.

Parameters:

NameInTypeRequiredDescription
pagequeryintegerNoPage number
limitqueryintegerNoItems per page

Responses:

StatusDescription
200List of conversations

POST /api/v1/conversations​

Create conversation

Start a new conversation.

Responses:

StatusDescription
201Conversation created

GET /api/v1/conversations/{id}​

Get conversation

Get conversation details and messages.

Parameters:

NameInTypeRequiredDescription
idpathstringYesConversation UUID

Responses:

StatusDescription
200Conversation details
404Not found

DELETE /api/v1/conversations/{id}​

Delete conversation

Archive a conversation.

Responses:

StatusDescription
204Deleted

Costs​

GET /api/v1/costs/usage​

Get usage costs

Get cost breakdown for current period.

Responses:

StatusDescription
200Cost breakdown

GET /api/v1/costs/limits​

Get cost limits

Get configured cost limits.

Responses:

StatusDescription
200Cost limits

Governance​

GET /api/v1/governance/proposals​

List proposals

Get list of governance proposals.

Responses:

StatusDescription
200List of proposals

POST /api/v1/governance/proposals/{id}/vote​

Cast vote

Cast a Pentarchy vote on a proposal.

Responses:

StatusDescription
200Vote recorded

Knowledge​

GET /api/v1/knowledge/documents​

List documents

Get indexed documents.

Responses:

StatusDescription
200Document list

POST /api/v1/knowledge/documents​

Upload document

Upload and index a new document.

Responses:

StatusDescription
201Document indexed

POST /api/v1/knowledge/search​

Search knowledge base

Semantic search across documents and memories.

Request Body:

{
"query": <string>,
"limit": <integer>,
"filters": <object>,
"include_memories": <boolean>,
}

Responses:

StatusDescription
200Search results

MCP​

GET /api/v1/mcp/servers​

List MCP servers

Get connected MCP servers.

Responses:

StatusDescription
200Server list

GET /api/v1/mcp/{server}/tools​

List MCP tools

Get available tools from an MCP server.

Parameters:

NameInTypeRequiredDescription
serverpathstringYesMCP server name

Responses:

StatusDescription
200List of tools

POST /api/v1/mcp/{server}/call​

Call MCP tool

Execute a tool on an MCP server.

Responses:

StatusDescription
200Tool result

Memory​

GET /api/v1/memory/entities​

List memory entities

Get entities from knowledge graph.

Responses:

StatusDescription
200Entity list

GET /api/v1/memory/relations​

List relations

Get relations between entities.

Responses:

StatusDescription
200Relation list

System​

GET /health​

Health check

Check API health status.

Responses:

StatusDescription
200Healthy

GET /ready​

Readiness check

Check if API is ready to serve requests.

Responses:

StatusDescription
200Ready

GET /metrics​

Prometheus metrics

Get Prometheus-formatted metrics.

Responses:

StatusDescription
200Metrics

Data Models​

ChatRequest​

Request to send a chat message

FieldTypeRequiredDescription
messagestringYesUser message content
conversation_idstringNoOptional existing conversation ID
contextobjectNoAdditional context for the request

ChatResponse​

Response from KOSMOS agents

FieldTypeRequiredDescription
idstringNoMessage ID
conversation_idstringNoConversation ID
contentstringNoAgent response
agent_idstringNoResponding agent
tool_callsarrayNoTools used
cost_usdnumberNoRequest cost

SearchRequest​

Semantic search request

FieldTypeRequiredDescription
querystringYesSearch query
limitintegerNoMax results
filtersobjectNoOptional filters
include_memoriesbooleanNoInclude memory entities

AgentStatus​

Agent status information

FieldTypeRequiredDescription
idstringNoAgent ID
namestringNoAgent name
domainstringNoAgent domain
statestringNoCurrent state
metricsobjectNoPerformance metrics

Proposal​

Governance proposal

FieldTypeRequiredDescription
idstringNoProposal ID
actionstringNoProposed action
estimated_costnumberNoEstimated cost
statusstringNoProposal status
votesarrayNoVotes cast

Rate Limiting​

KOSMOS API implements rate limiting to ensure fair usage:

TierRequests/minBurst
Free6010
Pro30050
Enterprise1000200

Rate limit headers are included in all responses:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200

Error Handling​

All errors follow a consistent format:

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"field": "message",
"reason": "Required field missing"
}
}
}
Error CodeHTTP StatusDescription
UNAUTHORIZED401Missing or invalid authentication
FORBIDDEN403Insufficient permissions
NOT_FOUND404Resource not found
VALIDATION_ERROR422Invalid request data
RATE_LIMITED429Too many requests
COST_EXCEEDED402Cost limit exceeded
INTERNAL_ERROR500Server error

Webhooks​

KOSMOS supports webhooks for async notifications:

{
"event": "conversation.completed",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"conversation_id": "uuid",
"total_cost": 0.05
}
}

SDKs​

Official SDKs are available:

  • Python: pip install kosmos-sdk
  • TypeScript: npm install @kosmos/sdk
  • Go: go get github.com/nuvanta/kosmos-go