User API
The user router provides access to user profiles and roles within the current tenant. User identities are managed by Clerk -- this router exposes read-only tenant-scoped views.
Router namespace: user
Source: src/server/trpc/routers/user.ts
Procedures
| Procedure | Type | Access | Description |
|---|---|---|---|
list | query | admin | List all users in the tenant |
getRole | query | tenant | Get the current user's role |
list
Returns all users belonging to the current tenant with their profile information. Restricted to admin users.
user.list.queryOptions()
Access: Admin only
Input
None.
Response
[
{
"id": "user_abc123",
"email": "alice@example.com",
"firstName": "Alice",
"lastName": "Smith",
"role": "admin",
"lastActiveAt": "2026-03-20T16:00:00.000Z"
},
{
"id": "user_def456",
"email": "bob@example.com",
"firstName": "Bob",
"lastName": "Jones",
"role": "viewer",
"lastActiveAt": "2026-03-19T09:30:00.000Z"
}
]
Example
const trpc = useTRPC();
const { data: users } = useQuery(
trpc.user.list.queryOptions()
);
const admins = users?.filter((u) => u.role === "admin");
getRole
Returns the role of the currently authenticated user. This is useful for client-side permission checks to conditionally render admin-only UI.
user.getRole.queryOptions()
Input
None.
Response
{
"role": "admin"
}
Possible values: "admin", "manager", "viewer".
Role Permissions
| Role | Scoring | Config | Connectors | Users |
|---|---|---|---|---|
admin | Read/Write | Read/Write | Read/Write | Read |
manager | Read/Write | Read | Read | -- |
viewer | Read | Read | -- | -- |
Example
const trpc = useTRPC();
const { data } = useQuery(
trpc.user.getRole.queryOptions()
);
const isAdmin = data?.role === "admin";
Clerk-Managed Roles
Roles are assigned in Clerk and synced to the application. To change a user's role, update it in the Clerk dashboard. See Authentication for details on role-based access control.
Related Pages
- Authentication -- Clerk setup and RBAC configuration
- Tenant API -- Tenant-level settings
- Audit API -- User actions in audit trail