Microsoft Exchange People API

Operations for retrieving relevant people

Operations 2

GET /me/people Microsoft Exchange List people #
GET /users/{user-id}/people Microsoft Exchange List user's people #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-exchange-people-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-exchange-people-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Exchange Microsoft Graph People API
  description: Retrieve people most relevant to a user based on communication and collaboration patterns, business relationships, and contacts. The People API returns person objects ordered by their relevance to the user, which is determined by the user's communication and collaboration patterns. Useful for people-picking scenarios and social intelligence features.
  version: 1.0.0
  contact:
    name: Microsoft Support
    url: https://support.microsoft.com
    email: support@microsoft.com
  license:
    name: Microsoft API License
    url: https://www.microsoft.com/en-us/legal/terms-of-use
  x-date-modified: '2026-03-04'
servers:
- url: https://graph.microsoft.com/v1.0
  description: Microsoft Graph v1.0 production endpoint
security:
- oauth2: []
tags:
- name: People
  description: Operations for retrieving relevant people
paths:
  /me/people:
    get:
      operationId: listPeople
      summary: Microsoft Exchange List people
      description: Retrieve a collection of person objects ordered by their relevance to the signed-in user, which is determined by the user's communication and collaboration patterns, and business relationships. People can be local contacts, contacts from social networking or the organization's directory, and people from recent communications such as email.
      tags:
      - People
      parameters:
      - $ref: '#/components/parameters/TopParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      - $ref: '#/components/parameters/OrderByParam'
      - name: $search
        in: query
        description: Search for people by name or alias. Supports fuzzy matching and the topic keyword to find people based on topics extracted from email conversations.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved people
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /users/{user-id}/people:
    get:
      operationId: listUserPeople
      summary: Microsoft Exchange List user's people
      description: Retrieve a collection of person objects ordered by their relevance to the specified user. Requires People.Read.All permission. Useful for scenarios where an application needs to retrieve relevant people for a user other than the signed-in user.
      tags:
      - People
      parameters:
      - name: user-id
        in: path
        required: true
        description: The unique identifier or user principal name of the user
        schema:
          type: string
      - $ref: '#/components/parameters/TopParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successfully retrieved people for user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonCollectionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    Forbidden:
      description: Forbidden - insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
  schemas:
    ODataError:
      type: object
      description: OData error response
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            innerError:
              type: object
              properties:
                request-id:
                  type: string
                date:
                  type: string
                  format: date-time
    Person:
      type: object
      description: Represents an aggregation of information about a person from across mail, contacts, and social networks. People can be local contacts, contacts from social networking, the organization's directory, and people from recent communications.
      properties:
        id:
          type: string
          readOnly: true
          description: The person's unique identifier
        displayName:
          type: string
          description: The person's display name
        givenName:
          type: string
          description: The person's given name
        surname:
          type: string
          description: The person's surname
        birthday:
          type: string
          description: The person's birthday
        personNotes:
          type: string
          description: Free-form notes about this person
        isFavorite:
          type: boolean
          description: Whether the user has flagged this person as a favorite
        jobTitle:
          type: string
          description: The person's job title
        companyName:
          type: string
          description: The name of the person's company
        department:
          type: string
          description: The person's department
        officeLocation:
          type: string
          description: The location of the person's office
        profession:
          type: string
          description: The person's profession
        userPrincipalName:
          type: string
          description: The user principal name (UPN) of the person based on RFC 822 in the format alias@domain
        imAddress:
          type: string
          readOnly: true
          description: The SIP address for VOIP instant messaging
        scoredEmailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/ScoredEmailAddress'
          description: The person's email addresses with relevance scores
        phones:
          type: array
          items:
            $ref: '#/components/schemas/Phone'
          description: The person's phone numbers
        postalAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: The person's addresses
        websites:
          type: array
          items:
            $ref: '#/components/schemas/Website'
          description: The person's websites
        personType:
          $ref: '#/components/schemas/PersonType'
        yomiCompany:
          type: string
          description: Phonetic Japanese company name
    Website:
      type: object
      description: A website
      properties:
        type:
          type: string
          enum:
          - other
          - home
          - work
          - blog
          - profile
          description: The type of website
        address:
          type: string
          format: uri
          description: The URL of the website
        displayName:
          type: string
          description: The display name of the website
    PersonCollectionResponse:
      type: object
      description: Collection of person objects
      properties:
        '@odata.context':
          type: string
        '@odata.nextLink':
          type: string
          format: uri
        value:
          type: array
          items:
            $ref: '#/components/schemas/Person'
    Location:
      type: object
      description: Location information
      properties:
        displayName:
          type: string
          description: The name of the location
        locationType:
          type: string
          description: The type of location
        locationUri:
          type: string
          description: URI for the location
        address:
          $ref: '#/components/schemas/PhysicalAddress'
    Phone:
      type: object
      description: A phone number
      properties:
        type:
          type: string
          enum:
          - home
          - business
          - mobile
          - other
          - assistant
          - homeFax
          - businessFax
          - otherFax
          - pager
          - radio
          description: The type of phone number
        number:
          type: string
          description: The phone number
    PhysicalAddress:
      type: object
      description: Physical street address
      properties:
        street:
          type: string
        city:
          type: string
        state:
          type: string
        countryOrRegion:
          type: string
        postalCode:
          type: string
    PersonType:
      type: object
      description: The type of person
      properties:
        class:
          type: string
          description: The type of data source such as Person (for directory data) or Group (for unified groups)
        subclass:
          type: string
          description: The sub-type such as OrganizationUser, PersonalContact, ExternalContact, or UnifiedGroup
    ScoredEmailAddress:
      type: object
      description: An email address with a relevance score
      properties:
        address:
          type: string
          format: email
          description: The email address
        relevanceScore:
          type: number
          format: double
          description: The relevance score of the email address (0.0 to 100.0)
        selectionLikelihood:
          type: string
          enum:
          - notSpecified
          - high
          description: The likelihood that the email address would be selected
  parameters:
    SkipParam:
      name: $skip
      in: query
      description: Number of results to skip (not supported with $search)
      schema:
        type: integer
        minimum: 0
    TopParam:
      name: $top
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        minimum: 1
    SelectParam:
      name: $select
      in: query
      description: Comma-separated list of properties to include
      schema:
        type: string
    OrderByParam:
      name: $orderby
      in: query
      description: Property to sort by (default is relevance)
      schema:
        type: string
    FilterParam:
      name: $filter
      in: query
      description: OData filter expression
      schema:
        type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization with Microsoft identity platform
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            People.Read: Read user's relevant people list
            People.Read.All: Read all users' relevant people lists