Forum Discussion
[ISSUE] Power BI REST API - GetDashboardsAsAdmin
- 11 months ago
Hi zhhorton,
As mentioned in your data egnieering forum post:
[ISSUE] Power BI REST API - GetDashboardsAsAdmin - Microsoft Fabric Community
When using $expand, a $top also needs to be specified.
In my enviornment:
GET https://api.powerbi.com/v1.0/myorg/admin/dashboards?%24expand=tilesreturns a 400 response with this body:
{ "error": { "code": "InvalidRequest", "message": "This API expects $top query option to be provided." } }Where as this:
GET https://api.powerbi.com/v1.0/myorg/admin/dashboards?%24expand=tiles&%24top=10returns a 200 code with data
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, please mark this as the solution.
You’re hitting a known quirk with GetDashboardsAsAdmin:
$expand=tiles is supported, but it often fails unless the request is formed very specifically.
Do this (works reliably)
HTTP URL (v1.0 only):
GET https://api.powerbi.com/v1.0/myorg/admin/dashboards?$expand=tiles&$top=5000
PowerShell (note $ escaping or use single quotes):
(If you must use double quotes: ?`$expand=tiles&`$top=5000)
The endpoint does list $expand (supports tiles) in the official docs.
Community threads show $expand may be ignored or error out unless $top is also provided; adding $top consistently makes it work.
If you still get 400
Ensure the host/path is exactly api.powerbi.com/v1.0/myorg/admin/dashboards (not the Fabric Graph host).
Try URL-encoding the parameter name if your client mangles $: use ?%24expand=tiles&%24top=5000.
Strip any trailing slash before the query string.
Confirm scopes (Tenant.Read.All or Tenant.ReadWrite.All) and that your SPN setup follows the doc’s caveat for admin APIs.