How to parse calendar events (IPM.Appointment) from Microsoft Graph Export API Fast Transfer Stream (FTS) format?

Aditya Varshney 0 Reputation points
2026-08-26T12:19:32.9133333+00:00

Service: Microsoft Graph API, Exchange Online, eDiscovery/Export.

Scenario: We are trying to programmatically export and parse deleted calendar events (IPM.Appointment) that are residing in hidden Exchange hold folders (e.g., RecoverableItemsDeletions or RecoverableItemsDiscoveryHolds). Because standard Microsoft Graph calendar endpoints (GET /me/events) do not expose events in these hidden folders, we are using the microsoft.graph.exportItems endpoint to retrieve them. Our goal is to extract the calendar metadata (Start, End, Subject, Attendees) and format it as standard JSON or an .ics file.

Result (The Obstacle): The /exportItems endpoint successfully returns a base64-encoded string. When decoded, this yields a raw binary Exchange Fast Transfer Stream (FTS). There is no apparent way to easily parse this into a standard format. Furthermore, the Microsoft MS-OXCFXICS protocol documentation explicitly states: "Clients MUST NOT parse the FastTransfer stream produced by the source server."

Question: Is there a Microsoft-supported SDK, Graph endpoint, or recommended cloud-native approach to parse or convert an FTS binary stream into standard JSON or ICS formats without having to write the data back into the Exchange mailbox?


Microsoft Security | Microsoft Graph
0 comments No comments

1 answer

Sort by: Most helpful
  1. Zoha Fatima 425 Reputation points
    2026-08-27T18:01:03.34+00:00

    Hi Aditya,

    There is currently no Microsoft-supported SDK or Graph endpoint that converts the exported Fast Transfer Stream into JSON or ICS. Microsoft defines this output as an opaque, full-fidelity stream intended only for re-import into Exchange, so a custom FTS parser would be unsupported and potentially unreliable. Microsoft Graph documentation

    Without writing the item back, the supported options are:

    Request individual MAPI fields through the mailboxItem single-value or multi-value extended properties where available. This may retrieve selected metadata, but not necessarily the complete appointment or recipient table.

    Use Microsoft Purview eDiscovery to export the held items as .msg or PST files, then convert them to JSON or ICS using an appropriate library. Purview also supports programmatic downloading of export packages. Purview export guidance

    Therefore, Purview eDiscovery is the most reliable supported approach when mailbox re-import is not acceptable.

    Thank you, and feel free to respond back for more assistance.

    Was this answer helpful?

    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.