Corsair
PluginsGoogle Calendar

Google Calendar API Endpoints

Complete reference for all Google Calendar API endpoints

The Google Calendar plugin provides full access to Google Calendar's API through a typed interface. All endpoints are organized by resource type and automatically handle authentication, rate limiting, and error handling.

New to Corsair? Learn about core concepts like API access, authentication, and error handling before diving into specific endpoints.

Full Implementation: For the complete, up-to-date list of all endpoints and their implementations, see the Google Calendar plugin source code on GitHub.

Events

Manage calendar events.

create

events.create

Create a new calendar event.

const event = await corsair.googlecalendar.api.events.create({
    calendarId: "primary",
    event: {
        summary: "Meeting",
        start: {
            dateTime: "2024-01-15T10:00:00",
            timeZone: "America/New_York",
        },
        end: {
            dateTime: "2024-01-15T11:00:00",
            timeZone: "America/New_York",
        },
    },
});

Parameters:

NameTypeRequiredDescription
calendarIdstringNoCalendar ID (defaults to "primary")
eventobjectYesEvent object
sendUpdates'all' | 'externalOnly' | 'none'NoSend update notifications
sendNotificationsbooleanNoSend notifications
conferenceDataVersionnumberNoConference data version
maxAttendeesnumberNoMaximum attendees to return
supportsAttachmentsbooleanNoSupport attachments

get

events.get

Get a specific event.

const event = await corsair.googlecalendar.api.events.get({
    calendarId: "primary",
    id: "event-id",
});

Parameters:

NameTypeRequiredDescription
calendarIdstringNoCalendar ID (defaults to "primary")
idstringYesEvent ID
timeZonestringNoTime zone for response
maxAttendeesnumberNoMaximum attendees to return

getMany

events.getMany

Get multiple events.

const events = await corsair.googlecalendar.api.events.getMany({
    calendarId: "primary",
    timeMin: "2024-01-01T00:00:00Z",
    timeMax: "2024-01-31T23:59:59Z",
});

Parameters:

NameTypeRequiredDescription
calendarIdstringNoCalendar ID (defaults to "primary")
timeMinstringNoStart of time range
timeMaxstringNoEnd of time range
timeZonestringNoTime zone for response
updatedMinstringNoOnly return events updated after this time
singleEventsbooleanNoExpand recurring events
maxResultsnumberNoMaximum number of results
pageTokenstringNoPage token for pagination
qstringNoSearch query
orderBy'startTime' | 'updated'NoSort order
iCalUIDstringNoFilter by iCal UID
showDeletedbooleanNoInclude deleted events
showHiddenInvitationsbooleanNoInclude hidden invitations

update

events.update

Update an existing event.

await corsair.googlecalendar.api.events.update({
    calendarId: "primary",
    id: "event-id",
    event: {
        summary: "Updated Meeting",
    },
});

Parameters:

NameTypeRequiredDescription
calendarIdstringNoCalendar ID (defaults to "primary")
idstringYesEvent ID
eventobjectYesUpdated event object
sendUpdates'all' | 'externalOnly' | 'none'NoSend update notifications
sendNotificationsbooleanNoSend notifications
conferenceDataVersionnumberNoConference data version
maxAttendeesnumberNoMaximum attendees to return
supportsAttachmentsbooleanNoSupport attachments

delete

events.delete

Delete an event.

await corsair.googlecalendar.api.events.delete({
    calendarId: "primary",
    id: "event-id",
});

Parameters:

NameTypeRequiredDescription
calendarIdstringNoCalendar ID (defaults to "primary")
idstringYesEvent ID to delete
sendUpdates'all' | 'externalOnly' | 'none'NoSend update notifications
sendNotificationsbooleanNoSend notifications

Calendar

Get calendar availability information.

getAvailability

calendar.getAvailability

Get free/busy information for calendars.

const availability = await corsair.googlecalendar.api.calendar.getAvailability({
    timeMin: "2024-01-15T00:00:00Z",
    timeMax: "2024-01-15T23:59:59Z",
    items: [{ id: "calendar-id" }],
});

Parameters:

NameTypeRequiredDescription
timeMinstringYesStart of time range
timeMaxstringYesEnd of time range
timeZonestringNoTime zone
groupExpansionMaxnumberNoMaximum group expansions
calendarExpansionMaxnumberNoMaximum calendar expansions
itemsArray<{id: string}>NoCalendar IDs to check