Microsoft Graph Feature Requests

Welcome to the Microsoft Graph UserVoice! Do you have an idea or feature suggestion based on your experience with Microsoft Graph? Please share these with us by submitting your idea below or voting up ideas submitted by other users. This forum will be directly monitored by the Microsoft Graph engineering teams who are working on new features every day.

If you have feedback on a specific API service, please choose the corresponding category. Please submit any broad ideas related to Microsoft Graph or ideas across more than one service to the “General” category.

This site is only for feature suggestions and ideas! If you need technical help, please go to the Microsoft Graph StackOverflow or if you have a Premier support contract raise a support ticket.

For more information on Microsoft Graph, please checkout https://graph.microsoft.com.


  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Add permissions Tasks.Read.All or Tasks.ReadWrite.All

    Currently it's not possible to access the tasks of all an organisation members regardless of who is connected to the application. At the moment, you can only access Outlook Tasks using delegated permissions (i.e. on behalf of the current user). You can reach outside their own tasks using the Tasks.Read.Shared scope but again, this only provide additional access to Outlook Tasks that were shared with the current user.

    This would be a great add to the Microsoft Graph API to help Managers to follow the progession of their projects with new permissions like Tasks.Read.All or Tasks.readWrite.All.

    38 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Tasks and Plans (Planner)  ·  Flag idea as inappropriate…  ·  Admin →
  2. How can a guest user fetch data from microsoft graph api?

    How can a guest user fetch data from microsoft graph api? How will the user call https://graph.microsoft.com/beta/me/joinedTeams for guest user tenent?

    2 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  3. 5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →
  4. Allow filtering users by officeLocation

    While filtering works for some attributes like department it doesn't work for officeLocation, which sadly I need for my use case.

    GET https://graph.microsoft.com/beta/users?$filter=officeLocation eq 'Gaithersburg, MD'

    Returns:
    {

    "error": {
    
    "code": "Request_UnsupportedQuery",
    "message": "Unsupported or invalid query filter clause specified for property 'officeLocation' of resource 'User'.",
    "innerError": {
    "request-id": "641beedd-4df5-4b97-b6b5-4f574c382d08",
    "date": "2017-07-26T18:32:39"
    }
    }

    }

    34 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →

    This capability is now available in Microsoft Graph public preview. It’s not currently documented.

    NOTE: you’ll need to use a custom HTTP request header ConsistencyLevel: eventual and request $count=true as well, to enable this query capability.

    GET ../beta/users?$filter=officeLocation eq ‘SomeLocation’&$count=true
    ConsistencyLevel:eventual

    See also related queries in the changelog entry https://docs.microsoft.com/en-us/graph/changelog#identity-and-access-azure-ad

  5. Tenant File Content Search

    Api Used:-

    /v1.0/sites/{siteid}/drive/search(q='{search-query}')

    Currently we are looping through all site(id) in a tenant to search the keyword .can we search keyword in the whole tenant with a single api .

    In our case we have more than 500 sites under our tenant so for searching the keyword using this api we have to pass each siteid and get the result.

    It would be good if you could come up with a single api which handles this.

    5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Files (OneDrive)  ·  Flag idea as inappropriate…  ·  Admin →
  6. 5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  7. Make the Class Notebook (OneNote) endpoint available in the Graph Api (beta)

    Make the Class Notebook (OneNote) endpoint available in the Graph Api (beta)

    13 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Notes (OneNote)  ·  Flag idea as inappropriate…  ·  Admin →
  8. Get office365 user last sign_in time

    How can I get office365 user last login details in realtime?

    3 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  9. The ability to filter Guest users on userType using AAD Graph API

    I'm using the following endpoint to query only GUEST users in my tenant

    https://graph.windows.net/<tenantId>/groups/<groupId>/members?api-version=1.5&$filter=userType%20eq%20'Guest'

    This is returning the following error

    Status code 400

    Response body {"error":{"code":"Request_UnsupportedQuery","message":{"lang":"en","value":"The specified filter to the reference property query is currently not supported."}}}

    It would be nice to have an option to query external users in a particular group.

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  10. Raise or remove the limit on number of requests allowed in a batch

    A limit of 5 is insufficient for my batching needs. Please remove this limitation entirely or raise it to a reasonable number (100+).

    44 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  11. Allow wildcards in Search

    Allow using Wildcard characters in Drive Items Search.

    2 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Files (OneDrive)  ·  Flag idea as inappropriate…  ·  Admin →
  12. Allow retrieval of Office 365 users including the availability of OneDrive Resource using Microsoft Graph API

    I have been looking for a way to list all users that have onedrive resource available. I could list all users and call the /users/<user_id>/drives. However, that would required X number of calls corresponding to X number of users which is a hassle.

    Is it possible to include a flag or parameter in the UserObject that informs me that the corresponding user has OneDrive Enabled?

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Files (OneDrive)  ·  Flag idea as inappropriate…  ·  Admin →
  13. User schema extension properties can be configured to show up in token claims

    Allow developers/tenant admins to configure apps so that schema extension properties (added to users through Microsoft Graph) can show up as claims in id and access tokens

    8 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Identity and Access  ·  Flag idea as inappropriate…  ·  Admin →

    This work is on the backlog and currently isn’t scheduled. The feature will be updated here once dev work is started. -EY

  14. Graph API extensions to place users on hold

    It would be really helpful if the Graph API could put mailboxes and onedrive sites on litigation hold. This would also make the process a bit more secure so we could utilize an application to implement the process instead of relying on user credentials. In our organization we are driving towards just in time access. Without Azure P2 licensing this is just another blocker in fully implementing just in time access due to the current requirements of using the Security and Compliance Powershell module.

    13 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  15. Check permission on a Drive

    The permissions API provided by Microsoft Graph lets me identify the permissions of DriveItems within a site but not the Drive itself.

    For example, I can get the permission of an DriveItem by :

    /v1.0/sites/{site-id}/drives/{drive-id}/items/{item-id}/permissions
    The above API lets me decide if I could upload a file under that Item, based on the read/write permission.

    If I would like to do the same for a Document Library (aka Drive) then, the API returns bad request because there isn't an API in the first place,

    /v1.0/sites/{site-id}/drives/{drive-id}/permissions

    I would like to get permissions for a Drive and then let the user know…

    5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Files (OneDrive)  ·  Flag idea as inappropriate…  ·  Admin →
  16. expand directoryObjects of a user with a select statement

    In the USER entity, SELECT works and EXPAND works, but not together for listing directory Objects like registeredDevices, Instead we have to choose to either make batch calls of the select first, and then per user make the expand call -or do just the EXPAND and get all of it. Could we expand the ability to make a SELECT and EXPAND in the call? This would be the ideal call in BETA to get users enabled and their devices.

    https://graph.microsoft.com/beta/users?filter=accountEnabled eq true&select=id,accountEnabled,userPrincipalName,registeredDevices&expand=registeredDevices

    3 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  17. 10 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  18. Extend Rest API to allow read of security and compliance center alerts

    Security and compliance center alerts data is only available from powershell, it would be great if we could at least read the alerts through the rest api.

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  19. Add support for negation operators in Microsoft Graph for Azure AD resources

    It would be useful to be able to support negation operators such as "not" and "ne" when querying the Microsoft Graph.

    Sometimes you want all items, except some data. Fetching all data first and using post filtering is not very efficient.

    To filter on displayName and id is priority, and userPrincipalName a secondary want.

    7 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  20. Increase webhook subscription from 3 days to about 6 months

    From the developer's view, ideally the webhook subscription will never expire. But that's probably not practical.

    The next best would be say 6month expiry. Because that means we still need to build a re-scheduling mechanism. But we don't have to run it every 3 days.

    I believe if the expiry was too long say 1 or 2 years, the developers will leave without building a re-scheduler, so the webhook will just break in 1 year's time.

    Currently, because the webhook subscription expires every three days, we are driving a behaviour where developers don't use webhooks - they just use scheduled…

    9 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →

    We are working on extending the webhooks framework with new functionality, and this will also allow us to increase subscription lifetime. -EY

  • Don't see your idea?

Feedback and Knowledge Base