Google Calendar API disallowing start/end date updates for a recurring event

Hey folks!

I am trying to update a recurring event using the Ruby gem google-api-client.

I have the recurring event with the following attributes:

# retrieved using get_event  

{"attendees" =>
  [{"email" => "attendee1@exampleemail.com", "response_status" => "accepted"},
   {"email" => "attendee2@exampleemail.com", "response_status" => "accepted"},
   {"email" => "attendee3@exampleemail.com", "response_status" => "needsAction"}],
 "created" => "2026-02-01T17:39:46.000+00:00",
 "creator" => {"email" => "admin@exampleemail.com"},
 "description" => "My description",
 "end" => {"date_time" => "2026-02-10T20:55:00.000+00:00", "time_zone" => "America/New_York"},
 "etag" => "\"3549999999999999\"",
 "html_link" => "link",
 "i_cal_uid" => "26hsan5hohjasnyutegegbmobc_R20260210T200500@google.com",
 "id" => "26hsan5hohjasnyutegegbmobc_R20260210T200500",
 "kind" => "calendar#event",
 "location" => "location",
 "organizer" => {"display_name" => "Organizer", "email" => "c_d261770a9605c2b07113a1232dasd2adsd12d1sd1sd1d2ds@group.calendar.google.com", "self" => true},
 "recurrence" => ["RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU"],
 "reminders" => {"use_default" => true},
 "sequence" => 0,
 "start" => {"date_time" => "2026-02-10T20:05:00.000+00:00", "time_zone" => "America/New_York"},
 "status" => "confirmed",
 "summary" => "My summary",
 "updated" => "2026-02-06T01:30:59.617+00:00"}

I am trying to apply patch_event to it with the following payload:

new_times = {start: {date_time: "2026-02-10T13:05:00-05:00", time_zone: "America/New_York"}, end: {date_time: "2026-02-10T13:55:00-05:00", time_zone: "America/New_York"}}

client.patch_event("c_d261770a9605c2b07113a1232dasd2adsd12d1sd1sd1d2ds@group.calendar.google.com", "26hsan5hohjasnyutegegbmobc_R20260210T200500", new_times, send_updates: 'none')

And I receive:

Google::Apis::ClientError: invalid: Invalid start time. (Google::Apis::ClientError)

If I try to patch the description only - it works. The issue is with the start/end attributes.

Any idea what could be behind that? I assume it’s related to the _R20260210T200500 suffix, but that’s just a guess and I have no evidence supporting that.