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

# List users



## OpenAPI

````yaml get /v1/user
openapi: 3.0.0
info:
  title: Auth APIs Specification
  description: Section for description
  version: '1.0'
  contact: {}
servers:
  - url: https://staging.api.us.aptlydone.com/auth
  - url: https://staging.api.eu.aptlydone.com/auth
  - url: https://api.us.aptlydone.com/auth
  - url: https://api.eu.aptlydone.com/auth
security: []
tags: []
paths:
  /v1/user:
    get:
      tags:
        - users
      summary: List users
      operationId: UserController_listUsers_v1
      parameters:
        - name: page
          required: false
          in: query
          description: Page number
          schema:
            type: number
            example: 1
            minimum: 1
        - name: limit
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 1
            maximum: 100
            example: 10
            type: number
        - name: tenantId
          required: true
          in: query
          description: Tenant ID
          schema:
            format: uuid
            example: b360ec79-ee0e-45a1-a6cc-279f5a10ab68
            type: string
        - name: search
          required: false
          in: query
          description: Search term
          schema:
            type: string
        - name: status
          required: false
          in: query
          description: Comma-separated list of user statuses to filter by
          schema:
            example: ACTIVE,INACTIVE,INVITED
            type: string
        - name: sourceType
          required: false
          in: query
          description: >-
            Comma-separated list of source types to filter by (e.g., "Directory
            Sync", "Manually Added")
          schema:
            example: Directory Sync,Manually Added
            type: string
            items:
              type: string
              enum:
                - All
                - Directory Sync
                - Manually Added
        - name: employeeType
          required: false
          in: query
          description: Employee type filter
          schema:
            type: string
        - name: roleIds
          required: false
          in: query
          description: Filter by role IDs (comma-separated UUIDs)
          schema:
            example: >-
              f8e2d583-819a-463c-b815-af1c927b4017,6f5fbaec-a2a6-422b-93f3-b5d5532cdb88
            type: string
        - name: groupIds
          required: false
          in: query
          description: Filter by group IDs (comma-separated UUIDs)
          schema:
            example: >-
              2b63dc7d-4d1f-4f04-9611-23edb3e7ebfd,06c279f8-e3f6-4496-874a-f7f5aebad2c2
            type: string
        - name: positionIds
          required: false
          in: query
          description: Filter by position IDs (comma-separated UUIDs)
          schema:
            example: >-
              ce066ed3-1f02-4c6b-a1c4-d06986567e78,8674cce9-8fbf-409f-90fb-2e203803c35e
            type: string
        - name: managerIds
          required: false
          in: query
          description: Filter by manager IDs (comma-separated UUIDs)
          schema:
            example: >-
              379bb5dd-99f8-4afc-97f0-54368bc6f91c,7f1954e9-ee53-4ebf-be1e-00f2cd4520be
            type: string
        - name: primaryOrgIds
          required: false
          in: query
          description: Filter by primary organization IDs (comma-separated UUIDs)
          schema:
            example: >-
              8e6f65f2-bb0a-4762-bf1e-845f05cfc237,62cdb51a-b375-4ec8-ae8a-793c96316900
            type: string
        - name: externalId
          required: false
          in: query
          description: Filter by external ID
          schema:
            example: EXT123456
            type: string
        - name: createdDateStart
          required: false
          in: query
          description: Creation date range - start date
          schema:
            format: date-time
            type: string
        - name: createdDateEnd
          required: false
          in: query
          description: Creation date range - end date
          schema:
            format: date-time
            type: string
        - name: updatedDateStart
          required: false
          in: query
          description: Last updated date range - start date
          schema:
            format: date-time
            type: string
        - name: updatedDateEnd
          required: false
          in: query
          description: Last updated date range - end date
          schema:
            format: date-time
            type: string
        - name: lastLoginDateStart
          required: false
          in: query
          description: Last login date range - start date
          schema:
            format: date-time
            type: string
        - name: lastLoginDateEnd
          required: false
          in: query
          description: Last login date range - end date
          schema:
            format: date-time
            type: string
        - name: sortBy
          required: false
          in: query
          description: Field to sort by
          schema:
            type: string
        - name: sortOrder
          required: false
          in: query
          description: Sort order
          schema:
            default: null
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: Users fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserResponseDtoResponse'
      security:
        - accessToken: []
components:
  schemas:
    PaginatedUserResponseDtoResponse:
      type: object
      properties:
        statusCode:
          type: number
          example: 200
        timestamp:
          type: string
          example: '2026-01-12T09:10:13.120Z'
        message:
          type: string
          example: Success
        data:
          type: object
          required:
            - page
            - limit
            - total
            - data
          properties:
            page:
              type: number
              example: 1
              minimum: 1
            limit:
              type: number
              example: 10
              minimum: 1
            total:
              type: number
              example: 100
              minimum: 0
            data:
              type: array
              items:
                $ref: '#/components/schemas/UserResponseDto'
      required:
        - statusCode
        - timestamp
        - message
    UserResponseDto:
      type: object
      properties:
        id:
          type: string
          example: d4b8eae5-02dc-4a9a-9afe-b2f72e006ebb
          description: Unique identifier of the user
        userId:
          type: string
          example: '10001'
          description: Unique identifier of the user
        loginId:
          type: string
          nullable: true
          example: Delpha82@yahoo.com
          description: Login ID
          maxLength: 100
        descopeUserId:
          type: string
          example: 7eOCsfn938mPjGwc5IZu4m5QAQWZS0xy
          description: Descope user ID
        activeTenantId:
          type: string
          nullable: true
          example: 3d4c3b64-f52d-4890-aa26-ea2e52eb5a4d
          description: Active tenant Id
        email:
          type: string
          nullable: true
          example: Clay.Purdy@gmail.com
          description: Email address
          maxLength: 100
        name:
          type: string
          nullable: true
          example: Vera Wolf
          description: Name
        displayName:
          type: string
          nullable: true
          example: Brooke Rohan
          description: Display Name
        isSAML:
          type: boolean
          example: false
          description: Is SAML user
        mobilePhone:
          type: string
          nullable: true
          example: 1-491-503-1712 x7659
          description: Phone number
          maxLength: 25
        firstName:
          type: string
          nullable: true
          example: Jolie
          description: First name
          maxLength: 50
        lastName:
          type: string
          nullable: true
          example: Morissette-Spencer
          description: Last name
          maxLength: 50
        profileImageUrl:
          type: string
          nullable: true
          example: https://loremflickr.com/807/3278?lock=727001695474930
          description: User profile image URL
          maxLength: 50
        currencyName:
          type: string
          example: Euro
          description: Currency name
          nullable: true
        currencyCode:
          type: string
          example: EUR
          description: Currency code
          nullable: true
        status:
          type: string
          description: User status
          example: ACTIVE
          enum:
            - ACTIVE
            - INACTIVE
            - INVITED
            - DELETED
        accountType:
          type: string
          nullable: true
          example: h
          description: Type of account
          maxLength: 20
        autoProvisioned:
          type: boolean
          example: false
          description: Whether the user was auto-provisioned
          default: false
        employeeId:
          type: string
          nullable: true
          example: f
          description: Employee ID
          maxLength: 50
        employeeNumber:
          type: string
          nullable: true
          example: h
          description: Employee Number
        employeeType:
          type: string
          nullable: true
          example: D
          description: Employee Type
          maxLength: 20
        employmentType:
          type: string
          nullable: true
          example: j
          description: Type of employment
          maxLength: 20
        dateFormat:
          type: string
          example: MM/DD/YYYY
          description: Date format
          default: MM/DD/YYYY
        userType:
          type: string
          nullable: true
          example: z
          description: Type of user
          maxLength: 20
        sourceId:
          type: string
          nullable: true
          example: LaTdLstQ4lRlowebEqMq
          description: Source ID
          maxLength: 100
        actorType:
          type: string
          nullable: true
          example: khOhlolFNb
          description: Actor type
          maxLength: 50
        aiAgentType:
          type: string
          nullable: true
          example: XwUPLzjRvaLBsCG
          description: AI agent type
          maxLength: 50
        startDate:
          format: date-time
          type: string
          nullable: true
          example: '2025-11-19T05:27:09.941Z'
          description: Start date
        terminationDate:
          format: date-time
          type: string
          nullable: true
          example: '2026-10-16T18:32:34.796Z'
          description: Termination date
        customAttributes:
          type: object
          nullable: true
          example:
            department: Engineering
            level: Senior
          description: Custom attributes as JSON object
        externalId:
          type: string
          nullable: true
          example: EXT12345
          description: External ID from external systems
          maxLength: 100
        instanceId:
          type: string
          nullable: true
          example: 6a5dd288-ec68-44ff-a1ce-b0128347b3b6
          description: Instance ID
        systemIntegrationId:
          type: string
          nullable: true
          example: 6e94c7f7-576d-48ed-8cc0-b8b09f56cba8
          description: System Integration ID
        displayLanguage:
          type: string
          nullable: true
          example: en-US
          description: Display language preference
        columnViewSettings:
          type: object
          nullable: true
          example:
            columns:
              - name
              - email
              - status
          description: Column view settings as JSON object
        searchData:
          example:
            - Directives
            - Liaison
          description: Search history of user
          type: array
          items:
            type: string
        managerSync:
          type: boolean
          example: true
          description: Flag for manager sync
          nullable: false
        manager:
          description: Manager for the user
          allOf:
            - $ref: '#/components/schemas/ManagerResponseDto'
        isDeleted:
          type: boolean
          example: true
          description: Whether the user is marked as deleted
          default: false
        isExpirePassword:
          type: boolean
          example: true
          description: Whether the user's password is expired
          default: false
        createdOn:
          format: date-time
          type: string
          example: '2026-01-12T04:59:38.064Z'
          description: Creation timestamp
          default: now()
        lastLoginDate:
          format: date-time
          type: string
          example: '2026-01-11T09:45:20.832Z'
          description: Last login timestamp
          default: now()
        createdBy:
          type: string
          nullable: true
          example: 56dbdb67-fdb4-478c-bb02-cea7b3e899ec
          description: UUID of user or system that created the record
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T11:57:54.376Z'
          description: Last update timestamp
          default: now()
        updatedBy:
          type: string
          nullable: true
          example: f6267b64-ddad-4db5-ab64-b587d49af1b6
          description: UUID of user or system that last updated the record
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-01-27T10:51:41.196Z'
          description: Deletion timestamp
        delegationsReceived:
          type: number
          example: 1
          description: Delegations received by the user
          nullable: true
        delegationsIssued:
          type: number
          example: 1
          description: Delegations issued by the user
          nullable: true
        dashboardData:
          nullable: true
          description: Dashboard grid layout configuration
          example:
            - x: 0
              'y': 0
              w: 2
              h: 1
              i: '0'
            - x: 0
              'y': 1
              w: 2
              h: 4
              i: '1'
            - x: 0
              'y': 5
              w: 1
              h: 4
              i: '2'
            - x: 1
              'y': 5
              w: 1
              h: 4
              i: '3'
          additionalProperties: true
          type: array
          items:
            type: object
        userRoles:
          description: Roles assigned to the user
          type: array
          items:
            $ref: '#/components/schemas/UserRoleResponseDto'
        userPositions:
          description: Positions held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserPositionResponseDto'
        userGroups:
          description: Groups held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserGroupResponseDto'
        isImpersonated:
          type: boolean
          example: true
          description: Whether the user is impersonated user or not
          default: false
      required:
        - id
        - userId
        - loginId
        - descopeUserId
        - activeTenantId
        - email
        - name
        - displayName
        - isSAML
        - mobilePhone
        - firstName
        - lastName
        - profileImageUrl
        - currencyName
        - currencyCode
        - accountType
        - autoProvisioned
        - employeeId
        - employeeNumber
        - employeeType
        - employmentType
        - userType
        - sourceId
        - actorType
        - aiAgentType
        - startDate
        - terminationDate
        - customAttributes
        - externalId
        - instanceId
        - systemIntegrationId
        - displayLanguage
        - columnViewSettings
        - searchData
        - managerSync
        - manager
        - isDeleted
        - isExpirePassword
        - createdOn
        - lastLoginDate
        - createdBy
        - updatedOn
        - updatedBy
        - deletedOn
        - delegationsReceived
        - delegationsIssued
        - dashboardData
        - userRoles
        - userPositions
        - userGroups
    ManagerResponseDto:
      type: object
      properties:
        id:
          type: string
          example: f99a50c1-f10a-47ee-a20d-8792e1a41be8
          description: Unique identifier of the user
        userId:
          type: string
          example: '10001'
          description: Unique identifier of the user
        descopeUserId:
          type: string
          example: NAe2gVjONZqYRgtvliF3pyKmPchGcHXg
          description: Descope user ID
        name:
          type: string
          nullable: true
          example: Mr. Ivan Thiel
          description: Full name
          maxLength: 50
        email:
          type: string
          nullable: true
          example: Lonnie2@yahoo.com
          description: Email address
          maxLength: 100
        firstName:
          type: string
          nullable: true
          example: Adan
          description: First name
          maxLength: 50
        lastName:
          type: string
          nullable: true
          example: Johnston
          description: Last name
          maxLength: 50
        displayName:
          type: string
          nullable: true
          example: Lucia Mayert
          description: Display name
          maxLength: 50
        mobilePhone:
          type: string
          nullable: true
          example: (270) 663-0245 x3376
          description: Phone number
        profileImageUrl:
          type: string
          nullable: true
          example: https://picsum.photos/seed/46GUUknbGJ/2329/2262
          description: User profile image URL
          maxLength: 50
        createdOn:
          format: date-time
          type: string
          example: '2026-01-12T05:07:05.101Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-12T03:30:03.871Z'
          description: Last update timestamp
          default: now()
        userPositions:
          description: Positions held by the user
          type: array
          items:
            $ref: '#/components/schemas/UserPositionResponseDto'
        primaryOrganization:
          description: Primary Organization name
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PrimaryOrgResponseDto'
        managerName:
          type: string
          nullable: true
          example: Doris Brakus
          description: Manager's manager display name (skip-level manager)
          maxLength: 50
        managerProfileImageUrl:
          type: string
          nullable: true
          example: https://loremflickr.com/567/2473?lock=5385426157985712
          description: Manager's manager profile image (skip-level manager)
          maxLength: 50
      required:
        - id
        - userId
        - descopeUserId
        - name
        - email
        - firstName
        - lastName
        - displayName
        - mobilePhone
        - profileImageUrl
        - createdOn
        - updatedOn
        - userPositions
        - primaryOrganization
        - managerName
        - managerProfileImageUrl
    UserRoleResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 320bf21d-7b31-4b31-93ef-1a2e9f93f8a9
          description: Unique identifier of the user role
        tenantId:
          type: string
          example: 8fcca66f-5b95-4f54-a8fd-b1c27dd092ef
          description: Unique identifier of the tenant
        tenantRoleId:
          type: string
          example: 9c9bd186-23f1-4f5f-877f-b25aad685652
          description: Tenant role ID
        roleName:
          type: string
          example: pine begonia
          description: Name of the tenant role
        autoProvisioned:
          type: boolean
          example: false
          description: Whether the user role was auto-provisioned
          default: false
        instanceId:
          type: string
          nullable: true
          example: 5863ab84-7099-4ac2-8b48-f24f1b21b4a3
          description: Prismatic instance ID for auto-provisioned roles
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T22:33:40.204Z'
          description: Creation timestamp
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-05-31T10:27:33.998Z'
          description: Deletion timestamp
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-12T03:25:36.185Z'
          description: Last update timestamp
      required:
        - id
        - tenantId
        - tenantRoleId
        - roleName
        - autoProvisioned
        - instanceId
        - createdOn
        - deletedOn
        - updatedOn
    UserPositionResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 64648e27-e093-44c3-b5a1-49154a0a1660
          description: Unique identifier of the user position
        userId:
          type: string
          example: 898bf847-18c5-4022-b4be-6035aa06877f
          description: User ID
        tenantId:
          type: string
          example: 4f1cd86e-c077-4acc-b242-09478ad3ec79
          description: Unique identifier of the tenant
        positionsId:
          type: string
          example: d2e8b360-686c-4e2c-a788-5ca9d7fc3daa
          description: Positions ID
        autoProvisioned:
          type: boolean
          example: true
          description: Whether the user position was auto-provisioned
          default: false
        instanceId:
          type: string
          nullable: true
          example: 14120202-09d5-4b50-b522-b41d0821f7d0
          description: Prismatic instance ID for auto-provisioned positions
        isEditable:
          type: boolean
          example: false
          description: Whether the position is editable
          default: false
        isDeleted:
          type: boolean
          example: true
          description: Whether the user position is marked as deleted
          default: false
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-08-19T23:46:35.207Z'
          description: Deletion timestamp
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T12:03:07.517Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T19:28:18.878Z'
          description: Last update timestamp
          default: now()
        positionName:
          type: string
          example: Senior Developer
          description: Name of the position
          maxLength: 50
        isSCIMProvisioned:
          type: boolean
          example: false
          description: Whether the position is a SCIM provisioning position
          default: false
        externalId:
          type: string
          nullable: true
          example: f143825c-798e-43bb-8f88-da1ff0d8b399
          description: External identifier for the position
      required:
        - id
        - userId
        - tenantId
        - positionsId
        - autoProvisioned
        - instanceId
        - isEditable
        - isDeleted
        - deletedOn
        - createdOn
        - updatedOn
        - positionName
        - isSCIMProvisioned
        - externalId
    UserGroupResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 77827dfa-cf21-4fec-a5bd-c568d9583431
          description: Unique identifier of the user group
        tenantId:
          type: string
          example: 277ab493-cb1d-40f3-8d61-6432cc78df9a
          description: Unique identifier of the tenant
        userId:
          type: string
          example: 0e2a3c9d-3210-4e98-9dcc-67e8f63305c1
          description: User ID
        groupId:
          type: string
          example: 2b0e14b4-2d70-4517-afc3-9ba10bb890c2
          description: Group ID
        groupTypeId:
          type: string
          example: 40471fbe-5866-486d-9f76-c96482e42277
          description: Group type ID
        groupName:
          type: string
          example: Engineering Team
          description: Group Name
        groupTypeName:
          type: string
          example: Department
          description: Group Type Name
        displayName:
          type: string
          nullable: true
          example: Engineering Department
          description: Display Name of the group
        isPrimaryOrg:
          type: boolean
          example: false
          description: Whether this is the primary organization
          default: true
        externalId:
          type: string
          nullable: true
          example: 0802fdf7-09f2-4445-9e7c-3fc145cbf544
          description: External identifier for the group
        instanceId:
          type: string
          nullable: true
          example: c024da14-f39b-4aa5-9be8-6003132f6c71
          description: Instance identifier for the group
        primaryOrgSetOn:
          format: date-time
          type: string
          example: '2026-01-11T23:45:02.944Z'
          description: When the primary organization was set
        autoProvisioned:
          type: boolean
          example: true
          description: Whether the user group was auto-provisioned
          default: false
        isDeleted:
          type: boolean
          example: true
          description: Whether the user group is marked as deleted
          default: false
        deletedOn:
          format: date-time
          type: string
          nullable: true
          example: '2025-06-16T09:06:25.957Z'
          description: Deletion timestamp
        createdOn:
          format: date-time
          type: string
          example: '2026-01-11T10:22:54.670Z'
          description: Creation timestamp
          default: now()
        updatedOn:
          format: date-time
          type: string
          example: '2026-01-11T18:31:52.005Z'
          description: Last update timestamp
          default: now()
      required:
        - id
        - tenantId
        - userId
        - groupId
        - groupTypeId
        - groupName
        - groupTypeName
        - displayName
        - isPrimaryOrg
        - externalId
        - instanceId
        - primaryOrgSetOn
        - autoProvisioned
        - isDeleted
        - deletedOn
        - createdOn
        - updatedOn
    PrimaryOrgResponseDto:
      type: object
      properties:
        groupName:
          type: string
          nullable: true
          example: Aplty Inc.
          description: Primary Organization name
        displayName:
          type: string
          nullable: true
          example: Aplty Incorporated
          description: Display name of the primary organization
        tenantGroupTypeId:
          type: string
          nullable: true
          example: 03cf8779-7be8-4ea9-a02e-99aa4454e94a
          description: Primary Organization code
        tenantGroupTypeName:
          type: string
          nullable: true
          example: Organization
          description: Primary Group Type name
      required:
        - groupName
        - displayName
        - tenantGroupTypeId
        - tenantGroupTypeName
  securitySchemes:
    accessToken:
      scheme: bearer
      bearerFormat: JWT
      type: http

````