iCalendlyDeveloper Docs
Schedules

POSTCreate a schedule

Creates a new schedule for the authenticated user to define availability for event types.

POST/v2/schedules

Request Body

application/jsonRequired
nameRequiredstring
timeZoneRequiredstring

Timezone is used to calculate available times when an event using the schedule is booked.

availabilityarray<object>

Each object contains days and times when the user is available. If not passed, the default availability is Monday to Friday from 09:00 to 17:00.

isDefaultRequiredboolean

Each user should have 1 default schedule. If you specified timeZone when creating managed user, then the default schedule will be created with that timezone. Default schedule means that if an event type is not tied to a specific schedule then the default schedule is used.

overridesarray<object>

Need to change availability for a specific date? Add an override.

Header Parameters

AuthorizationRequiredstring

value must be Bearer <token> where <token> is api key prefixed with cal_ or managed user access token

ical-api-versionRequiredstring

Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.

Default: "2024-06-11"
curl -X POST "https://example.com/v2/schedules" \
  -H "Authorization: <string>" \
  -H "ical-api-version: 2024-06-11" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Catch up hours",
    "timeZone": "Europe/Rome",
    "availability": [
      {
        "days": [
          "Monday",
          "Tuesday"
        ],
        "startTime": "17:00",
        "endTime": "19:00"
      },
      {
        "days": [
          "Wednesday",
          "Thursday"
        ],
        "startTime": "16:00",
        "endTime": "20:00"
      }
    ],
    "isDefault": true,
    "overrides": [
      {
        "date": "2024-05-20",
        "startTime": "18:00",
        "endTime": "21:00"
      }
    ]
  }'

{
  "status": "success",
  "data": {
    "id": 254,
    "ownerId": 478,
    "name": "Catch up hours",
    "timeZone": "Europe/Rome",
    "availability": [
      {
        "days": [
          "Monday",
          "Tuesday"
        ],
        "startTime": "17:00",
        "endTime": "19:00"
      },
      {
        "days": [
          "Wednesday",
          "Thursday"
        ],
        "startTime": "16:00",
        "endTime": "20:00"
      }
    ],
    "isDefault": true,
    "overrides": [
      {
        "date": "2024-05-20",
        "startTime": "18:00",
        "endTime": "21:00"
      }
    ]
  }
}