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

# Partially update an employee

> Partially update an employee: send only the fields you want to change.

<div className="endpoint-versions" data-nav-page="/api-reference-v2/core/v4/employees-employee-id-patch" data-nav-group="Employees">
  <span className="endpoint-versions-label">Version:</span>
  <span data-version="v4" data-current>v4</span>
</div>


## OpenAPI

````yaml openapi-v2.json PATCH /core/v4/employees/{employeeId}
openapi: 3.0.0
info:
  title: Sesame Public API v2
  description: >-
    Public API v2 — additive surface `/public/{context}/v{N}`,
    endpoint-versioned from v4
  version: 1.0.0
servers:
  - url: https://api.sesamehr.com
    description: Production
security:
  - Bearer: []
paths:
  /core/v4/employees/{employeeId}:
    patch:
      tags:
        - Employees
      summary: Partially update an employee
      description: 'Partially update an employee: send only the fields you want to change.'
      operationId: PatchEmployee
      parameters:
        - name: employeeId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchEmployeeRequest'
      responses:
        '204':
          description: The employee was updated.
        '401':
          description: Missing or invalid API key
        '403':
          description: API consumer lacks permission over the requested resource
        '422':
          description: Validation error
components:
  schemas:
    PatchEmployeeRequest:
      description: >-
        Send only the fields you want to change. A field that is not sent is
        left untouched. An explicit `null` clears the value only for `email`
        (the notification email) and for the `value` of a custom field; `null`
        in any other field is rejected with a 422 and nothing is saved. Accepts
        the same fields, with the same validation rules, as the v3 PUT. `code`
        and `pin` must be sent together. The body cannot be empty.
      properties:
        accountNumber:
          type: string
        address:
          type: string
        bic:
          type: string
        childrenCount:
          type: integer
        city:
          type: string
        code:
          description: Must be sent together with `pin`.
          type: integer
        contractId:
          type: string
        contributionGroupId:
          type: string
          format: uuid
        country:
          description: >-
            Two-letter country code (ISO alpha-2), e.g. `ES`, the same format
            the GET returns.
          type: string
          maxLength: 2
          minLength: 2
          example: ES
        customFields:
          description: >-
            Pairs to create or update. A `value` of `null` deletes that custom
            field value; custom fields that are not listed are left untouched.
          type: array
          items:
            required:
              - customFieldId
            properties:
              customFieldId:
                type: string
                format: uuid
              value:
                type: string
                nullable: true
            type: object
        dateOfBirth:
          type: string
          format: date
        description:
          type: string
        disability:
          type: integer
        email:
          description: Notification email. `null` clears it.
          type: string
          format: email
          nullable: true
        emergencyPhone:
          type: string
        firstName:
          type: string
        gender:
          type: string
        identityNumberType:
          type: string
        jobChargeCompetencies:
          type: string
        jobChargeDescription:
          type: string
        lastName:
          type: string
        mainRecruiter:
          type: string
          format: uuid
        maritalStatus:
          type: string
        nationalities:
          description: >-
            Replaces the whole list of nationalities. An empty list `[]` removes
            them all. Takes precedence over `nationality` when both are sent.
          type: array
          items:
            type: string
        nationality:
          description: Single nationality. Ignored when `nationalities` is also sent.
          type: string
        nfc:
          type: string
        nid:
          type: string
        personalEmail:
          type: string
          format: email
        phone:
          type: string
        pin:
          description: Must be sent together with `code`.
          type: integer
        postalCode:
          type: string
        pricePerHour:
          type: number
          format: float
          minimum: 0
        professionalCategoryCode:
          type: string
        professionalCategoryDescription:
          type: string
        province:
          type: string
        remote:
          type: boolean
        salaryRange:
          type: string
        secondLastName:
          type: string
        secondaryIdentityNumberType:
          type: string
        secondaryNid:
          type: string
        ssn:
          type: string
        status:
          type: string
        studyLevel:
          type: string
        workPhone:
          type: string
      type: object
  securitySchemes:
    Bearer:
      type: http
      description: 'Sesame Public API consumer token (Authorization: Bearer <token>)'
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.