Admin portal - All users¶
- Status: Implemented
- Prefix:
USR - Module: admin
- Feature: user-management
- Related: Admin portal, Operator access and audit, Tenant management
Purpose¶
Platform operators need full visibility into user accounts across all tenant organizations: reviewing user status, identifying locked accounts, verifying assigned roles, and directly navigating to the relevant tenant workspace.
Users and permissions¶
All operators with tenant:read permission (super_admin, admin, support) can view the all users directory, search, filter, and paginate through records.
Requirements¶
| ID | Priority | Requirement |
|---|---|---|
| USR-01 | Must | The system lists all user accounts in the platform with full name, email, workspace (tenant name and subdomain), role, status (active or locked), and creation timestamp. |
| USR-02 | Must | Real-time search filters users by full name, email address, tenant name, or subdomain. |
| USR-03 | Must | Filter controls allow filtering by account status (all, active, locked) and user role (all, super_admin, admin, support, tenant_owner, user). |
| USR-04 | Must | The user table supports pagination with selectable page sizes (10, 20, 50 rows per page), showing current record range and total count. |
| USR-05 | Must | Endpoint requires a valid operator session with tenant:read permission; unauthenticated calls return 401. |
Screens¶
All users (/users).
- Header: Title "All users", description, summary counters (Total Users, Active, Locked on current page).
- Filter bar: Search input with search icon, segmented status filter buttons (All, Active, Locked), role dropdown selector, page size selector, and a reset filters button.
- Users table:
- User: Avatar initials, full name, and email address.
- Role: Styled role badge (Super Admin, Admin, Support, Tenant Owner, User).
- Workspace: Clickable tenant badge linking to /tenants/:tenantId (or "Platform" if standalone).
- Status: Status badge with icon (Active with green dot, Locked with lock icon).
- Created: Localized formatted creation date.
- Pagination controls: "Showing X to Y of Z users", Previous button, Page numbers with active indicator, Next button.
Business rules¶
- Standalone platform users without a tenant association display "Platform" under Workspace.
- Filter criteria and search queries combine conjunctively (AND).
- Reset filters returns search to empty, role to all, status to all, and resets page to 1.
- Results are sorted by newest creation date first.
Acceptance criteria¶
- USR-01: Given an authenticated operator navigating to
/users, the table renders all users with name, email, workspace, role, status, and creation date. - USR-02: Given a query in the search bar, the list filters to matching users by name, email, or tenant.
- USR-03: Given a selection of status
locked, only accounts with statuslockedare displayed. - USR-04: Given pagination controls, choosing page size and navigating between pages shows the appropriate slice of records.
- USR-05: Given an unauthenticated request to
/api/admin/users, 401 Unauthorized is returned.
Out of scope¶
- Direct password reset from the all users table (managed through operator support workflows or tenant admin area).
- Bulk CSV user export.