The master-admin fleet view. Every tenant portal FuzeFront hosts — its name, slug, lifecycle status, primary domain, and plan. This replaces the DB script / support ticket that is the only way to run portal operations today. Platform-admin only (Permit ReBAC).
4 portals · 3 active
| Portal | Status | Primary domain | Plan | Actions |
|---|---|---|---|---|
|
FuzeFront root
fuzefront
|
Active | app.fuzefront.com | Scale | Open |
|
Northwind
northwind
|
Active | portal.northwind.example | Pro | Open |
|
Initech
initech
|
Active | no custom domain | Free | Open |
|
Acme Reseller
acme
|
Suspended | portal.acme.example | Pro | Open |
Contract (anticipated — @fuzefront/portal-client, not frozen today). Rows come
from GET /api/v1/admin/portals (PortalPage — cursor-paginated; "Load
more" advances page.cursor). Status is the portal lifecycle
(active / suspended). Suspend/resume is a status transition —
PATCH /api/v1/admin/portals/{portalId} with { status } — and the row
status flips in place, no full reload (see states frame, d). The root portal
(slug: fuzefront) Suspend is disabled: a self-inflicted fleet-outage guard, also
enforced server-side. Platform-admin only (Permit ReBAC parent→child org-admin derivation);
a non-admin sees the access-denied state, never this table.