Outlook REST API changes to beta endpoint

We are making a few changes to the Office 365 REST APIs beta endpoint. The changes are being rolled out in pre-prod and production systems and will be widely deployed over the next few weeks.

User ID changed

The User entity's Id property will start returning a new format: {AAD User Id}@{AAD Tenant id} instead of the user's SMTP address.

  {
   ...
   @odata.id: "https://outlook.office365.com/api/beta/Users('9607a528-7230-43d2-bb04-b2e576eafba5@2dc87bd3-88ff-4b99-b7ba-618c973e93ea')",
   Id: "9607a528-7230-43d2-bb04-b2e576eafba5@2dc87bd3-88ff-4b99-b7ba-618c973e93ea"
   EmailAddress: "rohitag@contoso.com",
   DisplayName: "Rohit Nagarmal",
   Alias: "rohitag",
   ...
 } 
 

Note that we are also adding the EmailAddress property to User that contains the SMTP address that used to be in Id.

The request to find a user will continue to allow specifying an SMTP in addition to the new id format. So both of these requests are valid:

  GET https://outlook.office365.com/api/beta/users/rohitag@contoso.com

GET https://outlook.office365.com/api/beta/users/9607a528-7230-43d2-bb04-b2e576eafba5\@2dc87bd3-88ff-4b99-b7ba-618c973e93ea

 

With this change, we have made the API more consistent with our Groups API where the ID always returned in the {AAD User Id}@{AAD Tenant id} format.

IsContactPhoto property removed

We have removed the IsContactPhoto property from the FileAttachment entity.

Hopefully this was something that you were not using anyways, but if you had your clients deserialize the FileAttachment object and were reading this property, you will have to update the code to remove references to it.

Name changes

We are making changes to entity names and property names to avoid naming conflict and confusion when we expose the Outlook entities in the Office 365 Unified API.

  • Folder entity renamed to MailFolder
  • Folders property on User entity renamed to MailFolders
  • DatetimeLastModfied renamed to LastModifiedDateTime
  • DateTimeCreated renamed to CreatedDateTime
  • DateTimeReceived renamed to ReceivedDateTime
  • DateTimeSent renamed to SentDateTime
  • DateTimeLastDelivered renamed to LastDeliveredDateTime

Please stay tuned, we are also making updates related to timezones and reminders in calendar events. We will have a separate post on these changes very soon.

Thanks,
Rohit