Corsair
PluginsCal.com

Cal.com API Endpoints

Complete reference for all Cal.com API endpoints

The Cal plugin provides access to Cal.com's scheduling API for managing bookings.

New to Corsair? Learn about core concepts like API access, authentication, and error handling.

Full Implementation: For the complete, up-to-date list, see the Cal plugin source code.

Bookings

list

bookings.list

List all bookings.

const bookings = await corsair.cal.api.bookings.list({
    limit: 20, 
    offset: 0,
});

Parameters:

NameTypeRequiredDescription
limitnumberNoMax results to return
offsetnumberNoPagination offset
statusstringNoFilter by status (e.g., upcoming, past)

get

bookings.get

Get a booking by UID.

const booking = await corsair.cal.api.bookings.get({
    uid: "booking-uid", 
});

Parameters:

NameTypeRequiredDescription
uidstringYesBooking UID

create

bookings.create

Create a new booking.

const booking = await corsair.cal.api.bookings.create({
    eventTypeId: 12345, 
    start: "2024-02-15T10:00:00Z",
    end: "2024-02-15T11:00:00Z",
    name: "John Doe",
    email: "john@example.com",
    timeZone: "America/New_York",
});

Parameters:

NameTypeRequiredDescription
eventTypeIdnumberYesCal.com event type ID
startstringYesStart time (ISO 8601)
endstringYesEnd time (ISO 8601)
namestringYesAttendee name
emailstringYesAttendee email
timeZonestringYesAttendee timezone
notesstringNoAdditional notes
metadataobjectNoCustom metadata

cancel

bookings.cancel

Cancel a booking.

await corsair.cal.api.bookings.cancel({
    uid: "booking-uid", 
    reason: "Schedule conflict",
});

Parameters:

NameTypeRequiredDescription
uidstringYesBooking UID
reasonstringNoCancellation reason

reschedule

bookings.reschedule

Reschedule a booking to a new time.

const rescheduled = await corsair.cal.api.bookings.reschedule({
    uid: "booking-uid", 
    start: "2024-02-20T14:00:00Z",
    end: "2024-02-20T15:00:00Z",
});

Parameters:

NameTypeRequiredDescription
uidstringYesBooking UID
startstringYesNew start time (ISO 8601)
endstringYesNew end time (ISO 8601)

confirm

bookings.confirm

Confirm a pending booking.

await corsair.cal.api.bookings.confirm({
    uid: "booking-uid", 
});

Parameters:

NameTypeRequiredDescription
uidstringYesBooking UID

decline

bookings.decline

Decline a pending booking.

await corsair.cal.api.bookings.decline({
    uid: "booking-uid", 
    reason: "Not available at this time",
});

Parameters:

NameTypeRequiredDescription
uidstringYesBooking UID
reasonstringNoDecline reason