The HTTP channel exposes Curia as a REST API with real-time streaming via server-sent events (SSE). It’s built on Fastify and provides both synchronous request/response and asynchronous event streaming.Documentation Index
Fetch the complete documentation index at: https://curia.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/messages | POST | Send a message to Curia |
/api/messages/stream | GET | Subscribe to real-time events via SSE |
/api/health | GET | Health check (no auth required) |
/api/agents/status | GET | Agent status information |
Authentication
All API endpoints (except/api/health) require a Bearer token in the Authorization header:
API_TOKEN value from your .env file. The web app uses session-based authentication with the WEB_APP_BOOTSTRAP_SECRET instead.
Trust level
| Property | Value |
|---|---|
| Trust level | Medium |
| Reasoning | Bearer token authentication — stronger than email but weaker than local access or phone-verified Signal |
Streaming
The SSE endpoint (/api/messages/stream) delivers real-time events as they occur:
- Agent responses
- Skill invocations and results
- System events
When to use the HTTP channel
- Building integrations — connect external tools or services to Curia
- Custom frontends — build a web UI or mobile app that talks to Curia
- Automation — trigger Curia actions from scripts, cron jobs, or other systems
- Webhooks — forward events from external services into Curia for processing
HTTP API reference
Complete endpoint documentation with request/response formats.
How channels work
Channel routing, trust levels, and the dispatch pipeline.