How can I get information regarding deleted instances of recurring Outlook Calendar events?

Bryan H 0 Reputation points
2024-07-23T17:38:48.92+00:00

Hi, I'm having trouble getting information regarding exceptions and deletions to recurring Outlook Calendar events. I'm successfully getting all the events on my calendar from the Microsoft Graph API's Java SDK and am storing them on my end to display. For recurring events, i'm using the provided recurrence pattern to calculate instances of recurring events as using the /calendars/{calendar-id}/calendarView endpoint would require a start and end date time, and some events recur indefinitely.

On top of this, I am also creating a Subscription for my calendar to receive update webhook notifications to keep track of changes being made on the Outlook side of things. So far this is all working as expected, but I'm noticing that when I update or delete a single instance of a recurring event, i'm not able receiving information that I can use to keep track of these changes on my end.

Here is what I have tried so far:
I delete a single instance of a recurring event and a Subscription notification is received, however none of the data i receive seems to indicate which event instance has been modified/deleted. Here is an example of a Subscription notification for a deleted event instance that has been parsed into a Map.
Screenshot 2024-07-23 at 1.21.23 PM

I do see the identifier for the backing event and am using it to sync its API data via a new request, but event instance exclusions/deletions are not present in the API response for an event using the /calendar/{calendar-id}/events/{event-id}/ endpoint. I do see that I can request information regarding expanded instances for a recurring event by using the /calendar/{calendar-id}/events/{event-id}/instances/ endpoint, but when an event instance is updated, I see no way to identify which instance was updated so that I can refresh the data for that instance specifically and store it on my end as an exclusion. Additionally when an instance is deleted, it seems that it disappears from the API response data entirely. I no longer see it present when requesting all instances of a recurring event.

On top of this, the /instances/ endpoint requires both a start and end date time, which also is not ideal since many events occur indefinitely.

In short, is there a way I can specifically request data for an event that includes its recurrence pattern, as well as information regarding which instances have deviated from the pattern? i.e. exclusions/deletions.

Or even more helpful would be the recurrence rule and/or exception date times as defined by the iCalendar RFC5455 specification

Thanks!

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
12,140 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.