Microsoft Graph event transactionId retention and safe recovery after an unknown create outcome

Daniel Hollis 0 Reputation points
2026-10-02T01:21:31.11+00:00

We are developing an Outlook calendar integration using Microsoft Graph v1.0 and delegated Calendars.ReadWrite access. It creates attendee-free single-instance events in the connected user's calendar.

Before sending POST /me/calendars/{calendar-id}/events, we durably persist the original JSON body and transactionId. A request may be accepted by Microsoft while its response is lost, or the process may stop before a request reaches Microsoft. We retry using the same transactionId and unchanged body, and search for the event using a application-specific single-value extended property, with ownership verification before adopting or changing an event. Immediate replay and exact-property lookup worked in our scoped live tests.

The event resource documentation describes transactionId as preventing redundant POSTs after a lost response, but does not specify a retention period. Please confirm:

  1. What is the guaranteed retention period and scope of transactionId deduplication (mailbox, calendar, client application, or something else)?
  2. Does retrying the same transactionId and identical body remain duplicate-safe after hours or days, including after the user moves or deletes the original event?
  3. If deduplication expires, what supported protocol establishes absence or safely recovers an old request with an unknown outcome? Is an empty exact-value singleValueExtendedProperties query authoritative for this purpose, and are there indexing/consistency delays to allow for?
  4. Is there a supported client-assigned event identity or another documented mechanism that provides this recovery guarantee?

We currently stop creating after a conservative application retry limit rather than risk duplicates. We need the supported behavior and relevant documentation before widening recovery. This is a development/design question, not a reported production outage. No customer data or credentials are included.

Reference: https://learn.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-1.0

Microsoft Security | Microsoft Graph
0 comments No comments

Your answer

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