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

# Update Vacation Calendar (DEPRECATED)

> DEPRECATED: This endpoint replaces all days off and has destructive behavior. Use atomic endpoints instead: POST /vacation-calendars/days-off to add days, DELETE /vacation-calendars/{id}/days-off to remove specific days.



## OpenAPI

````yaml PUT /schedule/v1/vacation-calendars/{id}
openapi: 3.0.0
info:
  description: ''
  version: 3.0.0
  title: Sesame Public API
servers:
  - url: https://api-{region}.sesametime.com
    variables:
      region:
        default: eu1
security: []
tags: []
paths:
  /schedule/v1/vacation-calendars/{id}:
    put:
      tags:
        - Vacation Calendars
      summary: Update Vacation Calendar (DEPRECATED)
      description: >-
        DEPRECATED: This endpoint replaces all days off and has destructive
        behavior. Use atomic endpoints instead: POST
        /vacation-calendars/days-off to add days, DELETE
        /vacation-calendars/{id}/days-off to remove specific days.
      operationId: UpdateVacationCalendar
      parameters:
        - in: path
          name: id
          description: Calendar ID
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Vacation Calendar object that needs to be updated
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                daysOff:
                  type: array
                  items:
                    type: object
                    properties:
                      date:
                        type: string
                  description: array of VacationCalendarDayOff
                  deprecated: true
                  x-deprecation-message: >-
                    Use POST /vacation-calendars/days-off to add days or DELETE
                    /vacation-calendars/{id}/days-off to remove specific days
                maxDaysOff:
                  type: integer
                  description: >-
                    This limit will have priority over the Vacation
                    Configuration maxDaysOff limit
                  deprecated: true
                  x-deprecation-message: Use CalendarMaxDayOffAdjustment endpoint instead
                onlyWithSchedule:
                  type: boolean
                  description: >-
                    When enabled (true), the behavior matches Sesame web and app
                    functionality. Days off are auto-accepted if the employee
                    has no manager, generating a history record in the
                    auto-accepted requests log. The manager is assigned to the
                    first owner found (required for accepted requests). With
                    this parameter enabled, days off added via PUT or POST will
                    always be assigned to the first available calendar, not the
                    calendar corresponding to the selected year. This replicates
                    the current panel behavior according to business rules.
                  default: true
      responses:
        '200':
          description: Array of Objects
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      employee:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          firstName:
                            type: string
                            example: Lucas
                          lastName:
                            type: string
                            example: García
                          secondLastName:
                            type: string
                            description: >-
                              The employee's second last name field is only
                              available in Mexico and Colombia
                            nullable: true
                          email:
                            type: string
                            format: email
                          workStatus:
                            type: string
                            enum:
                              - online
                              - offline
                              - paused
                              - remote
                          imageProfileURL:
                            type: string
                            example: >-
                              https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png
                          code:
                            type: integer
                            example: 1
                          pin:
                            type: integer
                            example: 1000
                          phone:
                            type: string
                            example: +34 111 11 11 11
                          company:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              name:
                                type: string
                              notificationEmail:
                                type: string
                                format: email
                              language:
                                type: string
                              createdAt:
                                type: string
                                format: Y-m-dTH:i:sP
                                example: '2020-01-01T10:00:00+01:00'
                              updatedAt:
                                type: string
                                format: Y-m-dTH:i:sP
                                example: '2020-01-01T10:00:00+01:00'
                          gender:
                            type: string
                            description: >-
                              Allowed values depend on the employee's company:


                              | Scenario | Allowed values |

                              |----------|----------------|

                              | MX with ADP or Nomitek integration | female,
                              male |

                              | All other companies | female, male, no_response,
                              non_binary_gender |
                            enum:
                              - female
                              - male
                              - no_response
                              - non_binary_gender
                          contractId:
                            type: string
                            description: The identifier of your internal employee contract
                          nid:
                            type: string
                            description: The National Identity Document of the employee
                          identityNumberType:
                            type: string
                            description: Primary identity number type
                            enum:
                              - dni
                              - nie
                              - rut
                              - other
                          secondaryIdentityNumberType:
                            type: string
                            description: Secondary identity number type
                            enum:
                              - dni
                              - nie
                              - rut
                              - other
                          secondaryNid:
                            type: string
                            description: >-
                              The Secondary National Identity Document of the
                              employee
                          ssn:
                            type: string
                            description: The Social Security Number of the employee
                          pricePerHour:
                            type: number
                            format: float
                            description: The Price per hour of the employee
                          accountNumber:
                            type: string
                            description: The Account Number of the employee
                          dateOfBirth:
                            type: string
                            format: date
                            description: ''
                          customFields:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                companyId:
                                  type: string
                                  format: uuid
                                name:
                                  type: string
                                slug:
                                  type: string
                                type:
                                  type: string
                                value:
                                  anyOf:
                                    - type: string
                                createdAt:
                                  type: string
                                  format: Y-m-dTH:i:sP
                                  example: '2020-01-01T10:00:00+01:00'
                                updatedAt:
                                  type: string
                                  format: Y-m-dTH:i:sP
                                  example: '2020-01-01T10:00:00+01:00'
                          createdAt:
                            type: string
                            format: Y-m-dTH:i:sP
                            example: '2020-01-01T10:00:00+01:00'
                          updatedAt:
                            type: string
                            format: Y-m-dTH:i:sP
                            example: '2020-01-01T10:00:00+01:00'
                          status:
                            type: string
                            enum:
                              - active
                              - inactive
                          children:
                            type: integer
                            example: 2
                          disability:
                            type: integer
                            example: 25
                          address:
                            type: string
                            description: The Address of the employee
                          postalCode:
                            type: string
                            description: The postal code of the employee
                          city:
                            type: string
                            description: The city of the employee
                          province:
                            type: string
                            description: The province of the employee
                          country:
                            type: string
                            description: >-
                              Two-letter country code (ISO alpha-2), e.g. 'ES'
                              for Spain, 'MX' for Mexico.
                            nullable: true
                            example: ES
                            minLength: 2
                            maxLength: 2
                          nationality:
                            type: string
                            description: >-
                              The nationality of the employee (deprecated: use
                              nationalities instead)
                            example: ES
                          nationalities:
                            type: array
                            items:
                              type: string
                            description: The nationalities of the employee
                            example:
                              - ES
                              - FR
                          personalMail:
                            type: string
                            format: email
                            nullable: true
                          maritalStatus:
                            type: string
                          emergencyPhone:
                            type: string
                            description: The emergency phone of the employee
                          description:
                            type: string
                            description: The description of the employee
                          salaryRange:
                            type: string
                            description: The salary range of the employee
                          studyLevel:
                            type: string
                            description: The study level of the employee
                          professionalCategoryCode:
                            type: string
                            description: >-
                              The professional category code of the employee.
                              Use contributionGroupId instead.
                            deprecated: true
                          professionalCategoryDescription:
                            type: string
                            description: >-
                              The professional category description of the
                              employee
                          bic:
                            type: string
                          jobChargeId:
                            type: string
                            description: The identifier of the job charge
                          jobChargeName:
                            type: string
                            description: The name of the job charge
                          jobChargeDescription:
                            type: string
                            description: >-
                              The description of the job position duties and
                              responsibilities
                            nullable: true
                          jobChargeCompetencies:
                            type: string
                            description: >-
                              The competencies and skills required for the job
                              position
                            nullable: true
                          language:
                            type: string
                            description: ISO language code
                            example: es-ES
                          workPhone:
                            type: string
                            description: work phone
                            example: +34 111 11 11 11
                          mainRecruiter:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              firstName:
                                type: string
                                example: Lucas
                              lastName:
                                type: string
                                example: García
                              secondLastName:
                                type: string
                                description: >-
                                  The employee's second last name field is only
                                  available in Mexico and Colombia
                                nullable: true
                              imageProfileURL:
                                type: string
                                example: >-
                                  https://sesame-v2-prod-companies.s3.eu-west-3.amazonaws.com/48351485-1659-413d-bf7f-3ca34fadb521/public-read/g892f1fb-55a3-4e32-9cc9-7c19faa70gaa.png
                              email:
                                type: string
                                format: email
                              workStatus:
                                type: string
                                enum:
                                  - online
                                  - offline
                                  - paused
                                  - remote
                              workCheckTypeColor:
                                type: string
                                example: '#FF0000'
                              workCheckTypeName:
                                type: string
                                example: Remote
                          nfc:
                            type: string
                          contributionGroupId:
                            type: string
                            format: uuid
                      daysOff:
                        type: array
                        items:
                          type: object
                          properties:
                            date:
                              type: string
                              format: date
                            seconds:
                              type: integer
                      maxDaysOff:
                        type: integer
                      year:
                        type: integer
                      vacationConfiguration:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          name:
                            type: string
                          employeeRequestEnabled:
                            type: boolean
                          needsValidation:
                            type: boolean
                          company:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              name:
                                type: string
                              notificationEmail:
                                type: string
                                format: email
                              language:
                                type: string
                              createdAt:
                                type: string
                                format: Y-m-dTH:i:sP
                                example: '2020-01-01T10:00:00+01:00'
                              updatedAt:
                                type: string
                                format: Y-m-dTH:i:sP
                                example: '2020-01-01T10:00:00+01:00'
                          dayType:
                            type: string
                            enum:
                              - business_day
                              - calendar_day
                          maxDaysOff:
                            type: integer
                          isDefault:
                            type: boolean
                          notAllowedDateRanges:
                            type: array
                            items:
                              type: object
                              properties:
                                from:
                                  type: string
                                  format: Y-m
                                to:
                                  type: string
                                  format: Y-m
                          creationDateNextYear:
                            type: string
                            format: m-d
                          createdAt:
                            type: string
                            format: Y-m-dTH:i:sP
                            example: '2020-01-01T10:00:00+01:00'
                          updatedAt:
                            type: string
                            format: Y-m-dTH:i:sP
                            example: '2020-01-01T10:00:00+01:00'
                          deletedAt:
                            type: string
                            nullable: true
                      createdAt:
                        type: string
                        format: Y-m-dTH:i:sP
                        example: '2020-01-01T10:00:00+01:00'
                      updatedAt:
                        type: string
                        format: Y-m-dTH:i:sP
                        example: '2020-01-01T10:00:00+01:00'
                      deletedAt:
                        type: string
                        format: Y-m-dTH:i:sP
                        example: '2020-01-01T10:00:00+01:00'
                  meta:
                    type: object
                    properties:
                      currentPage:
                        type: integer
                        example: 1
                      lastPage:
                        type: integer
                        example: 1
                      total:
                        type: integer
                        example: 1
                      perPage:
                        type: integer
                        example: 1
      deprecated: true
      security:
        - Bearer: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````