Http Server
HTTP/SSE server
Section titled “HTTP/SSE server”Headless HTTP hub for sessions, health, auth, and session-scoped SSE.
Quick start
Section titled “Quick start”bmo serve --addr 127.0.0.1:8080 --auth-token "$BMO_AUTH_TOKEN"For local-only development you can run without a token when the bind address is loopback:
bmo serve --addr 127.0.0.1:8080 --allow-no-authFor the interactive app, enable the in-process hub in bmo.toml:
[options.http_server]enabled = trueaddr = "127.0.0.1:8080"auth_token = "dev-token"allow_no_auth = falseauth_token enables Bearer-token authentication. allow_no_auth = true is
accepted only for loopback addresses; non-loopback unauthenticated binds are
rejected during config validation.
bmo up and bmo autopilot --server use the same HTTP server path when you
want the API server beside the scheduler or autopilot loop.
Routes and events
Section titled “Routes and events”Routes live under /v1/ for sessions, messages, teams, config, models,
operations, checkpoints, agent runs, eval/shadow, and related readouts. The
server also exposes /metrics and /v1/health.
Session events stream from:
GET /v1/sessions/{id}/eventsThe SSE stream is an observer export. Session state, run ledgers, proposal lifecycle, and control-loop transitions remain in BMO’s canonical app and data store.
Inspect
Section titled “Inspect”bmo config show-serve- TUI
/serve - Structured logs:
http_server.fired,http_server.action - Maintainer trace detail: Agent tracing
- HTTP API maintainer topic: HTTP API Server