---
title: "Get All Users"
method: GET
path: "/users"
tags: ["User"]
---

# Get All Users

`GET /users`

Returns all users for the current tenant with optional filtering and pagination. If includeRoles is true, the response includes roles for each user. If includeRoles is false or not provided, only user objects are returned without roles.

## Query parameters

- `endAtId` string
- `filter` string
- `includeRoles` boolean
- `page` integer
- `searchUser` string
- `size` integer
- `startAfterId` string

## Headers

- `tenant-id` string

## Response `200`

Users retrieved successfully. When includeRoles is true, returns UserListResponseWithRolesDto containing users with their roles. When includeRoles is false or not provided, returns UserListResponseDto containing only user objects without roles.

- union — Response varies based on includeRoles parameter. When includeRoles is false or not provided, returns UserListResponseDto. When includeRoles is true, returns UserListResponseWithRolesDto.
  - UserListResponseDto — Paginated list of users
    - `data` UserResponseDto[] — List of users
      - `id` string
      - `email` string
      - `firstName` string
      - `lastName` string
      - `tenantId` string
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
      - `createdBy` string
      - `updatedBy` string
    - `totalCount` integer — Total number of users
    - `links` PageLinks1
      - `self` string
      - `next` string
      - `prev` string
  - UserListResponseWithRolesDto — Paginated list of users with roles
    - `data` UserResponseWithRolesDto[] — List of users with roles
      - `id` string
      - `email` string
      - `firstName` string
      - `lastName` string
      - `tenantId` string
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
      - `createdBy` string
      - `updatedBy` string
      - `roles` RoleDetails[] — List of roles assigned to the user
        - `id` string
        - `name` string
        - `description` string
        - `tenantId` string
        - `createdAt` string, date-time
        - `createdBy` string
        - `updatedAt` string, date-time
        - `updatedBy` string
    - `totalCount` integer — Total number of users
    - `links` PageLinks1
      - `self` string
      - `next` string
      - `prev` string

## Other responses

- `400` — Bad request - Invalid request parameters or missing required headers
- `401` — Authentication required - Valid authentication token is missing or invalid
- `403` — Forbidden - User does not have the required permissions to read users
- `500` — Internal server error - An unexpected error occurred while processing the request

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/3d27e9019c7b/schema)
