diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md
index ae22d0b3..f059328f 100644
--- a/docs/web-ui/dashboard.md
+++ b/docs/web-ui/dashboard.md
@@ -720,7 +720,11 @@ re-renders the terminal row. The root agent is addressed as `@root`.
The H0M3 hub is the primary landing page (served at `/` by default). A
responsive grid of link tiles — Dashboard, Flow, Logs, Matrix (when enabled),
-Forge (when enabled) — each pointing to their respective surfaces. The page
+Forge (when enabled), among others (Builds, Stats, Settings, Core,
+Credentials, API) — each pointing to their respective surfaces. The **API**
+tile is a static link straight to `/api/docs` (the Swagger UI — see
+`## Dashboard endpoints` below), always shown since the endpoint always
+exists (no gating, unlike Matrix/Forge). The page
is a pure portal with no tab-bar or SSE subscriptions. Typography + colours
inherit from the shared theme (Catppuccin Mocha via `common.css` + `theme.css`).
Optional tiles are hidden until `home.js` confirms their availability:
@@ -1148,6 +1152,17 @@ that's a browser-level decision, not ours.
## Dashboard endpoints
+Also browsable interactively: `hive-c0re` auto-generates an OpenAPI 3
+spec via [`utoipa`](https://docs.rs/utoipa) (`hive-c0re/src/dashboard/
+mod.rs`'s `ApiDoc`), served raw at `GET /api/openapi.json` and as a
+Swagger UI at `/api/docs` — same loopback dashboard port, reachable
+externally through the gateway's `/api/` proxy prefix like the rest of
+this list. It's deliberately incremental: only routes carrying a
+`#[utoipa::path(...)]` annotation appear, so it's not yet a complete
+mirror of the hand-written list below — an unannotated route still
+works, it just doesn't show up in the spec until someone adds the
+annotation. The H0M3 hub's **API** tile links straight to `/api/docs`.
+
- `POST /api/approve/{id}` — approve a pending approval. Fires
`ApprovalResolved` on the dashboard event channel; client
updates derived approvals state from the event.
diff --git a/frontend/packages/dashboard/src/index.html b/frontend/packages/dashboard/src/index.html
index cabbc40a..1a15ecf5 100644
--- a/frontend/packages/dashboard/src/index.html
+++ b/frontend/packages/dashboard/src/index.html
@@ -100,6 +100,17 @@
provision per-agent matrix + github accounts
+
+
+
+ 🧬
+ API
+
+ interactive OpenAPI spec (Swagger UI)
+
+