API subset | Available versions |
---|---|
Batching multiple API calls | v2.0, beta |
Calendar API | v2.0, v1.0, beta |
Contacts API | v2.0, v1.0, beta |
Data Extensions API | v2.0, beta |
Extended Properties API | v2.0, beta |
Mail API | v2.0, v1.0, beta |
Push Notifications API | v2.0, beta |
Streaming Notifications API (preview) | beta |
People API | beta |
Task API | v2.0, beta |
User Photo API | v2.0, beta |
https://outlook.office.com/
, see more below) to take advantage of writing just one set of code for both organizational Office 365 and personal Outlook.com users.https://outlook.office.com/api/{version}/{user_context}
https://outlook.office365.com/api/{version}/{user_context}
https://outlook.office.com
.Use the v2 authentication endpoint or Azure AD to do authorization and authentication for an app that uses the newOutlook REST API endpoint.x-AnchorMailbox
header for every request and set itto the user's email address. For example:x-AnchorMailbox:[email protected]
Windows Live scopes | Outlook REST API scopes |
---|---|
wl.basic | User.Read, Contacts.Read |
wl.calendars | Calendars.Read |
wl.calendars_update | Calendars.ReadWrite |
wl.contacts_create | Contacts.ReadWrite |
wl.contacts_calendars | Calendars.Read |
wl.emails | User.Read |
wl.events_create | Calendars.ReadWrite |
wl.imap | Mail.ReadWrite, Mail.Send |
https://outlook.office.com/api/{version}/{user_context}
https://outlook.office365.com/api/{version}/{user_context}
, your code will continue to work for a while for Office 365, but you should plan to switch to the new root URL.x-AnchorMailbox
header and set it to the user's email address. Also, handle the case where an Outlook.com user's mailbox has not yet been enabled for the Outlook REST API; check for the error codes MailboxNotEnabledForRESTAPI and MailboxNotSupportedForRESTAPI. See more information here.https://outlook.office.com/api/{version}/{user_context}
.{version}
represents the version of the Outlook REST API in the specified root URL. You can specify one of the following values:http://outlook.office.com/api/v1.0/me/events
.http://outlook.office.com/api/v2.0/me/events
. This version includes changes that may break v1.0, and additional API sets that have matured and been promoted from preview to GA status.http://outlook.office.com/api/beta/me/events
. This version includes the latest API in GA, as well as additional API sets that are in preview, and that may change prior to finalization.{user_context}
is the currently signed-in user, as the Outlook REST API requests are always performed on behalf of the current user.{user_context}
can be the signed-in user, or a user specified by a user ID.{user_context}
in REST requests in one of the following ways:me
shortcut: /api/{version}/me
. The root URL becomes https://outlook.office.com/api/{version}/me
.users/{upn}
format to pass the UPN or a proxy address of the signed-in user, such as:/api/beta/users/[email protected]
. In this example, the root URL would become https://outlook.office.com/api/beta/users/[email protected]
.users/{AAD_userId@AAD_tenandId}
format, utilizing the user ID and tenant ID in Azure Active Directory. For example, users/ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77
The root URL would becomehttps://outlook.office.com/api/beta/users/ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77
.users/{AAD_userId@AAD_tenandId}
./api/{version}/me/events/AAMkAGI3..
/api/{version}/me/events('AAMkAGI3..')
https://outlook.office.com/api
or https://outlook.office365.com/api
as the root URLhttps://outlook.office365.com/ews/odata
.https://outlook.office365.com/ews/odata
onOctober 15, 2015.https://outlook.office365.com/ews/odata
to move to https://outlook.office.com/api/v1.0
by October 15, 2015. v1.0 was the minimum general availability (GA) endpoint to move to by that date.https://outlook.office.com/api/v2.0
), or the previewendpoint (https://outlook.office.com/api/beta
Microsoft mouse intellipoint mac. ) to try the latest APIs in preview status. Keep in mind that in general, API in preview status may change before finalization. If you use them, be prepared to verify features in your app and make appropriate changes. When in-preview APIs get finalized, you will be able to access these enhancements in a GA endpoint as well.