eventId | string | Yes | The event’s id, from ListCalendarEvents or CreateCalendarEvent. |
scope | "all" | "this_event" | Yes | How much of a recurring series an update applies to. |
recurrenceId | string | No | The recurrenceId of the targeted occurrence, from its ListCalendarEvents entry. Required for “this_event”; omit for “all”. |
title | string | No | Replacement title. Omit to keep the current title. |
description | string | No | Replacement event body/description. An empty string clears it; omit to keep the current one. |
location | string | No | Replacement location label. An empty string clears it; omit to keep the current one. |
time | EventTimeInput | No | Replacement time: a timed span with kind “timed” (startsAt, endsAt, optional timeZone) or whole days with kind “allDay” (startDate, exclusive endDate). Omit to keep the current time. |
attendees | AttendeeInput[] | No | Replacement attendee list — replaces all current attendees, so include everyone who should remain. Omit to leave attendees unchanged. |
recurrenceLines | string[] | No | Replacement RFC 5545 recurrence lines. An empty list makes the event one-off; omit to keep the current recurrence. Only valid with scope “all”. |
conference | "google_meet" | "remove" | No | Change the event’s video conference: “google_meet” attaches a fresh Google Meet, “remove” detaches the current conference. Omit to leave it untouched. |
reminders | EventRemindersInput | No | Replacement notification reminders. useDefault: true follows the calendar’s own defaults; otherwise overrides replaces the whole list with entries of method “popup” (a Macro notification) or “email” and minutes before the start — an empty list silences the event. Omit to keep the current reminders. |
rsvp | "accepted" | "declined" | "tentative" | No | Set the user’s own response to the invitation: “accepted”, “declined”, or “tentative”. Omit to leave their response alone. |