> ## 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.

# Get users with positions

> Retrieves a paginated list of users with their assigned positions



## OpenAPI

````yaml get /v1/user/personnel/users
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/personnel/users:
    get:
      tags:
        - users
      summary: Get users with positions
      description: Retrieves a paginated list of users with their assigned positions
      operationId: UserController_getUserPersonnel_v1
      parameters:
        - name: page
          required: true
          in: query
          description: Page number
          schema:
            default: 1
            type: number
        - name: limit
          required: true
          in: query
          description: Number of items per page
          schema:
            default: 10
            type: number
        - name: tenantId
          required: true
          in: query
          description: Tenant ID
          schema:
            example: e881a66d-6d5f-43df-86c9-bf7b84f6f1d8
            type: string
        - name: search
          required: false
          in: query
          description: Search term to filter users or positions by name
          schema:
            example: John Doe
            type: string
        - name: groupIds
          required: false
          in: query
          description: Group IDs (comma separated)
          schema:
            example: >-
              bbcb4ca6-3eb7-42a5-84dc-5c8e5605a8ed,
              9315726c-47ef-472f-b070-bd6f1993c68b
            type: string
        - name: userIds
          required: false
          in: query
          description: User IDs (comma separated)
          schema:
            example: >-
              5bdbea24-3cb8-4033-8f55-4ee9e629b656,
              6acabc85-a040-4ea4-b8e5-1825a6135f16
            type: string
        - name: sortBy
          required: false
          in: query
          description: Field to sort by
          schema:
            example: users
            type: string
            enum:
              - positions
              - users
        - name: sortOrder
          required: false
          in: query
          description: Sort order
          schema:
            default: asc
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: User personnel data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPersonnalUserResponseDtoResponse'
      security:
        - accessToken: []
components:
  schemas:
    PaginatedPersonnalUserResponseDtoResponse:
      type: object
      properties:
        statusCode:
          type: number
          example: 200
        timestamp:
          type: string
          example: '2026-01-12T09:10:13.123Z'
        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/PersonnalUserResponseDto'
      required:
        - statusCode
        - timestamp
        - message
    PersonnalUserResponseDto:
      type: object
      properties:
        userId:
          type: string
          example: db052330-760d-49da-9df2-485ded4bc5b5
          description: ID of the user
        name:
          type: string
          example: Carrie Carter
          description: Name of the user
        displayName:
          type: string
          nullable: true
          example: Wilbur Kreiger
          description: Display name of the user
        positions:
          type: string
          example: Customer Group Developer, International Implementation Agent
          description: >-
            Comma separated list of positions, or "No Position Assigned" if user
            has no positions
      required:
        - userId
        - name
        - displayName
        - positions
  securitySchemes:
    accessToken:
      scheme: bearer
      bearerFormat: JWT
      type: http

````