Search code examples
microsoft-graph-apioffice365apimicrosoft-graph-sdks

Microsoft Graph API: identify users with provisioning errors


Using Microsoft's Graph API, I am trying to return users with provisioning errors. Using this URL:

https://graph.microsoft.com/v1.0/users?$select=onPremisesProvisioningErrors,displayName&$filter=onPremisesProvisioningErrors ne null

I get back the error:

{
    "error": {
        "code": "BadRequest",
        "message": "Invalid filter clause",
        "innerError": {
            "date": "2022-10-04T17:37:29",
            "request-id": "d62be5cf-4f5e-47da-93f1-1bb721bc9b14",
            "client-request-id": "689377a9-469b-bfef-b7d5-d48e7938acec"
        }
    }
}

Is there a way to identify just those users with some sort of provisioning error?


Solution

  • I would use any operator to filter users with provisioning errors:

    https://graph.microsoft.com/v1.0/users?$select=onPremisesProvisioningErrors,displayName&$filter=onPremisesProvisioningErrors/any()
    

    But it returns the exception:

    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Empty any query against property 'onPremisesProvisioningErrors' is not supported.",
            "innerError": {
                          ...
            }
        }
    }
    

    According to the documentation, onPremisesProvisioningError resource has property category with only one possible value PropertyConflict.

    I suggest to use filter on that property category.

    https://graph.microsoft.com/v1.0/users?$select=onPremisesProvisioningErrors,displayName&$filter=onPremisesProvisioningErrors/any(r:r/category eq 'PropertyConflict')
    

    It's a little bit workaround but it should return users with provisioning errors.