Outlook calendar: returning deleted events id

2022-01-27T14:55:32.603+00:00

How to get a list of deleted event in outlook calendar? After remove event from calendar request delta no return removed event.

Request: https://graph.microsoft.com/v1.0/me/calendarView/delta?startDateTime=2022-01-25T00:00:00&endDateTime=2022-01-30T20:00:00

Response:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(event)",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/calendarView/delta?$skiptoken=uwMsonT1N46Me49COq9SD8Qs7MPrMv1mDQXSaJ0HYSqUgwlbN0oi-sFjX8n3xmLf__YnmN9_HXaPZsighI_1SmpiBPi5pO3RBMPqWvORTnCaK5lMp3zN-VfYDuukicwWItfKrDqmSNj6f43G0_Q2q_dG9gy3JAd2Iq404yYEL3d269mgk1YeacqQGl7e6muMW-dDDiK1QA3CdIpb4w8-Ng.KTEgFUnNoQs3_ImEMeud2X6nkn9ODgQ6fE_TkGGDPAE",
"value": [
{
"@odata.type": "#microsoft.graph.event",
"@odata.etag": "W/\"Z47/STUbYkukHy6KMlayVAAACiMbZA==\"",
"createdDateTime": "2022-01-27T09:48:41.4245981Z",
"lastModifiedDateTime": "2022-01-27T09:50:42.3532514Z",
"changeKey": "Z47/STUbYkukHy6KMlayVAAACiMbZA==",
"categories": [],
"transactionId": "c7555340-474b-cf1f-5bd8-d9e197da220e",
"originalStartTimeZone": "Russian Standard Time",
"originalEndTimeZone": "Russian Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E00800000000586CEF106313D801000000000000000010000000098B865F092B734F913A0843932953BD",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Test-1",
"bodyPreview": "",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"IsRoomRequested": false,
"AutoRoomBookingStatus": "None",
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x%2BZFmwXxoAcAZ47%2FSTUbYkukHy6KMlayVAAAAgENAAAAZ47%2FSTUbYkukHy6KMlayVAAAAAol1WQAAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"OccurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"CalendarEventClassifications": [],
"recurrence": null,
"AutoRoomBookingOptions": null,
"onlineMeeting": null,
"id": "AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x_ZFmwXxoAcAZ47-STUbYkukHy6KMlayVAAAAgENAAAAZ47-STUbYkukHy6KMlayVAAAAAol1WQAAAA=",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": ""
},
"start": {
"dateTime": "2022-01-27T10:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2022-01-27T10:30:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"attendees": [],
"organizer": {
"emailAddress": {
"name": "yu.saprikin@harsh.com .com",
"address": "yu.saprikin@harsh.com .com"
}
}
},
{
"@odata.type": "#microsoft.graph.event",
"@odata.etag": "W/\"Z47/STUbYkukHy6KMlayVAAACiMbXQ==\"",
"createdDateTime": "2022-01-27T09:49:10.7193298Z",
"lastModifiedDateTime": "2022-01-27T09:49:10.766201Z",
"changeKey": "Z47/STUbYkukHy6KMlayVAAACiMbXQ==",
"categories": [],
"transactionId": "96474716-bfd8-5087-1ec6-ee9c885972dc",
"originalStartTimeZone": "Russian Standard Time",
"originalEndTimeZone": "Russian Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E00800000000CD7165226313D80100000000000000001000000037CD14E0F9081D4D9472FE4CAD4E2B14",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Test-2",
"bodyPreview": "",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"IsRoomRequested": false,
"AutoRoomBookingStatus": "None",
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x%2BZFmwXxoAcAZ47%2FSTUbYkukHy6KMlayVAAAAgENAAAAZ47%2FSTUbYkukHy6KMlayVAAAAAol1WUAAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"OccurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"CalendarEventClassifications": [],
"recurrence": null,
"AutoRoomBookingOptions": null,
"onlineMeeting": null,
"id": "AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x_ZFmwXxoAcAZ47-STUbYkukHy6KMlayVAAAAgENAAAAZ47-STUbYkukHy6KMlayVAAAAAol1WUAAAA=",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": ""
},
"start": {
"dateTime": "2022-01-28T10:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2022-01-28T10:30:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"attendees": [],
"organizer": {
"emailAddress": {
"name": "yu.saprikin@harsh.com .com",
"address": "yu.saprikin@harsh.com .com"
}
}
},
{
"@odata.type": "#microsoft.graph.event",
"@odata.etag": "W/\"Z47/STUbYkukHy6KMlayVAAACiMbXw==\"",
"createdDateTime": "2022-01-27T09:49:22.7809477Z",
"lastModifiedDateTime": "2022-01-27T09:49:22.8121962Z",
"changeKey": "Z47/STUbYkukHy6KMlayVAAACiMbXw==",
"categories": [],
"transactionId": "71d47061-da07-cbaf-cf2c-e68d23bc7db7",
"originalStartTimeZone": "Russian Standard Time",
"originalEndTimeZone": "Russian Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E00800000000C0E695296313D80100000000000000001000000061A161B86D3B6C4297C72794E65532FC",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Test-3",
"bodyPreview": "",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"IsRoomRequested": false,
"AutoRoomBookingStatus": "None",
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x%2BZFmwXxoAcAZ47%2FSTUbYkukHy6KMlayVAAAAgENAAAAZ47%2FSTUbYkukHy6KMlayVAAAAAol1WYAAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"OccurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"CalendarEventClassifications": [],
"recurrence": null,
"AutoRoomBookingOptions": null,
"onlineMeeting": null,
"id": "AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x_ZFmwXxoAcAZ47-STUbYkukHy6KMlayVAAAAgENAAAAZ47-STUbYkukHy6KMlayVAAAAAol1WYAAAA=",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": ""
},
"start": {
"dateTime": "2022-01-29T05:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2022-01-29T05:30:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"attendees": [],
"organizer": {
"emailAddress": {
"name": "yu.saprikin@harsh.com .com",
"address": "yu.saprikin@harsh.com .com"
}
}
}
]
}

Then we delete two events in outlook on 28th and 29th Jan manually

Request: https://graph.microsoft.com/v1.0/me/calendarView/delta?startDateTime=2022-01-25T00:00:00&endDateTime=2022-01-30T20:00:00
Response:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(event)",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/calendarView/delta?$skiptoken=uwMsonT1N46Me49COq9SD_gT0vMqMwlMg2K6GoJMRoQyLtgevI6xvO0bo29tB0MP4ndf3TL8XrWWoGvIF7zSGVkTGXjmzZj0mHaUvd4jOSktsdMPKsMm3z7WEAtlxCewjakI8Xoc0mmxavb5qQblwUplDpibdrPX5wpQwu5GW_85BylM7-IsI4A-gy9WN-DMWJQlqiOXqbrj0zJkKHQUSw.s8JCgiTF5wQjW1dtsmuTtpmEDS3oIIrlk4UD4lm230A",
"value": [
{
"@odata.type": "#microsoft.graph.event",
"@odata.etag": "W/\"Z47/STUbYkukHy6KMlayVAAACiMbZA==\"",
"createdDateTime": "2022-01-27T09:48:41.4245981Z",
"lastModifiedDateTime": "2022-01-27T09:50:42.3532514Z",
"changeKey": "Z47/STUbYkukHy6KMlayVAAACiMbZA==",
"categories": [],
"transactionId": "c7555340-474b-cf1f-5bd8-d9e197da220e",
"originalStartTimeZone": "Russian Standard Time",
"originalEndTimeZone": "Russian Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E00800000000586CEF106313D801000000000000000010000000098B865F092B734F913A0843932953BD",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Test-1",
"bodyPreview": "",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"IsRoomRequested": false,
"AutoRoomBookingStatus": "None",
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x%2BZFmwXxoAcAZ47%2FSTUbYkukHy6KMlayVAAAAgENAAAAZ47%2FSTUbYkukHy6KMlayVAAAAAol1WQAAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"OccurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"CalendarEventClassifications": [],
"recurrence": null,
"AutoRoomBookingOptions": null,
"onlineMeeting": null,
"id": "AQMkADAwATM3ZmYAZS00NzlmLTU0OGUtMDACLTAwCgBGAAADgkipRWWYdk63x_ZFmwXxoAcAZ47-STUbYkukHy6KMlayVAAAAgENAAAAZ47-STUbYkukHy6KMlayVAAAAAol1WQAAAA=",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": ""
},
"start": {
"dateTime": "2022-01-27T10:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2022-01-27T10:30:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"attendees": [],
"organizer": {
"emailAddress": {
"name": "yu.saprikin@harsh.com .com",
"address": "yu.saprikin@harsh.com .com"
}
}
}
]
}

In last response we don't see an elemens which showed in your documentation:
{
"@odata.type": "#microsoft.graph.event",
"id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQLkRkXbBznTvAADb6ytyAAA=",
"@removed": {
"reason": "deleted"
}
},

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

3 answers

Sort by: Most helpful
  1. Sheena-MSFT 1,736 Reputation points
    2022-01-27T17:48:33.963+00:00

    Hi @Станислав Станислав

    To get a list of deleted event in outlook calendar , we have to run this endpoint https://graph.microsoft.com/v1.0/me/calendarView/delta?startDateTime=2022-01-26T00:00:00&endDateTime=2022-01-29T20:00:00 it will return all the events in this time frame. Also in the response we will receive a delta token in odata.nextLink parameter as shown below 169182-delta1.png

    You can save that link to get the incremental changes in that calendarView.

    Then delete an event within in this time frame and run the delta token to get the deleted events as mentioned [here]
    2.

    169173-delta2.png

    169152-delta3.png

    You can only obtain deleted items using /delta queries. When calling /calendarView it will give you only the current calendar, not previous iterations of that calendar.

    Hope this helps you.
    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have further questions about this answer, please click "Comment".

    0 comments No comments

  2. BlueOcean 1 Reputation point
    2022-03-23T11:43:42.8+00:00

    Hello @Sheena-MSFT
    I have followed your instructions, however I couldn't get the removed events by querying the next link.
    186074-capture-decran-2022-03-23-123019.pngAs you can see in the capture 2, there is only an empty list in the answer. Can you help me fix this problem. Thank you so much

    186055-capture-decran-2022-03-23-124118.png


  3. Nicolas LA PIETRA 0 Reputation points
    2023-11-16T08:28:34.67+00:00

    I have the same behavior, does anyone have a solution?

    0 comments No comments

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.