# List Users

`lawmatics_list-users` · Lawmatics MCP tool · Users

List users from Lawmatics with optional pagination and sorting. Each user includes their name, email, timestamps, and a `relationships` envelope of to-one {id,type} pointers (current firm, inviting user); use get-user for the full envelope including the to-many list of firms.

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **sortBy** `string` (enum: "id", "created_at", "updated_at") — Column to sort by
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **users** `array` (required) — Users on this page of results
  - **[]** `object`
    - **id** `string` (required) — Lawmatics user ID
    - **name** `string` (required) — User's full name (combined first and last name)
    - **email** `string` (required) — User's email address
    - **createdAt** `string` (required) — When the user was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the user was last updated, as an ISO 8601 timestamp
    - **relationships** `object` (required) — To-one JSON:API relationship pointers as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own tool. List rows carry to-one pointers only; use get-user for the full envelope incl. to-many (firms).
      - **currentFirm** `object | null` (required) — Pointer to the firm this user is currently operating in (type 'firm'); null when unset
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **invitedBy** `object | null` (required) — Pointer to the user who invited this user (type 'user'); null for the founding user or when unset
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
- **pagination** `object | null` (required) — Pagination metadata from the API response; null when the endpoint returns no meta envelope
  - **totalPages** `number | null` (required) — Total number of pages available; null if not reported
  - **limitPerPage** `number | null` (required) — Maximum users returned per page; null if not reported
  - **totalEntries** `number | null` (required) — Total number of users across all pages; null if not reported
