iCalendlyDeveloper Docs
Bookings

POSTCancel a booking

Cancels a regular booking, an individual recurrence, or all recurrences of a recurring booking.

POST/v2/bookings/{bookingUid}/cancel

Request Body

application/jsonRequired

Accepts different types of cancel booking input: Cancel Booking (Option 1 which is for normal or recurring bookings) or Cancel Seated Booking (Option 2 which is for seated bookings)

bodyRequiredobject | object

Path Parameters

bookingUidRequiredstring

Header Parameters

ical-api-versionRequiredstring

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

Default: "2024-08-13"
Authorizationstring

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

x-cal-secret-keystring

For platform customers - OAuth client secret key

x-cal-client-idstring

For platform customers - OAuth client ID

curl -X POST "https://example.com/v2/bookings/<string>/cancel" \
  -H "ical-api-version: 2024-08-13" \
  -H "Authorization: <string>" \
  -H "x-cal-secret-key: <string>" \
  -H "x-cal-client-id: <string>" \
  -H "Content-Type: application/json" \
  -d '{
    "cancellationReason": "User requested cancellation",
    "cancelSubsequentBookings": true
  }'

{
  "status": "success",
  "data": {
    "id": 123,
    "uid": "booking_uid_123",
    "title": "Consultation",
    "description": "Learn how to integrate scheduling into marketplace.",
    "hosts": [
      {
        "id": 1,
        "name": "Jane Doe",
        "email": "jane100@example.com",
        "displayEmail": "jane100@example.com",
        "username": "jane100",
        "timeZone": "America/Los_Angeles"
      }
    ],
    "status": "accepted",
    "cancellationReason": "User requested cancellation",
    "cancelledByEmail": "canceller@example.com",
    "reschedulingReason": "User rescheduled the event",
    "rescheduledByEmail": "rescheduler@example.com",
    "rescheduledFromUid": "previous_uid_123",
    "rescheduledToUid": "new_uid_456",
    "start": "2024-08-13T15:30:00Z",
    "end": "2024-08-13T16:30:00Z",
    "duration": 60,
    "eventTypeId": 50,
    "eventType": {
      "id": 1,
      "slug": "some-event"
    },
    "meetingUrl": "https://example.com/recurring-meeting",
    "location": "https://example.com/meeting",
    "absentHost": true,
    "createdAt": "2024-08-13T15:30:00Z",
    "updatedAt": "2024-08-13T15:30:00Z",
    "metadata": {
      "key": "value"
    },
    "rating": 4,
    "icsUid": "ics_uid_123",
    "attendees": [
      {
        "name": "John Doe",
        "email": "john@example.com",
        "displayEmail": "john@example.com",
        "timeZone": "America/New_York",
        "language": "en",
        "absent": false,
        "phoneNumber": "+1234567890"
      }
    ],
    "guests": [
      "guest1@example.com",
      "guest2@example.com"
    ],
    "bookingFieldsResponses": {
      "customField": "customValue"
    }
  }
}