# `api.users.list` > `POST /users/list` — ACPortal **Python** ```python api.users.list(*, data: ListRequest | dict) -> list[User] ``` **CLI** ```bash ab users list [--data ...] ``` POST /users/list. Args: data: List filter with pagination, sorting, and filters. Accepts a :class:`ListRequest` instance or a dict. Request model: :class:`ListRequest` ## Request body — `ListRequest` | Field | Type | Required | Description | |---|---|---|---| | `sortBy` | `Optional[str]` | no | Field name to sort by | | `sortDir` | `Optional[bool]` | no | Sort direction (true=ascending) | | `page` | `Optional[int]` | no | Page number (1-based) | | `pageSize` | `Optional[int]` | no | Items per page | | `filters` | `Optional[dict]` | no | Filter criteria | ## Response Returns a list of `List[User]`. | Field | Type | Required | Description | |---|---|---|---| | `id` | `str \| int \| None` | no | Unique identifier | | `username` | `Optional[str]` | no | Login username | | `email` | `Optional[str]` | no | Email address | | `roles` | `Optional[list[dict]]` | no | Assigned roles | | `company` | `Optional[dict]` | no | Associated company | | `login` | `Optional[str]` | no | Login name | | `fullName` | `Optional[str]` | no | Full display name | | `contactId` | `Optional[int]` | no | Contact integer ID | | `contactDisplayId` | `Optional[str]` | no | Contact display ID | | `contactCompanyName` | `Optional[str]` | no | Contact company name | | `contactCompanyId` | `Optional[str]` | no | Contact company UUID | | `contactCompanyDisplayId` | `Optional[str]` | no | Contact company display ID | | `emailConfirmed` | `Optional[bool]` | no | Email confirmed flag | | `contactPhone` | `Optional[str]` | no | Contact phone number | | `contactEmail` | `Optional[str]` | no | Contact email address | | `password` | `Optional[str]` | no | Password (null in responses) | | `lockoutDateUtc` | `Optional[str]` | no | Lockout date | | `lockoutEnabled` | `Optional[bool]` | no | Whether lockout is enabled | | `role` | `Optional[str]` | no | Primary role name | | `isActive` | `Optional[bool]` | no | Whether user is active | | `legacyId` | `Optional[str]` | no | Legacy system identifier | | `additionalUserCompanies` | `Optional[list[str]]` | no | Additional company UUIDs | | `additionalUserCompaniesNames` | `Optional[list[str]]` | no | Additional company names | | `crmContactId` | `Optional[int]` | no | CRM contact ID | --- [← Back to api.users](../users.md)