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

# Update specific profile



## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api patch /profile/{id}
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:
  /profile/{id}:
    patch:
      tags:
        - Profile
      summary: Update specific profile
      operationId: updateSpecificProfile
      parameters:
        - name: id
          in: path
          required: true
          description: The id of the profile to retrieve
          schema:
            type: integer
          example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AuthProfile'
                - $ref: '#/components/schemas/MindProfile'
                - type: object
                  properties:
                    rawData:
                      type: object
                      description: >-
                        Any additional, client-defined custom data to store with
                        the profile
                    callRoutingStatus:
                      $ref: '#/components/schemas/RoutingStatus'
                    chatRoutingStatus:
                      $ref: '#/components/schemas/RoutingStatus'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Success'
        '403':
          description: Unauthorized
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
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
    Success:
      type: object
      description: Data format of Enneo success messages
      properties:
        success:
          type: boolean
          example: true
          description: Operation was successful
    Error:
      type: object
      description: Data format of Enneo error messages
      properties:
        error:
          type: string
          example: Contract 121 could not be processed
          description: Readable error message that should be shown to the user
        details:
          type: string
          example: >-
            Uncatched null point exception in testFunction() in
            /app/src/file:212
          description: Not easily readable error message that is for the developer
        txId:
          type: string
          example: c916167c94
          description: >-
            Internal transaction id. Useful for debugging. Corresponds to the
            OpenTelemetry trace ID.
  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

````