| id | Yes | Id of the recurring calendar event (template) to update. | |
| notes | No | New freeform notes. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 5000 characters. | |
| title | No | New event title/summary. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 200 characters. | |
| endDate | No | PATCH-style date field: omit or send null to leave the stored end date unchanged, send an empty string to clear it (recurrence becomes unbounded by date), or send 'YYYY-MM-DD' to set a new last occurrence date. Changing this deletes and regenerates future instances. | |
| duration | No | New length of each instance, in ISO 8601 duration format. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| isAllDay | No | True if generated instances are all-day events; false for timed instances. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| location | No | New location, replacing the existing one entirely. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Set $type to 'Address' for physical (with line1-3, postalCode, countryCode) or 'OnlineLocation' for virtual (with url, notes). | |
| timezone | No | IANA timezone id (e.g. 'Europe/London') that startTime is in. Omit to leave unchanged; null resets to UTC. Changing this regenerates instances. | |
| startDate | No | PATCH-style date field: omit or send null to leave the stored start date unchanged, send an empty string to clear it, or send 'YYYY-MM-DD' to set a new anchor date. Changing this deletes and regenerates future instances. | |
| startTime | No | New time of day each instance starts, in HH:mm:ss format (local to timezone). Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| description | No | New longer free-text description. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 2000 characters. | |
| cronExpression | No | New recurrence interval, NOT a cron expression despite the field name. Format is 'N Unit' where N is a positive integer and Unit is one of Day, Week, Month, Year (case-sensitive), e.g. '1 Day', '2 Week', '1 Month', '1 Year'. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| maxOccurrences | No | New maximum number of instances to generate. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |