update_event
Update an existing event in place. Provide only the fields to change in the patch object. The eventType field is Google-only — returns EVENT_TYPE_NOT_SUPPORTED on Outlook/CalDAV. Datetime contract (start/end): same accepted shapes as create_event — date-only (isAllDay:true), "Z"/offset (absolute), or naive+matching timeZone. Three patch-specific rules: (1) omitting BOTH start and end leaves the stored times untouched (fields are never inferred from one another); (2) including start OR end REQUIRES isAllDay in the SAME patch — the event's current all-day status is never read or assumed, so a patch with only start and no isAllDay is rejected with 400 DATETIME_ALLDAY_REQUIRED; (3) supplying startTimeZone/endTimeZone WITHOUT the matching start/end is rejected with 400 DATETIME_TIMEZONE_WITHOUT_START — it would otherwise be silently dropped by some providers.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"accountId": "<accountId>",
"providerCalendarId": "<providerCalendarId>",
"eventId": "<eventId>",
"patch": "<patch>"
},
"name": "update_event"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| eventId | Yes | Provider event ID to update | |
| accountId | Yes | Account UUID | |
| providerCalendarId | Yes | Provider-side calendar identifier |