Skip to main content
PUT
/
schedule
/
v1
/
vacation-calendars
/
{id}
Update Vacation Calendar (DEPRECATED)
curl --request PUT \
  --url https://api-{region}.sesametime.com/schedule/v1/vacation-calendars/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "daysOff": [
    {
      "date": "<string>"
    }
  ],
  "maxDaysOff": 123,
  "onlyWithSchedule": true
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "employee": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "firstName": "Lucas",
      "lastName": "García",
      "email": "jsmith@example.com",
      "workStatus": "online",
      "imageProfileURL": "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": 1,
      "pin": 1000,
      "phone": "+34 111 11 11 11",
      "company": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "<string>",
        "notificationEmail": "jsmith@example.com",
        "language": "<string>",
        "createdAt": "2020-01-01T10:00:00+01:00",
        "updatedAt": "2020-01-01T10:00:00+01:00"
      },
      "gender": "female",
      "contractId": "<string>",
      "nid": "<string>",
      "identityNumberType": "dni",
      "secondaryIdentityNumberType": "dni",
      "secondaryNid": "<string>",
      "ssn": "<string>",
      "pricePerHour": 123,
      "accountNumber": "<string>",
      "dateOfBirth": "2023-12-25",
      "customFields": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "name": "<string>",
          "slug": "<string>",
          "type": "<string>",
          "value": "<string>",
          "createdAt": "2020-01-01T10:00:00+01:00",
          "updatedAt": "2020-01-01T10:00:00+01:00"
        }
      ],
      "createdAt": "2020-01-01T10:00:00+01:00",
      "updatedAt": "2020-01-01T10:00:00+01:00",
      "status": "active",
      "children": 2,
      "disability": 25,
      "address": "<string>",
      "postalCode": "<string>",
      "city": "<string>",
      "province": "<string>",
      "country": "ES",
      "nationality": "ES",
      "nationalities": [
        "ES",
        "FR"
      ],
      "personalMail": "jsmith@example.com",
      "maritalStatus": "<string>",
      "emergencyPhone": "<string>",
      "description": "<string>",
      "salaryRange": "<string>",
      "studyLevel": "<string>",
      "professionalCategoryCode": "<string>",
      "professionalCategoryDescription": "<string>",
      "bic": "<string>",
      "jobChargeId": "<string>",
      "jobChargeName": "<string>",
      "jobChargeDescription": "<string>",
      "jobChargeCompetencies": "<string>",
      "language": "es-ES",
      "workPhone": "+34 111 11 11 11",
      "mainRecruiter": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "firstName": "Lucas",
        "lastName": "García",
        "imageProfileURL": "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": "jsmith@example.com",
        "workStatus": "online",
        "workCheckTypeColor": "#FF0000",
        "workCheckTypeName": "Remote"
      },
      "nfc": "<string>",
      "contributionGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "daysOff": [
      {
        "date": "2023-12-25",
        "seconds": 123
      }
    ],
    "maxDaysOff": 123,
    "year": 123,
    "vacationConfiguration": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "employeeRequestEnabled": true,
      "needsValidation": true,
      "company": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "<string>",
        "notificationEmail": "jsmith@example.com",
        "language": "<string>",
        "createdAt": "2020-01-01T10:00:00+01:00",
        "updatedAt": "2020-01-01T10:00:00+01:00"
      },
      "dayType": "business_day",
      "maxDaysOff": 123,
      "isDefault": true,
      "notAllowedDateRanges": [
        {
          "from": "<string>",
          "to": "<string>"
        }
      ],
      "creationDateNextYear": "<string>",
      "createdAt": "2020-01-01T10:00:00+01:00",
      "updatedAt": "2020-01-01T10:00:00+01:00",
      "deletedAt": "<string>"
    },
    "createdAt": "2020-01-01T10:00:00+01:00",
    "updatedAt": "2020-01-01T10:00:00+01:00",
    "deletedAt": "2020-01-01T10:00:00+01:00"
  },
  "meta": {
    "currentPage": 1,
    "lastPage": 1,
    "total": 1,
    "perPage": 1
  }
}

Authorizations

Authorization
string
header
required

API token obtained from Sesame HR Dashboard > Settings > Integrations > API

Path Parameters

id
string<uuid>
required

Calendar ID

Body

application/json

Vacation Calendar object that needs to be updated

daysOff
object[]
deprecated

array of VacationCalendarDayOff

maxDaysOff
integer
deprecated

This limit will have priority over the Vacation Configuration maxDaysOff limit

onlyWithSchedule
boolean
default:true

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.

Response

200 - application/json

Array of Objects

data
object
meta
object