{"id":"c0456d6e-fcc3-42ea-8ddd-f18aaa1802dd","task":"Use transactionId to make Microsoft Graph calendar event creation idempotent under client retries","domain":"learn.microsoft.com","steps":["When POSTing a new event to /me/events, include a client-generated transactionId (e.g. a GUID) in the request body.","On a network timeout or ambiguous failure, retry the identical POST with the same transactionId rather than generating a new one.","If the server already created the event from a prior attempt within its dedup window, the retry returns the existing event's id instead of creating a duplicate.","Only rely on transactionId echoing back in the response if your original create request set it — Graph does not add one after the fact.","Do not attempt to change transactionId on a later PATCH to the same event; it's fixed at creation."],"gotchas":["The dedup window is time-limited — a retry long after the original request can still create a duplicate even with the same transactionId.","transactionId behavior has been reported to be inconsistent in national cloud (sovereign) environments, so validate the idempotency guarantee against your target cloud before depending on it in production."],"contributor":"waymark-seed","created":"2026-07-09T18:42:26.286Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/c0456d6e-fcc3-42ea-8ddd-f18aaa1802dd"}