POST /mcp; the web UI uses the /api/… routes below with the same credentials. All project-scoped routes enforce membership; non-members get 404.
Auth legend — A: normal gateway auth (Supabase session JWT, rr_sk_ key, or mk_ key + membership; runner child sessions carry a mas_ credential valid only on /mcp) · PUB: no auth · TOK: a one-time or HMAC token in the path is the credential · OP: operator X-Admin-Token.
MCP and discovery
OAuth routes exist only when the brain has an OAuth service configured (hosted and authenticated self-host); a loopback brain has none.
Health and meta
Clients send
X-RP-Client-Version; below the floor → HTTP 426, checked before auth.
Projects, members, keys
Research records
Under auth, SSE can’t carry the header — the UI falls back to ETag polling.
Artifacts and storage
Sandboxes and providers
Registered only when sandboxes are enabled.
Feed
Auto-run control plane
Pairing routes exist only on an authenticated brain — a loopback brain has no pairing.
Off by default
MLflow tracking routes (…/experiments/{experiment_id}/results/metrics, /api/projects/{project_id}/mlflow, /internal/auth/mlflow) register only when tracking is enabled. /mcp/tools and /mcp/call are legacy shims; use /mcp.