Microsoft Graph - Consolidating multiple APIs into one


Paul King, Senior Application Development Manager, introduces Microsoft Graph API as the unifying endpoint for many APIs


Use Microsoft Graph to get access to Users, Groups, Mail, Calendars, Contacts, Files, Tasks, People, Notes and more — all from a single endpoint.As Microsoft’s cloud services has evolved, so have the APIs used to reference them.  When Microsoft first offered cloud services like Exchange Online, SharePoint, OneDrive and others, and API to access that service was launched too.  There would be little use for a cloud service if developers could not access the content.  This brought us to a huge list of new SDK’s and REST endpoints to service each of these individual technologies as they were released.  Each of these endpoints required Access Tokens and returned status codes that were each unique to each individual service.  As we continue to improve the developer experience through customer feedback, we are now offering a single endpoint for all developers to interact with our online services in a consistent, simplified way:  Microsoft Graph.

Microsoft Graph exposes multiple APIs from Office 365 and other Microsoft cloud services through the https://graph.microsoft.com endpoint.  This single endpoint now supports retrieving data and querying relationships between:

  • Azure Active Directory
  • Exchange Online – including Mail, Calendar and Contacts
  • SharePoint Online including file storage
  • OneDrive
  • OneDrive for Business
  • OneNote
  • Planner

Developing against these APIs can be done from any development environment including iOS, Android, and Visual Studio; any platform that supports REST interfaces can be used.  To see how to use the API, we have plenty of samples available as well as an Explorer that will allow you work against a sample tenant or your own Office 365 tenant.  In addition to simplifying the multiple APIs into a single endpoint, we have streamlined our documentation and error conditions as well.

I have had several opportunities to work directly with Microsoft Graph lately.  The most recent has been working with files in OneDrive, OneDrive for Business and SharePoint.  This combined API makes it much easier to work with assets across all three of these services.  I’ve also been working on an internal project with some of my peers and it’s been very exciting to see how easily this API can be used to surface organizational information as well.

Microsoft Graph has v1.0 and beta interfaces for you begin working with today.  There is also a changelog that shows all of the activity going on within the interface on a monthly basis.  For more information on how to incorporate Microsoft Graph, reach out to your Premier Support Application Development Manager or check it out here.


Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality.  Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.

Comments (1)

  1. CharlieWKing says:

    Customers currently using the Exchange specific endpoint should really consider refactoring code to use the Graph API. Mainly because the Exchange endpoint will stop being updated eventually if it hasn't already, but also because other O365 services like InTune are going to be integrated more and more into the Graph API until it covers all the Online Services. It simplifies the scoping required in the applications to just the scope for the Graph API, as well as simplifying the syntax of writing HTTP requests since they all now follow a similar pattern. The link in the article (https://graph.microsoft.io) takes you to the Graph page where you can use the Graph Explorer against a demo tenant or your tenant to try out some simple queries. Also, since the Graph API is an OData feed, it can be consumed directly via PowerBI, which could be useful for building dashboards displaying information on users in a support scenario, but will probably be best used when integrated with the Dynamics CRM Graph API for displaying customer info. The concept is to make access to your own data easier than ever and it's always interesting to me to see how removing the barriers to data changes behavior - it's really the essence of technology - and the Graph API will certainly do that.

Skip to main content