 Hi, my name is Marianna Step and I'm a Program Manager on the Office 365 People System team. Today I am introducing the new REST People API, which is currently available for preview in the beta namespace through both Outlook and the Microsoft Graph. This presentation is targeted to developers who have people-related scenarios and want to utilize the rich people knowledge within Office 365. This includes developers with scenarios such as autocomplete, people search, people disambiguation, or any feature which relies on understanding who are the most relevant people to the user. In this video, I will discuss the primary objectives and benefits of the People API, walk through a few example calls, discuss future plans, and provide resources and support to get started. The goal of the People API is to allow users to efficiently search for and browse through the people who matter most to them. Users should be provided a rich view of these people, containing everything they know about them in one place. With this goal in mind, the two primary responsibilities of the People API are to rank people based on their relevance to the user and to display the result as a unified person rather than disconnected contacts and endpoints. The list of people returned is sorted by relevance, which is ranked based on multiple communication, collaboration, and business relationship signals from the user. Supporting both browse and search, the People API adapts the ranking based on the context provided. In addition, the search scenario allows fuzzy matching for spelling mistakes and topic context, allowing a user to search for people by topics they've discussed in previous communications within Office 365. This additional search support is designed to allow for more user-friendly queries and to increase the ability for users to find and disambiguate their desired results. The second main objective of the People API is to provide a unified view of a person which is comprised from multiple sources of data. Today, there are multiple representations of people within Office 365. These include the user's directory, outlook contacts, social contacts from connected accounts, and relevant people from the user's communication patterns, collaboration history, and business relationships. This creates complexity when trying to enumerate and interact with these people entities since they are sourced from multiple service endpoints and have varying metadata properties. In order to return the most complete view of a person and also avoid duplicate results, the person returned from the People API provides a single unified view comprised of everything the user knows about them. The People API is available as part of the Microsoft Graph, which is a single API endpoint exposing information about groups, messages, calendar, people, and much more. For more information, please check out a talk from my colleague on the Microsoft Graph. Let's now jump into the demo and see the People API in action. For this demo, I'm going to be using a tool which allows me to issue restful requests and display the results that are returned below. As I mentioned earlier, the People API is available through Microsoft Graph and Outlook Endpoints. Today, I'm demoing from the Outlook endpoint. As you can see, the request URL contains outlook.office365.com, but all the requests I'm showing today will work with graph.microsoft.com as well. So let's start with the me slash people default browse experience. The results that are returned are the top 10 most relevant people to me. Now, these results are accessible only to me under proper authentication through the new people.read.offscope we're introducing. Taking a quick glance at the results, I have Brian Remick, who is a tech lead that I consistently communicate with very frequently. Steve Friesen, who is a colleague who I also communicate with very frequently. And Nihir Patel, who is actually the primary engineer who worked on the People API and someone I've been communicating with more frequently in recent months. So you can see that these results are very relevant to me personally. Now, the People API also supports most standard query parameters, so I can modify this browse request to include more results and to also select specific properties, in this case, display name. So the results that are returned are the top 1000 most relevant people to me with a property set that I requested, which in this case is just the display name. The People API also supports search. So if I wanted to search for me here, you can see that the API returns a single unified view of me here with everything that I know about him. I work very closely with me here at Microsoft and I'm also connected to him through social networks. You can see that I return both email addresses that I have associated with him, even though these are actually coming from different individual contacts. This detail is completely abstracted for me and I just see one unified view of me here. Now, keep in mind that since this is an early beta preview, the property set is somewhat limited, but this will be expanded significantly in future releases. Search also supports fuzzy matching, so if I want to define me here, but I couldn't quite remember how to spell his name, I could sound it out phonetically, me here Patel. And you can see that the People API was still able to understand who I was looking for and return the right result. And the fuzzy matching also supports mistyped characters. So if I were looking for Brian Remick, but I was in a bit of a hurry and accidentally typed brain Remick, swapped a few characters around and missed a couple. And you can see that I'm still returned the right Brian, even though I had a lot of spelling mistakes in the request. In addition to fuzzy matching, the search also allows for additional context of a topic when searching for people. So for this example, I'm going to be searching for Ed. And just to keep things simple, I'm going to only request the top two results and I'm going to select only the display name property. The results returned are Edward Guo and Edward Thiel. I work very closely with both Edwards, but Edward Guo is more relevant to me than Edward Thiel. Now, I can provide a topic context. And in this case, I'm going to search on Aziz Ansari because I recently went to a comedy show with Edward Thiel. Now, given the topic of Aziz Ansari, Edward Thiel is now ranked higher than Edward Guo. This is because even though in general Edward Guo is more relevant to me, in the context of talking about Aziz Ansari, Edward Thiel is more likely the person that I'm actually looking for. And in fact, you can search based off of topic alone. So if I remove this topic and the search query, I can search just on a topic. And in this case, I'm going to use the People API as a topic. And what I'm returning are the most relevant people to me given that the context is discussing the People API. And these actually happen to be the folks that I've worked most closely with on this project. So now that I've demoed a lot of requests and responses, let's see what this might look like in action. Here I have a mail autocomplete scenario that's leveraging the capabilities of the People API. As you can see, before I even start typing, I'm given suggestions which are powered by the me-slash-people-brow scenario. And as I start typing, it's issuing search requests. And again, I can misspell a name, brain-remic, and I can still resolve the correct recipient that I was looking for. This is just one example of the many scenarios that the People API can power. This early preview of the People API is meant to focus on the ranking capabilities for browse and search scenarios. In future releases, the metadata will become much richer with properties such as actionable insights, personal relationships, extensions, and many others. The API will also provide full CRUD capabilities, allowing clients to update properties of a combined person without having to deal with determining which individual endpoint to modify. This will also give the user the ability to update any person, even if they haven't explicitly added them as a contact. Along with these new capabilities, the underlying ranking technology will continue to grow in both precision and recall as new signals are added. For more information, check out dev.office.com and graph.microsoft.com where you will find API documentation, links to getting started experiences, code samples, and more. Please post any questions to Stack Overflow tagged with Microsoft Graph and Office 365. We always appreciate feedback, so please reach out on Twitter with hashtag Microsoft Graph. Thanks for watching and happy coding!