REST API Reference ​
All endpoints are served by the Fastify gateway on port 18790. Dashboard endpoints require Bearer token auth.
Status & Configuration ​
| Method | Path | Description |
|---|---|---|
GET | /api/dashboard/status | Uptime, model, agent, active channel, cron jobs |
GET | /api/dashboard/config | Current config (secrets redacted) |
PUT | /api/dashboard/config | Save new config. Body: { config } |
POST | /api/dashboard/restart | Graceful process restart |
POST | /api/dashboard/reload | Hot-reload config, providers, cron, heartbeat, channels |
GET | /api/dashboard/health | Health with feature toggles and env var status |
GET | /api/dashboard/doctor | Run diagnostic checks |
Model Management ​
| Method | Path | Description |
|---|---|---|
GET | /api/dashboard/model | Current model, aliases, per-agent assignments |
POST | /api/dashboard/model | Set model. Body: { model } -- validated via resolveModelSelection |
Conversations ​
| Method | Path | Params | Description |
|---|---|---|---|
GET | /api/dashboard/conversations | channel? | List telegram/discord conversations |
GET | /api/dashboard/conversations/:id | limit?, offset? | Paginated messages (JSONL) |
Messages ​
| Method | Path | Description |
|---|---|---|
POST | /api/dashboard/messages/send | Send to active channel. Body: { message } |
POST | /api/dashboard/messages/agent | Run through agent. Body: { message, model? } |
Cron Jobs ​
| Method | Path | Params | Description |
|---|---|---|---|
GET | /api/dashboard/cron | List all cron jobs | |
GET | /api/dashboard/cron/prompt-file | path (required) | Read prompt file content |
POST | /api/dashboard/cron/:id/run | Trigger job immediately |
Memory & Templates ​
| Method | Path | Description |
|---|---|---|
GET | /api/dashboard/memory/:agentId | List memory files |
GET | /api/dashboard/memory/:agentId/:filename | Read memory file (curated = MEMORY.md) |
GET | /api/dashboard/templates/:agentId | List template files with existence status |
GET | /api/dashboard/templates/:agentId/:name | Read template content |
PUT | /api/dashboard/templates/:agentId/:name | Update template. Body: { content } |
Logs ​
| Method | Path | Params | Description |
|---|---|---|---|
GET | /api/dashboard/logs | List all log files recursively | |
GET | /api/dashboard/logs/:filename | tail=N | Read a full log or a bounded suffix (max 10,000 lines / 256 KiB) |
Tail responses return { content, lines, truncated }, where lines is the number of returned lines and truncated indicates omitted content. Invalid or non-positive tail counts return HTTP 400.
Audit ​
| Method | Path | Params | Description |
|---|---|---|---|
GET | /api/dashboard/audit | limit?, offset?, trigger? | Paginated audit traces (max 200) |
Usage Tracking ​
| Method | Path | Params | Description |
|---|---|---|---|
GET | /api/dashboard/usage | Usage summary (costs, tokens) | |
GET | /api/dashboard/usage/records | limit?, offset?, model? | Paginated records (max 200) |