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 the vault (generated by pnpm run setup). 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.