5

I'm using Graph API to get/list and create calendar events. Lately I was trying beta API and recently I've encountered following error on attempt to create calendar event:

The property 'iCalUId' does not exist on type 'Microsoft.OutlookServices.Event

I'm performing POST request using following address:

https://graph.microsoft.com/beta/Users('<user-id>')/calendars/<id>/events

with a JSON object containing 'iCalUId' property. That object was retrieved using beta version of Graph API couple of weeks ago. And at that time creation of calendar event with the same request worked properly.

Documentation states that there is such property.

The question is - am I doing something wrong? or is it beta API that was changed recently? If later - how can I know if there are changes made to beta API?

karel
  • 468
  • 5
  • 14
Vasily
  • 137
  • 1
  • 8
  • 1
    We've encountered the same issue. iCalUId used to be sent, as recently as last week. This seems to have changed now and must be a bug, since there is no other way to refer to the same event across multiple calendars. – karel Jul 17 '18 at 10:18
  • The iCalUid property is still present in the metadata for the beta endpoint (https://graph.microsoft.com/beta/$metadata) so this is likely a bug. The v1.0 endpoint still returns it. Thanks for reporting this, I will report to our dev team. – Jason Johnston Jul 17 '18 at 12:44
  • Thank you @JasonJohnston. Is there a way to know when changes are made to the API? Maybe there are new version subscription or something like that? Thanks in advance. – Vasily Jul 18 '18 at 07:02
  • The changelog summarizes changes to the API: https://developer.microsoft.com/en-us/graph/docs/concepts/changelog – Jason Johnston Jul 18 '18 at 13:40
  • @JasonJohnston, any time estimate in returning iCalUId to the beta API? I am having the same issue. – Martin Sommer Jul 26 '18 at 22:47

1 Answers1

2

The Outlook team made a change to their beta (https://outlook.office.com/api/beta), essentially renaming the iCalUid property to simply uid. This change has not filtered down into the Graph endpoint yet (which still expects iCalUid), causing this break. We're working on correcting this but right now I do not have any timeline.

In the meantime you can workaround the problem by using the v1.0 endpoint. Will update here as I get new information.

Jason Johnston
  • 17,194
  • 2
  • 20
  • 34
  • Hi @JasonJohnston, and thanks for the update. For the time being, I rolled back two of my API calls to v1.0, and made it work again. They are: "/v1.0/me/calendar/events" and "/v1.0/users/%1$s/events?$select=weblink&filter=iCalUId eq '%2$s'". Interesting that Microsoft would change 'iCalUid' to 'uid', given 'iCalUid' is an industry standard. – Martin Sommer Aug 06 '18 at 19:00
  • The value is still an iCal UID, they just changed the name of the property. – Jason Johnston Aug 06 '18 at 19:18