Skip to main content
Every googlecalendar.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Calendar

getAvailability

calendar.getAvailability Get free/busy availability for a calendar Risk: read
await corsair.googlecalendar.api.calendar.getAvailability({});
Input
NameTypeRequiredDescription
timeMinstringYes
timeMaxstringYes
timeZonestringNo
groupExpansionMaxnumberNo
calendarExpansionMaxnumberNo
itemsobject[]No
{
  id: string
}[]
Output
NameTypeRequiredDescription
kindstringNo
calendarsobjectNo
groupsobjectNo
timeMinstringNo
timeMaxstringNo
{
}
{
}

Events

create

events.create Create a new calendar event Risk: write
await corsair.googlecalendar.api.events.create({});
Input
NameTypeRequiredDescription
calendarIdstringNo
eventobjectYesEvent body. Provide at minimum “summary”, “start”, and “end”.
sendUpdatesall | externalOnly | noneNo
sendNotificationsbooleanNo
conferenceDataVersionnumberNo
maxAttendeesnumberNo
supportsAttachmentsbooleanNo
{
  summary?: string,
  description?: string,
  location?: string,
  start?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  end?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  attendees?: {
    id?: string,
    email?: string,
    displayName?: string,
    organizer?: boolean,
    self?: boolean,
    resource?: boolean,
    optional?: boolean,
    responseStatus?: needsAction | declined | tentative | accepted,
    comment?: string,
    additionalGuests?: number
  }[],
  recurrence?: string[],
  colorId?: string,
  transparency?: opaque | transparent,
  visibility?: default | public | private | confidential,
  eventType?: default | outOfOffice | focusTime | workingLocation,
  status?: confirmed | tentative | cancelled,
  reminders?: {
    useDefault?: boolean,
    overrides?: {
      method?: email | popup,
      minutes?: number
    }[]
  },
  guestsCanModify?: boolean,
  guestsCanInviteOthers?: boolean,
  guestsCanSeeOtherGuests?: boolean,
  anyoneCanAddSelf?: boolean,
  sequence?: number,
  originalStartTime?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  recurringEventId?: string
}
Output
NameTypeRequiredDescription
idstringNo
statusconfirmed | tentative | cancelledNo
htmlLinkstringNo
createdstringNo
updatedstringNo
summarystringNo
descriptionstringNo
locationstringNo
colorIdstringNo
creatorobjectNo
organizerobjectNo
startobjectNo
endobjectNo
endTimeUnspecifiedbooleanNo
recurrencestring[]No
recurringEventIdstringNo
originalStartTimeobjectNo
transparencyopaque | transparentNo
visibilitydefault | public | private | confidentialNo
iCalUIDstringNo
sequencenumberNo
attendeesobject[]No
attendeesOmittedbooleanNo
hangoutLinkstringNo
remindersobjectNo
anyoneCanAddSelfbooleanNo
guestsCanInviteOthersbooleanNo
guestsCanModifybooleanNo
guestsCanSeeOtherGuestsbooleanNo
privateCopybooleanNo
lockedbooleanNo
eventTypedefault | outOfOffice | focusTime | workingLocationNo
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  id?: string,
  email?: string,
  displayName?: string,
  organizer?: boolean,
  self?: boolean,
  resource?: boolean,
  optional?: boolean,
  responseStatus?: needsAction | declined | tentative | accepted,
  comment?: string,
  additionalGuests?: number
}[]
{
  useDefault?: boolean,
  overrides?: {
    method?: email | popup,
    minutes?: number
  }[]
}

delete

events.delete Delete a calendar event [DESTRUCTIVE] Risk: destructive
await corsair.googlecalendar.api.events.delete({});
Input
NameTypeRequiredDescription
calendarIdstringNo
idstringYes
sendUpdatesall | externalOnly | noneNo
sendNotificationsbooleanNo
Output: void

get

events.get Get a specific calendar event Risk: read
await corsair.googlecalendar.api.events.get({});
Input
NameTypeRequiredDescription
calendarIdstringNo
idstringYes
timeZonestringNo
maxAttendeesnumberNo
Output
NameTypeRequiredDescription
idstringNo
statusconfirmed | tentative | cancelledNo
htmlLinkstringNo
createdstringNo
updatedstringNo
summarystringNo
descriptionstringNo
locationstringNo
colorIdstringNo
creatorobjectNo
organizerobjectNo
startobjectNo
endobjectNo
endTimeUnspecifiedbooleanNo
recurrencestring[]No
recurringEventIdstringNo
originalStartTimeobjectNo
transparencyopaque | transparentNo
visibilitydefault | public | private | confidentialNo
iCalUIDstringNo
sequencenumberNo
attendeesobject[]No
attendeesOmittedbooleanNo
hangoutLinkstringNo
remindersobjectNo
anyoneCanAddSelfbooleanNo
guestsCanInviteOthersbooleanNo
guestsCanModifybooleanNo
guestsCanSeeOtherGuestsbooleanNo
privateCopybooleanNo
lockedbooleanNo
eventTypedefault | outOfOffice | focusTime | workingLocationNo
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  id?: string,
  email?: string,
  displayName?: string,
  organizer?: boolean,
  self?: boolean,
  resource?: boolean,
  optional?: boolean,
  responseStatus?: needsAction | declined | tentative | accepted,
  comment?: string,
  additionalGuests?: number
}[]
{
  useDefault?: boolean,
  overrides?: {
    method?: email | popup,
    minutes?: number
  }[]
}

getMany

events.getMany List calendar events Risk: read
await corsair.googlecalendar.api.events.getMany({});
Input
NameTypeRequiredDescription
calendarIdstringNo
timeMinstringNo
timeMaxstringNo
timeZonestringNo
updatedMinstringNo
singleEventsbooleanNo
maxResultsnumberNo
pageTokenstringNo
qstringNo
orderBystartTime | updatedNo
iCalUIDstringNo
showDeletedbooleanNo
showHiddenInvitationsbooleanNo
Output
NameTypeRequiredDescription
kindstringNo
etagstringNo
summarystringNo
descriptionstringNo
updatedstringNo
timeZonestringNo
accessRolestringNo
defaultRemindersobject[]No
nextPageTokenstringNo
nextSyncTokenstringNo
itemsobject[]No
{
  method?: email | popup,
  minutes?: number
}[]
{
  id?: string,
  status?: confirmed | tentative | cancelled,
  htmlLink?: string,
  created?: string,
  updated?: string,
  summary?: string,
  description?: string,
  location?: string,
  colorId?: string,
  creator?: {
    id?: string,
    email?: string,
    displayName?: string,
    self?: boolean
  },
  organizer?: {
    id?: string,
    email?: string,
    displayName?: string,
    self?: boolean
  },
  start?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  end?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  endTimeUnspecified?: boolean,
  recurrence?: string[],
  recurringEventId?: string,
  originalStartTime?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  transparency?: opaque | transparent,
  visibility?: default | public | private | confidential,
  iCalUID?: string,
  sequence?: number,
  attendees?: {
    id?: string,
    email?: string,
    displayName?: string,
    organizer?: boolean,
    self?: boolean,
    resource?: boolean,
    optional?: boolean,
    responseStatus?: needsAction | declined | tentative | accepted,
    comment?: string,
    additionalGuests?: number
  }[],
  attendeesOmitted?: boolean,
  hangoutLink?: string,
  reminders?: {
    useDefault?: boolean,
    overrides?: {
      method?: email | popup,
      minutes?: number
    }[]
  },
  anyoneCanAddSelf?: boolean,
  guestsCanInviteOthers?: boolean,
  guestsCanModify?: boolean,
  guestsCanSeeOtherGuests?: boolean,
  privateCopy?: boolean,
  locked?: boolean,
  eventType?: default | outOfOffice | focusTime | workingLocation
}[]

update

events.update Update an existing calendar event Risk: write
await corsair.googlecalendar.api.events.update({});
Input
NameTypeRequiredDescription
calendarIdstringNo
idstringYesEvent ID to update
eventobjectYesUpdated event fields
sendUpdatesall | externalOnly | noneNo
sendNotificationsbooleanNo
conferenceDataVersionnumberNo
maxAttendeesnumberNo
supportsAttachmentsbooleanNo
{
  summary?: string,
  description?: string,
  location?: string,
  start?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  end?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  attendees?: {
    id?: string,
    email?: string,
    displayName?: string,
    organizer?: boolean,
    self?: boolean,
    resource?: boolean,
    optional?: boolean,
    responseStatus?: needsAction | declined | tentative | accepted,
    comment?: string,
    additionalGuests?: number
  }[],
  recurrence?: string[],
  colorId?: string,
  transparency?: opaque | transparent,
  visibility?: default | public | private | confidential,
  eventType?: default | outOfOffice | focusTime | workingLocation,
  status?: confirmed | tentative | cancelled,
  reminders?: {
    useDefault?: boolean,
    overrides?: {
      method?: email | popup,
      minutes?: number
    }[]
  },
  guestsCanModify?: boolean,
  guestsCanInviteOthers?: boolean,
  guestsCanSeeOtherGuests?: boolean,
  anyoneCanAddSelf?: boolean,
  sequence?: number,
  originalStartTime?: {
    date?: string,
    dateTime?: string,
    timeZone?: string
  },
  recurringEventId?: string
}
Output
NameTypeRequiredDescription
idstringNo
statusconfirmed | tentative | cancelledNo
htmlLinkstringNo
createdstringNo
updatedstringNo
summarystringNo
descriptionstringNo
locationstringNo
colorIdstringNo
creatorobjectNo
organizerobjectNo
startobjectNo
endobjectNo
endTimeUnspecifiedbooleanNo
recurrencestring[]No
recurringEventIdstringNo
originalStartTimeobjectNo
transparencyopaque | transparentNo
visibilitydefault | public | private | confidentialNo
iCalUIDstringNo
sequencenumberNo
attendeesobject[]No
attendeesOmittedbooleanNo
hangoutLinkstringNo
remindersobjectNo
anyoneCanAddSelfbooleanNo
guestsCanInviteOthersbooleanNo
guestsCanModifybooleanNo
guestsCanSeeOtherGuestsbooleanNo
privateCopybooleanNo
lockedbooleanNo
eventTypedefault | outOfOffice | focusTime | workingLocationNo
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  id?: string,
  email?: string,
  displayName?: string,
  self?: boolean
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  date?: string,
  dateTime?: string,
  timeZone?: string
}
{
  id?: string,
  email?: string,
  displayName?: string,
  organizer?: boolean,
  self?: boolean,
  resource?: boolean,
  optional?: boolean,
  responseStatus?: needsAction | declined | tentative | accepted,
  comment?: string,
  additionalGuests?: number
}[]
{
  useDefault?: boolean,
  overrides?: {
    method?: email | popup,
    minutes?: number
  }[]
}