---
title: "user.list"
method: POST
path: "/user.list"
tags: ["User"]
---

# user.list

`POST /user.list`

Lists all users in the organization with pagination support.

By default, only active (enabled) users are returned. Use `includeDeactivated: true` to include deactivated users.

Supports incremental sync via `syncToken` to efficiently retrieve only users updated since the last sync.

**Requires the [`organizationRead`](authentication#permissions-userlist) permission.**

## Request body

- UserListRequest
  - `includeDeactivated` boolean — Whether to include deactivated users in the results. Defaults to false.
  - `cursor` string, nullable — The pagination cursor. Use 'start' for the first page or the nextCursor value from a previous response.
  - `limit` integer — The maximum number of users to return per page. Maximum is 100.
  - `syncToken` string, nullable — A sync token to retrieve only users updated since the last sync. Obtained from a previous list response.

## Response `200`

Responses from the user.list endpoint

- union
  - UserListSuccessResponse
    - `success` true, required
    - `results` User[], required
      - `id` string, uuid, required — The unique identifier for the user
      - `firstName` string, required — The user's first name
      - `lastName` string, required — The user's last name
      - `email` string, email, nullable, required — The user's email address
      - `globalRole` 'Organization Admin' | 'Elevated Access' | 'Limited Access' | 'External Recruiter', required — The user's global role in the organization
      - `isEnabled` boolean, required — Whether the user is enabled (not deactivated)
      - `updatedAt` string, required — The timestamp when the user was last updated (ISO 8601 format)
      - `managerId` string, uuid — The unique identifier for the user's manager
      - `customFields` CustomField[] — Custom fields associated with the user (only included when requested)
        - `id` string, uuid, required — The unique identifier for the custom field definition
        - `isPrivate` boolean, required — Whether the custom field is private
        - `title` string, required — The title of the custom field
        - `value` union, required — The value of the custom field
          - boolean
          - number
          - string
          - string[]
          - object
            - `value` number, required — The currency amount
            - `currencyCode` string, required — The currency code
          - object
            - `type` string, required — The range type
            - `minValue` number, required — The minimum value
            - `maxValue` number, required — The maximum value
          - object
            - `type` string, required — The compensation range type
            - `minValue` number, required — The minimum compensation value
            - `maxValue` number, required — The maximum compensation value
            - `currencyCode` string, required — The currency code
            - `interval` string, required — The compensation interval
          - object
            - `country` string — The country of the location
            - `region` string — The region of the location
            - `city` string — The city of the location
        - `valueLabel` union — The label of the custom field value. This is only present for value select custom fields.
          - string
          - string[]
    - `nextCursor` string — Cursor for the next page of results, if available
    - `moreDataAvailable` boolean — Whether more data is available beyond this page
    - `syncToken` string — Sync token to use for future incremental syncs. Only present on the last page.
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
