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.
-
Support getting 'mailboxSettings' properties on the users enumeration
Support getting 'mailboxSettings' property on the users enumeration:
https://graph.microsoft.com/v1.0/users?$select=mail,id,userPrincipalName,mailboxSettingsGetting mailboxSetting per each user generates a lot of queries to Microsoft.
13 votes -
Fully migrate AD users to Azure AD
I would like to be able to fully migrate my AD users to the cloud, so that when I use them to log into an AzureAD Joined Machine, the whoami CMD properly returns AzureAD\fristnamelastname. Right now there are hidden attributes accociated with the previously AD synced user, that causes the whoami CMD to return DOMAIN\username. This is preventing cloud migrations.
Response I received suggesting that I contact this team.
"This a known gap, that we're reviewing. Even though you have migrated the user from AD to Azure AD, the onprem SamAccountName is still intact on the user object, among other…
148 votes -
Add API Call to Retrieve Multiple Levels of Direct Reports for a User
Something like this would be amazingly useful:
/users/{id | userPrincipalName}/?$expand=directReports($levels=n)
Inspired by the ability to get multiple levels of managers above a user:
https://docs.microsoft.com/en-us/graph/api/user-list-manager?view=graph-rest-1.0&tabs=http
4 votes -
Retrieve custom properties of user profile in Sharepoint via Users API
When editing my profile on my company Sharepoint, I see that there is the section "Custom properties" where I can specify Division, Report To, My Bio.
These information is then shown in the User profile view in MS Delve.
I would like to extract these information, using the Graph API on .NET.
I have taken a look at the documentation of Users API in v1.0 and beta, but there is no mention of custom properties.
I have also looked the new Profile API (Preview) but again there is no mention either.15 votes -
Authentication Methods Phone
It would be nice to have the ability to manage (CRUD) the authentication methods phone number with the application permission type. Currently the only option is to utilize the Delegated (work or school account) to be able to do these type of changes. We have a case where we would like to pre-load the MFA phone numbers for the users as well as in our testing environment to be able to populate test users including their MFA phone numbers. Being able to do this via a automated process/script would be hugely beneficial.
2 votes -
Report issue on multi-tenant Client credential flow
Hi Team,
We are hitting the graph api for getting the user details.
Since ours is a multi-tenant application, we created the token using client-credential flow with tenant value as common. But while hitting the graph api {https://graph.microsoft.com/v1.0/users/{upn}} am getting this error
{"error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"date": "2020-12-04T05:52:39",
"request-id": "de5f8bd0-373a-4cac-93da-3bd4cb0a8442",
"client-request-id": "de5f8bd0-373a-4cac-93da-3bd4cb0a8442"
}
}}
1 vote -
Narrower scope of permissions for Synchronization Jobs
Currently Directory.ReadWrite.All is required for controlling Provisioning. This is hard sell to other admins if we only need a Create/Read/Update/Start/Stop Provisioning. Could a more focussed permission be created?
1 vote -
Support getting employeeJoiningDate in User API
Currently in user api response we don't have field which tells what is user company joining date. Is it feasible to introduce this field in user graph api ?
This will basically help to identify set of users who have recently joined the company.1 vote -
Make user property devicekeys writable
The beta users endpoint exposes the undocumented property "deviceKeys" which lists Hello 4 Business device keys assigned to the user. Unfortunately, this property cannot be PATCHed (it is read-only).
This property should be writable in order to be able to remove certain device keys which can be necessary for security reasons.
(Currently, this is only possible with the unsupported "1.6-internal" version of the legacy Azure AD Graph API.)
1 vote -
Add support of "contains" to People methods of Graph API
Add support of "contains" function to GET https://graph.microsoft.com/v1.0/me/people endpoint.
At this moment the endpoint searches people with "startsWith" function.
For example if person has last name "Al Karim" the endpoint won't find it by request "Karim".2 votes -
properteries returned from credentialuserregistrationdetails takes about 24 hours to reflect changes
When a users registration status changes or displayName of the user changes, these changes take about 24 hours to be reflected when making a call to...
GET /reports/credentialUserRegistrationDetailsCan we please improve the change frequency to a much more reasonable time. Sooner the better of course.
6 votes -
Provide License Assignment Time under users endpoint in Microsoft Graph
Currently the list users endpoint - https://graph.microsoft.com/beta/users, only provides the assignment time of individual service plans bundled under an SKU. It would be great if the assignment time of the SKU could be provided under the
assignedLicenses
field. An additional ask here would be to also provide the activation time of a license by a user and license revokement time.
Note - Although this license assignment time information could be obtained from audit logs, they only provide this information for any licenses assigned in the last 30 days and not beyond that, so getting this info under users endpoint…3 votes -
batch delete
graph api batch should be able to bulk delete obejcts or membership to groups
1 vote -
allow use of skip parameter in /users endpoint
In large tenants, retrieving all user objects can take a very long time. To combat that, I was considering the following:
- run parallel queries to retrieve in batches of N (100, 1000,etc.)
- use the skip parameter to allow each parallel job to retrieve the correct batch
- combine results at the endHowever, due to lack of support for skip, this is not possible.
1 vote -
filter on mobilePhone in user information
https://graph.microsoft.com/v1.0/users?$filter=mobilePhone eq '#some value#'
12 votesHi,
filtering on mobilePhone is tricky because it is a “free-text” field, and there is no format guarantee.
It can start with the country code, it may not.
It can be separated by parenthesis, hyphens or dots, or not. Totally depends on the user input.However, this functionality is currently beta, thanks to the new advanced query capabilities for Directory Objects (see announcement blog post https://aka.ms/CountFilterMSGraphAAD )
Here is the query you can try today by setting:
1) Beta Endpoint
2) ConsistencyLevel = eventual header
3) $count=true parameterExample: find all users with mobilePhone starting with “+1” (note: + character is urlencoded)
-
User Query filter by OnPremisesExtensionAttributes.ExtensionAttribute
Allow User query filtering by one of the 15 extension attributes found in the User.OnPremisesExtensionAttributes collection.
- add allow the user collection to be ordered by an attribute as well (indexed)
We need to be able to store a generated login name for a B2B guest user in say ExtensionAttribute5 to handle legacy application SSO operations.(Use Case) It would be nice to query Users on OnPremisesExtensionAttributes .ExtensionAttribute5 eq 'targetValue' without iterating through thousands of users. This would let us determine whether or not the generated name was unique in our domain. (i.e. used before)
9 votes -
Add managerId to user records
A user to manager is a one-to-one relationship, yet to retrieve a list of users and their managers in graph requires the use of the $expand query parameter. This is overkill because you are already getting user details when you get Graph user records, so why not simply return the manager's user id in a managerid property that does not require expansion? For users, $expand can only be used to retrieve one additional item, and this limitation costs Microsoft and their customers more money because data retrievals that should be very simple end up having to be executed across multiple…
1 vote -
Users per licence
Currently it seems rather convulted to get a list of users assigned to a licence much like is possible on the azure portal. It would be much more convient if there was a graph call that made this possible something like
1 vote -
Create Users using User Templates
Please provide API to Create Office 365 Users based on User Templates just as we could do from the Admin Portal.
1 vote -
onPremisesImmutableId
Need able to modify onPremisesImmutableId for a user via MS Graph API
1 vote
- Don't see your idea?