Core API routes
Base prefix shown as /api/v1 — some builds omit /v1; check GET /api root discovery.
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/health | Liveness for monitors |
GET | /api/v1/config | Non-secret effective config |
PATCH | /api/v1/config | Update whitelisted keys |
GET | /api/v1/layout | Current dashboard layout JSON |
PUT | /api/v1/layout | Replace layout |
GET | /api/v1/modules | Installed modules + state |
POST | /api/v1/modules/:id/reload | Hot reload module |
GET | /api/v1/calendar/events | Proxied calendar window |
GET | /api/v1/system | CPU, RAM, temp, uptime |
💡 Tip: GET /api/v1/system powers mobile diagnostics — throttle polling to ≥ 5 s to save Wi‑Fi airtime.
Example
curl -sS -H "Authorization: Bearer $M2C2_TOKEN" \
http://127.0.0.1:3000/api/v1/system | jqTroubleshooting
403 on PATCH config
Key not in allowlist — use Settings UI or admin scope token.
Last updated on
Was this helpful?