Skip to main content
Microsoft Idea

Power BI

New

REST API Get Dataset Users

Vote (5) Share
Chris Burgess | ACTGOV's profile image

Chris Burgess | ACTGOV on 08 Aug 2022 07:33:03


Admin - Datasets GetDatasetUsersAsAdmin - REST API (Power BI Power BI REST APIs) | Microsoft Docs


There is a limit to 200 requests per hour.


This API looks at each end point item (reports, dashboards, datasets, datamarts etc), i believe, and resolves the users/permissions for each associated dataset being consumed by the end point.

This is extremely valuable for dataset,report and workspace permissions and licensing management across the tenancy.

Unfortunately the 200 per hour means it is not a viable option, currently, for anything but small tenancies.


We can get the resolved users from each endpoint independently via specific API GetXXUsersAsAdmin.


The DatasetUsers API does not have a feature to get only direct Dataset assigned users (dataset access shared with user). Its all or nothing.


Im asking for an enhancement to the REST API to increase the number of calls allowed (unlimeted would be ideal!!) and/or to be able to limit/identify the source of the user permission on the dataset.

Similar to the "GET https://api.powerbi.com/v1.0/myorg/admin/groups/{groupId}?$expand={$expand}" - Get Groups as Admin with an expand or filter option for specific end points


This would give the flexibility to get a whole of tenancy dataset usership via the API.


Note: The APIs for workspace info, while comprehensive, dont lend themselves to automation of tenant wide data.

https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-post-workspace-info

https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-get-scan-result


 

Comments (1)
Chris Burgess | ACTGOV's profile image Profile Picture

Patricia Jones on 16 Oct 2023 06:31:23

RE: REST API Get Dataset Users

We use the CozyRoc components with SSIS to do this and can throttle back the call rate to fit within 200 rph. Job of course can run unattended on schedule using SQL Agent.