---
title: "List Users"
method: GET
path: "/api/v1/users"
tags: ["Users"]
---

# List Users

`GET /api/v1/users`

## Request

- Base URL: `https://merchant-api.accruesavings.com`
- URL: `https://merchant-api.accruesavings.com/api/v1/users`
- Auth: none declared. Required headers: `Client-ID`, `Authorization`
- TypeScript: <https://skmtc.dev/byaccrue/apis/accrue-merchant-api/docs/api/v1/users/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `filter[phoneNumber]` string: Filter the list of objects by the value of the phoneNumber field.
- `filter[email]` string: Filter the list of objects by the value of the email field.
- `filter[referenceId]` string: Filter the list of objects by the value of the referenceId field.
- `page[limit]` number: Maximum number of objects that will be returned. Can not be greater than 50.
- `page[offset]` number: Offset from the beginning of the list of objects. Can not be negative.

## Headers

- `Client-ID` string, uuid, required: The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions.
- `Authorization` string, uuid, required: Secure secret to access privileged endpoints.

## Response `200`

OK

- ListUsersResponse
  - `data` User[], required
    - `id` string, uuid, required: Unique identifier for the object.
    - `type` 'User', required
    - `attributes` object, required
      - `disabled` boolean: Flag to indicate if the user account is disabled.
      - `publicId` string: The public identifier for the user.
      - `profile` object
        - `firstName` string
        - `lastName` string
        - `email` string, email
        - `phoneNumber` string
      - `attachedProfile` object
        - `referenceId` string: Deprecated. Use stableReferenceId instead. Legacy merchant-scoped user identifier. Immutable once set.
        - `stableReferenceId` string: Stable merchant-scoped user identifier. Required for all new integrations; immutable once set. The field remains absent in some requests only to support existing merchants migrating from referenceId. When set, becomes the effectiveReferenceId.
        - `effectiveReferenceId` string: Computed field (read-only). Equals stableReferenceId when set, otherwise falls back to referenceId. Use as the canonical user identifier.
        - `email` string
        - `phoneNumber` string
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required
  - `meta` object, required
    - `total` number, required
    - `limit` number, required
    - `offset` number, required

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/byaccrue/apis/accrue-merchant-api.md) - [All operations](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/revisions/3e2d97ef2e6e?raw)
