List Users (Admin)
List org members + invited users with role, status, API key count, and lifetime credit usage. Supports filtering and cursor pagination. Requires an admin-scoped API key.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
role | string | - | Filter by role. |
status | string | - | Filter by membership status. active = team_membership exists; invited = unexpired sent invitation. |
limit | integer | - | Page size (1-500, default 100). |
cursor | string | - | Opaque pagination cursor returned in nextCursor of a prior page. |
Use Cases
- Who is in the org, with their role, status, and lifetime credit usage?
- List pending (invited-but-not-accepted) users
- Find all org admins — filter by role
Example Usage
First page of all members and invites
{
"tool": "admin_list_users",
"arguments": {}
}
Only active admins
{
"tool": "admin_list_users",
"arguments": {
"role": "admin",
"status": "active"
}
}
Pending invitations
{
"tool": "admin_list_users",
"arguments": {
"status": "invited"
}
}
Response Format
| Field | Type | Description |
|---|---|---|
users | array | Users page (up to limit items). Use nextCursor to fetch the next page. |
users[].userId | string | null | ID of the public.users row. Null for invited-only rows that have no public.users row yet. |
users[].email | string | |
users[].name | string | null | |
users[].role | string | |
users[].status | string | active = team_membership row exists; invited = unexpired team_invitations row with status='sent'. |
users[].createdAt | string | ISO timestamp; team_membership.createdAt for active, invitation.sentAt for invited. |
users[].apiKeyCount | integer | Count of non-system-managed API keys for this user in this org. |
users[].lifetimeCredits | number | All-time sum of credits consumed by this user × org across all tool_metering rows. Rounded to 6 decimals. |
nextCursor | string | null | Opaque cursor for the next page; null when no more results. |