HTTP API
Authentication
Admin JWT for the dashboard. API keys for scripts, MCP, and CI.
Operator login
POST /api/auth/login
curl -X POST http://localhost:8080/api/auth/login \
-H 'content-type: application/json' \
-d '{"email":"admin@localhost","password":"changeme"}'Returns { "token": "…" }. Used when V5_AUTH_MODE=admin. Hosted / Supabase mode uses the Supabase session instead.
API keys
Create under Settings or POST /api/keys. The secret is shown once. Prefix v5_live_. Send as Authorization: Bearer. API keys.
GET /api/me
Returns the current principal when a valid JWT or key is present. Some GET routes currently degrade without auth for local demo — treat production as authenticated.
Something off? Open an issue · Edit on GitHub

