Skip to content

Admin portal - All users

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 status locked are 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.