Administration
The platform console
ROLE_PLATFORM_OWNER (a separate admin_accounts login) administers everything.
| Endpoint group | |
|---|---|
GET /api/admin/stats · GET /api/platform/stats | Platform-wide counts and activity |
GET /api/admin/users/personal · /users/org | Every user, split by independent vs. org member |
PUT /api/admin/users/{id}/suspend · /activate · DELETE | User lifecycle |
PUT /api/admin/users/{id}/subscription · /password | Set a user's tier or reset their password |
GET /api/admin/organizations · PUT /{id}/suspend · /activate · /plan · DELETE | Organization lifecycle and plan |
GET /api/admin/admins · POST · DELETE /{id} · PUT /{id}/password | Manage other platform admins |
GET /api/admin/tool-purchases | Every one-time tool purchase |
GET/PUT /api/platform/organizations/{id} | Org detail, plan and status |
The frontend renders PlatformDashboard for this role.
Notifications
Every user has a notification feed (GET /api/notifications, POST /{id}/read, POST /read-all). The system posts on the events that matter — a document signed, a recipient viewed, a subscription change, a quota warning — with a type and an unread / read status.
Contact requests
POST /api/contact (public) captures a ContactRequest from the marketing site and routes it to CONTACT_TEAM_EMAIL.
Dashboards
| Role | Component | Shows |
|---|---|---|
ROLE_USER | DashboardPage | Own files, signing documents, quota remaining |
ROLE_ORG_ADMIN | OrgAdminDashboard | Team, document volume vs. limit, plan |
ROLE_PLATFORM_OWNER | PlatformDashboard | Platform stats, users, orgs |
GET /api/dashboard/stats backs the per-user view.