> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thanx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Users

> This endpoint will return all the users of the specified merchant.

<Info>
  Scope required: `users.read`
</Info>

<Note>
  The user's phone number is not gathered by Thanx with the permission to use it
  for marketing.
</Note>

<Note>
  The Partner API exposes users **read-only**. To create or enroll a user, use the
  Consumer API [`POST /users`](/consumer/users/create-user).
</Note>

### Parameters

<ParamField path="merchant_id" type="string" required>
  Filter by Merchant ID
</ParamField>

<ParamField path="email" type="string" optional>
  Optionally filter by email. If there is a match, a single user record will be
  returned.
</ParamField>

<ParamField path="phone" type="string" optional>
  Optionally filter by phone. If there is a match, a single user record will be
  returned. This value is expected to be in
  [E.164 format](https://www.twilio.com/docs/glossary/what-e164).
</ParamField>

<Warning>
  Phone numbers must be in E.164 format with the country code prefix
  (e.g. `+14155551212`). For US numbers and US territories, the prefix is
  `+1`, including Puerto Rico (787/939), USVI (340), Guam (671),
  Northern Mariana Islands (670), and American Samoa (684). Numbers
  without the country code prefix may be parsed as international and return
  `Unknown user`.
</Warning>

<ParamField path="updated_after" type="datetime" optional>
  Optionally filter by records updated after specified `updated_after`
  timestamp.
</ParamField>

<ParamField path="updated_before" type="datetime" optional>
  Optionally filter by records updated before specified `updated_before`
  timestamp.
</ParamField>

<ParamField path="include_loyalty_attributes" type="boolean" optional>
  Optionally include loyalty attributes in response. Defaults to `false`.
</ParamField>

<ParamField path="include_communication_settings" type="boolean" optional>
  Optionally include communication setting attributes in response. Defaults to
  `false`.
</ParamField>

<Snippet file="pagination/params.mdx" />

### Response

<Snippet file="entities/user.mdx" />

<Snippet file="entities/user/partner.mdx" />

<RequestExample>
  ```bash Get Users theme={null}
  curl https://api.thanxsandbox.com/partner/users \
    -X GET \
    -H 'X-ClientId: {client_id}' \
    -H 'Accept-Version: v4.0' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer {access_token}' \
  ```
</RequestExample>

<ResponseExample>
  ```json Response Example theme={null}
  {
    "users": [
      {
        "id": "wroeiu2304hfwf",
        "email": "john.smith@example.com",
        "phone": "+14158672345",
        "first_name": "Jane",
        "last_name": "Smith",
        "birth_date": {
          "year": 1987,
          "month": 8,
          "day": 14
        },
        "zip_code": "12345",
        "updated_at": "2025-02-01T19:00:00Z",
        "loyalty": {
          "tier": "silver",
          "points_balance": 120.50,
          "user_joined_at": "2023-12-01T19:00:00Z"
        },
        "communication_settings": {
          "marketing_general_email": true
        }
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 10,
      "total_pages":  1
    }
  }
  ```
</ResponseExample>
