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

# Search profiles



## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api get /profiles
openapi: 3.0.0
info:
  version: '1'
  title: enneo.MIND API
  description: This describes the API of enneo Mind, the main ticketing backend
  contact:
    name: enneo GmbH
    email: richard@enneo.ai
  license:
    name: Proprietary software
    url: https://enneo.ai
servers:
  - url: https://demo.enneo.ai/api/mind
    description: Production server, demo client
  - url: https://main.enneo.dev/api/mind
    description: Development main branch
  - url: http://localhost:8005/api/mind
    description: Local development server
security:
  - bearerAuth:
      - api
  - cookieAuth:
      - api
paths:
  /profiles:
    get:
      tags:
        - Profile
      summary: Search profiles
      operationId: getProfiles
      parameters:
        - name: q
          in: query
          required: false
          description: >-
            Search string. It searches in any part of firstName, lastName or
            email. Defaults to all users
          schema:
            type: string
          example: John Doe
        - name: userIds[]
          in: query
          required: false
          description: >-
            List of specific user IDs to retrieve. When provided, only profiles
            with these IDs will be returned. Works in combination with other
            filters (e.g., show, teamIds).
          schema:
            type: array
            items:
              type: integer
          example:
            - 1
            - 4
        - name: show[]
          in: query
          required: false
          description: >-
            Which profiles to show. Can be provided as a single string value
            (?show=users) or as array values (?show[]=users&show[]=enneo).
            Defaults to 'users'
          schema:
            type: array
            items:
              type: string
              enum:
                - users
                - all
                - enneo
                - serviceWorkers
                - codeExecutors
                - enneoPartners
          examples:
            single:
              value:
                - users
              summary: Single type
            multiple:
              value:
                - users
                - enneo
              summary: Multiple types combined
        - name: format
          in: query
          required: false
          description: >-
            Determines the format of the profiles. Possible values are 'full' or
            'short'. In 'full' format, the settings and last login date of the
            user are included, provided the user has sufficient permissions.
          schema:
            type: string
            enum:
              - full
              - short
          example: full
        - name: limit
          in: query
          required: false
          description: Maximum number of profiles to return. Defaults to 100.
          schema:
            type: integer
            minimum: 1
          example: 50
        - name: offset
          in: query
          required: false
          description: Number of profiles to skip. Useful for pagination. Defaults to 0.
          schema:
            type: integer
            minimum: 0
          example: 100
        - name: teamIds[]
          in: query
          required: false
          description: >-
            List of team IDs. If provided, only users from these teams will be
            returned. When not specified, all users are returned. When
            "unassigned", only users without a team are returned.
          schema:
            nullable: true
            type: array
            items:
              type: integer
          example:
            - 1
            - 2
        - name: tagIds[]
          in: query
          required: false
          description: >-
            List of tag IDs. If provided, only users with these skills will be
            returned
          schema:
            type: array
            items:
              type: integer
          example:
            - 1
            - 2
        - name: channels[]
          in: query
          required: false
          description: >-
            List of channel IDs. If provided, only users with these channels
            will be returned
          schema:
            type: array
            items:
              type: string
          example:
            - email
            - chat
        - name: roleId
          in: query
          required: false
          description: Filter profiles by role ID
          schema:
            type: integer
          example: 1
        - name: lastSeen
          in: query
          required: false
          description: >
            Filter users by their last seen time. Can be either a datetime value
            (e.g. "2023-12-01 14:30:00") 

            or "online" to show only currently active users. When "online" is
            used, it shows users active in the last 10 minutes.

            Note: Requires 'readUserLastSeenDate' or 'readAnyUserProfile'
            permission.
          schema:
            type: string
            example: online
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  profiles:
                    type: array
                    items:
                      allOf:
                        - $ref: '#/components/schemas/AuthProfile'
                        - $ref: '#/components/schemas/MindProfile'
                        - type: object
                          properties:
                            lastSeen:
                              type: string
                              format: DateTime
                              description: The last time the user was seen online
                              example: '2021-08-12 12:21:21'
components:
  schemas:
    AuthProfile:
      type: object
      properties:
        id:
          type: integer
          description: User ID
          example: 1
        firstName:
          type: string
          description: First name
          example: Max
        lastName:
          type: string
          description: Last name
          example: Mustermann
        email:
          type: string
          description: Email address (read only)
          example: demo@enneo.dev
        phone:
          type: string
          description: Phone number
          example: +49 123 456789
        image:
          type: string
          format: base64
          description: Image
          writeOnly: true
          example: >-
            iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=
        password:
          type: string
          description: Password
          writeOnly: true
          example: 123456
        lastSeen:
          type: string
          format: DateTime
          description: The last time the user was seen (read only)
          example: '2022-08-12 12:21:21'
        type:
          type: string
          description: The type of the user
          example: enneo
        isSsoOnly:
          type: integer
          description: >-
            If 1, the user can only login via SSO. If 0, the user can login with
            password or SSO
          enum:
            - 0
            - 1
          example: 0
        lang:
          type: string
          description: The language of the user
          example: de
        nameAlias:
          type: string
          description: Alternative display name or alias for the user
          example: Johnny
        externalId:
          type: string
          description: >-
            External identifier such as employee number or ID from external
            system
          example: EMP-12345
    MindProfile:
      type: object
      properties:
        id:
          type: integer
          description: User ID
          example: 1
        settings:
          oneOf:
            - type: object
              properties:
                status:
                  type: string
                  description: The status of the user
                  enum:
                    - available
                    - busy
                  example: available
                supersetRole:
                  type: string
                  description: >-
                    The superset role of the user. List of available options is
                    retrieved from /api/mind/profile/{id:\d+}/supersetRoles
                ticketsFilters:
                  type: object
                  properties:
                    groups:
                      type: array
                      items:
                        type: number
                        example: 1
                    intents:
                      type: array
                      items:
                        type: string
                        example: process_meter_reading
                    tagIds:
                      type: array
                      items:
                        type: number
                        example: 1
                    personalQueue:
                      type: boolean
                      description: Use skills to filter tickets
                      example: true
                    onlyIntents:
                      type: boolean
                      description: Show only tickets with intents
                      example: true
                roleId:
                  type: integer
                  description: The role ID to assign to the user
                  example: 1
                teamIds:
                  type: array
                  description: The IDs of teams the user should be assigned to
                  items:
                    type: integer
                    example: 1
                skills:
                  type: object
                  description: >-
                    The skills to assign to the user (use this field in request
                    body for create/update operations)
                  properties:
                    tagIds:
                      type: array
                      items:
                        type: integer
                      example:
                        - 1
                        - 2
                    channels:
                      type: array
                      items:
                        type: string
                      example:
                        - email
                        - chat
                actualRoleId:
                  type: integer
                  description: >-
                    The id of the role that is used for the user (including
                    inherited from teams)
                  readOnly: true
                  example: 1
                actualTeamIds:
                  type: array
                  description: >-
                    The ids of the teams that the user is directly assigned to
                    (without parent teams)
                  readOnly: true
                  items:
                    type: integer
                    example: 1
                actualSkills:
                  type: object
                  description: >-
                    The skills of the user (including inherited from teams) -
                    read-only field shown in response
                  readOnly: true
                  properties:
                    intents:
                      type: array
                      items:
                        type: string
                        example: process_meter_reading
                    tagIds:
                      type: array
                      items:
                        type: number
                        example: 1
                    channels:
                      type: array
                      items:
                        type: string
                        example: email
                limitTicketBacklogAccess:
                  type: boolean
                  description: If true, the user can only see tickets with specific tags
                  example: false
                ticketBacklogRequiredTagIds:
                  type: array
                  description: >-
                    The ids of the tags that are required for the user to see
                    tickets
                  items:
                    type: integer
                    example: 1
                tagsOnRoute:
                  type: array
                  description: >-
                    Tags to auto-assign to a ticket when it is routed to the
                    user
                  items:
                    type: integer
                    example: 1
                tagsOnEdit:
                  type: array
                  description: >-
                    Tags to auto-assign to a ticket when the user edits the
                    ticket
                  items:
                    type: integer
                    example: 1
                actualLimitTicketBacklogAccess:
                  type: boolean
                  description: >-
                    If true, the user can only see tickets with specific tags
                    (inherited from teams)
                  example: false
                actualTicketBacklogRequiredTagIds:
                  type: array
                  description: >-
                    The ids of the tags that are required for the user to see
                    tickets (inherited from teams)
                  items:
                    type: integer
                    example: 1
                actualTagsOnRoute:
                  type: array
                  description: Tags auto-assigned on route, including inherited from teams
                  items:
                    type: integer
                    example: 1
                actualTagsOnEdit:
                  type: array
                  description: Tags auto-assigned on edit, including inherited from teams
                  items:
                    type: integer
                    example: 1
                isPersonalFilters:
                  type: boolean
                  description: If true, the filters are personal and only apply to the user
                  example: false
                inheritTeamSettings:
                  type: boolean
                  description: If true, the filters are inherited from the team
                  example: false
                nameReports:
                  type: string
                  description: The name of the reports
                  example: Tapfere Feige
                callRoutingStatus:
                  $ref: '#/components/schemas/RoutingStatus'
                  description: The routing status for phone calls
                chatRoutingStatus:
                  $ref: '#/components/schemas/RoutingStatus'
                  description: The routing status for chat conversations
            - type: object
              nullable: true
    RoutingStatus:
      type: string
      description: The routing status for queues (calls, chats, etc)
      enum:
        - idle
        - interacting
        - beingConnected
        - notResponding
        - unavailable
        - offline
        - acw
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
      x-scopes:
        api: Full access to the API
    cookieAuth:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Cookie-based authentication
      x-scopes:
        api: Full access to the API

````