| Realm | /v1/realms/create, /get, /get_by_id, /get_by_slug, /update, /remove | CRUD + filtered list |
| Members | /v1/realms/members/*, /grant, /revoke, /search_users | Users / daemons / roles |
| Invites | /v1/realms/invites/* | Email invite create / accept / revoke |
| Team list | /v1/realms/team-list/* | Desired @scope/slug set; apply / force sync |
| Teams inventory | /v1/realms/teams/get | What’s installed across daemons + coverage |
| Agents | /v1/realms/agents/* | Per-realm settings pushed on install |
| A2A admin | /v1/realms/a2a/* | Enable, bearer, mesh connect |
| Public A2A | GET /a2a/r/{slug}/.well-known/agent-card.json, POST /a2a/r/{slug}/send | Host-root card + JSON-RPC (not under /v1) |
| Runs | /v1/runs/* (+ events, logs, phases, artifacts) | Lifecycle and observability for work on realm daemons |
| Start a run | POST /v1/dispatch/enqueue { kind: "run", realm_id, payload.team_id } | Offer → claim → execute (Hub UI path). Pin with /dispatch/run. |