---
title: "Search loyalty users"
method: GET
path: "/manager/loyalty/v1/{source}/user/search"
tags: ["manager_loyalty_endpoints"]
---

# Search loyalty users

`GET /manager/loyalty/v1/{source}/user/search`

## Request

- Base URL: `https://partners.tryotter.com`
- URL: `https://partners.tryotter.com/manager/loyalty/v1/{source}/user/search`
- Auth: OAuth 2
  - Authorization code: `/v1/auth/oauth2/authorize`
  - Client credentials
  - Token URL: `/v1/auth/token` scopes: `manager.loyalty`
- TypeScript: <https://skmtc.dev/cloudkitchens/apis/otter-api/docs/manager/loyalty/v1/:source/user/search/get.ts> (a function with typed inputs; its response is checked against the schema)

Rate limit: 8 requests per minute.

## Path parameters

- `source` string, required: Loyalty provider source

## Query parameters

- `token` string: Opaque token used for paging. Query parameters must be URL encoded.
- `limit` string, required: Max number of items to retrieve (minimum 1, maximum is 10, anything smaller/larger than min/max resets to min/max)
- `term` string, required: Used to search for users in the loyalty program. The search is case-sensitive and will match any part of the user's fields.

## Headers

- `X-Store-Id` string, required: The unique identifier of the store in your app. This ID, along with the `Application ID`, will be used to match the correct store when performing operations. It cannot be longer than 255 characters and must only contain printable ASCII characters. During on-boarding, this ID will be similar to `onboarding:905bb725-b141-4a9b-832a-1f254f772c94` (where the UUID is the Internal Store ID). During off-boarding, this field will be filled with the last known Store ID, or with an empty string, in case none is found. In that case, please fall back to the provided `internalStoreId` (a.k.a. Sku-Sku ID).

## Response `200`

Search users response.

- SearchUsersResponse: Response body for SearchUsers API call.
  - `users` User[]: The users that matches the search condition.
    - `id` string: The user identifier.
    - `userFields` UserField[]: The user info fields.
      - `key` string: The key of field, this is retrieved from GetEnrollmentConfig API call.
      - `value` string: The value of the field.
  - `offsetToken` string: Opaque token used to fetch the following page. If not set, no more results are available.

## Other responses

- `400`: The request is malformed.
- `401`: Invalid authorization.
- `403`: Authorization not valid for the requested resource.
- `422`: The request body is not valid.

---

[API](https://skmtc.dev/cloudkitchens/apis/otter-api.md) - [All operations](https://skmtc.dev/cloudkitchens/apis/otter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudkitchens/apis/otter-api/revisions/4c868194a467?raw)
