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

# Merge User

Merge the specified user into the one identified by the UID in the path.
All data will be transferred, and the merged user will be permanently deleted.

⚠️ **WARNING**:  This action is irreversible — once completed, the merged user cannot be recovered. ⚠️

## Usage


## OpenAPI

````yaml patch /v1/users/{uid}/merge
openapi: 3.0.1
info:
  title: Siit Public API
  version: v0
servers:
  - url: https://api.siit.io
security: []
paths:
  /v1/users/{uid}/merge:
    parameters:
      - name: uid
        in: path
        description: The UID of the user the target will be merged into.
        required: true
        schema:
          type: string
    patch:
      tags:
        - User
      summary: Merge User
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user_uid:
                  type: string
                  description: >-
                    The UID of the user that will be merged and subsequently
                    deleted.
              required:
                - user_uid
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updated_user_object'
        '400':
          description: >-
            Merge rejected: the specified user to be merged has attributes that
            prevent merging (e.g., admin privileges)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors_object'
      security:
        - bearer: []
components:
  schemas:
    updated_user_object:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/user'
    errors_object:
      type: object
      properties:
        error:
          type: string
        troubleshoot:
          type: string
    user:
      type: object
      properties:
        birthday_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        city:
          type: string
          nullable: true
        contract_type:
          type: string
          nullable: true
          enum:
            - contract
            - expat
            - fulltime
            - intern
            - parttime
            - temporary
        country:
          type: string
          description: 'ISO3166 alpha-2 country code (e.g: "PT")'
          nullable: true
        employee_number:
          type: string
          nullable: true
        first_name:
          type: string
          nullable: true
        gender:
          type: string
          enum:
            - female
            - male
            - non_binary
            - other
            - prefer_not_to_disclose
          nullable: true
        hire_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        job_leave_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        job_start_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        job_title:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        last_working_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        preferred_language:
          type: string
          description: A language in IETF format (en-US, pt-PT, fr-FR...)
          nullable: true
        probation_end_date:
          type: string
          format: date
          description: date formatted as ISO 8601 (e.g. "2020-12-15")
          nullable: true
        work_phone:
          type: string
          nullable: true
        uid:
          type: string
          description: The UID of the User
          readOnly: true
        admin_permalink_url:
          type: string
          description: The link to the User in Siit admin dashboard
          readOnly: true
        archived_at:
          type: string
          nullable: true
          format: date-time
          readOnly: true
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
        created_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        department:
          oneOf:
            - type: string
              description: UID when not expanded
            - $ref: '#/components/schemas/department'
          description: >-
            The department this user belongs to. Pass `?expand[]=field_name` for
            full object.
          nullable: true
        department_uid:
          type: string
          description: 'DEPRECATED: Use `department` instead. A Department UID'
          nullable: true
          deprecated: true
        emails:
          type: array
          description: An array of all the known emails for this User
          readOnly: true
          items:
            type: string
        full_name:
          type: string
          description: The full name of the User
          readOnly: true
          nullable: true
        legal_entity:
          oneOf:
            - type: string
              description: UID when not expanded
            - $ref: '#/components/schemas/legal_entity'
          description: >-
            The legal entity this user belongs to. Pass `?expand[]=field_name`
            for full object.
          nullable: true
        legal_entity_uid:
          type: string
          description: 'DEPRECATED: Use `legal_entity` instead. A Legal Entity UID'
          nullable: true
          deprecated: true
        microsoft_entra_ids:
          description: The Microsoft Entra IDs (Azure Directory) associated with that User
          type: array
          readOnly: true
          items:
            type: string
        microsoft_entra_group_ids:
          description: >-
            The Microsoft Entra Group IDs (Azure Directory) associated to that
            User
          type: array
          readOnly: true
          items:
            type: string
        office_location:
          oneOf:
            - type: string
              description: UID when not expanded
            - $ref: '#/components/schemas/office_location'
          description: >-
            The office location of this user. Pass `?expand[]=field_name` for
            full object.
          nullable: true
        office_location_uid:
          type: string
          description: 'DEPRECATED: Use `office_location` instead. An Office Location UID'
          nullable: true
          deprecated: true
        report_to:
          oneOf:
            - type: string
              description: UID when not expanded
            - $ref: '#/components/schemas/user'
          description: >-
            The manager of this user. Pass `?expand[]=field_name` for full
            object.
          nullable: true
        report_to_uid:
          type: string
          description: >-
            DEPRECATED: Use `report_to` instead. The UID of the manager of this
            user
          nullable: true
          deprecated: true
        role_name:
          type: string
          description: The role of the User
          readOnly: true
          enum:
            - owner
            - admin
            - it
            - hr
            - ops
            - finance
            - custom
            - user
        slack_user_id:
          type: string
          description: The Slack user ID of the User (e.g. U0G9QF9C6)
          readOnly: true
          nullable: true
        status:
          type: string
          description: The status of the User
          readOnly: true
          enum:
            - alumni
            - employee
            - external
            - hired
          default: employee
        team_uids:
          type: array
          description: 'DEPRECATED: Use `teams` instead. An array of Team UIDs'
          items:
            type: string
          deprecated: true
        teams:
          anyOf:
            - type: array
              items:
                type: string
            - type: array
              items:
                $ref: '#/components/schemas/team'
          description: >-
            Teams this user belongs to. Pass `?expand[]=field_name` for full
            objects.
          nullable: true
        timezone:
          type: string
          description: ''
          readOnly: true
          nullable: true
        updated_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
    department:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
          description: The UID of the Department
        created_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        value:
          type: string
          description: The Department name
    legal_entity:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
          description: The UID of the Legal Entity
        created_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        value:
          type: string
          description: The Legal Entity name
    office_location:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
          description: The UID of the Office Location
        created_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        value:
          type: string
          description: The Office Location name
    team:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
          description: The UID of the Team
        created_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
          readOnly: true
        value:
          type: string
          description: The Team name
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````