Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
GStone
Frequent Visitor

Get Description attribute of Power BI Report via API

Hello,

 

I'm trying to create a report that shows all the reports we have built in Power BI. We are doing this because organisational users do not know what we have built, and I thought we could create a living documentation report that would get all the reports in our workspaces and the description attribute that goes along with it. This way they could see a summary of the reports that existed and know what to request. It would be updated automatically each time a report was added to a workspace. Also sometimes we are moving reports to new workspaces and this would also allow people to find a report that had moved.

 

I am using PowerShell and contacting the Power BI API.

 

This documentation shows that the Description attribute for each report is present.

https://docs.microsoft.com/en-us/rest/api/power-bi/reports/get-report

 

But when I run the PS cmdlet Get-PowerBIReport -WorkSpaceId $workspace.Id from MicrosoftPowerBiMgmt the description tag is not returned along with the report object. Is there another way I can get the Description tag for each report?

 

I can see in the documentation it says 

"A Power BI report. Below is a list of properties that may be returned for a report. Only a subset of the properties will be returned depending on the API called, the caller permissions and the availability of the data in the Power BI database."

 

Seems like this attribute is not included

 

This is broadly what I'm doing 

 

 

$userName = 'serviceaccount@company.com'
$p = ConvertTo-SecureString -AsPlainText 'pw' -Force
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $userName, $p
Connect-PowerBIServiceAccount -Credential $credential | Out-Null

$workspace = 'WorkspaceName'
$workspaceObj = Get-PowerBIWorkspace -Name $workspace
$reports = Get-PowerBiReport -WorkspaceId $workspaceObj.Id
foreach ($report in $reports)
{
    $report
    # Insert into table
}

 

 

Once I have the report information I was going to put it in a SQL table and query it back out to Power BI via a report.

 

If there's a better way to display what Power BI reports have been created, like if Power BI can connect directly to the Power BI API and get what it needs. Am happy to try something else.

 

All the best,

2 ACCEPTED SOLUTIONS
GilbertQ
Super User
Super User

Hi @GStone 

 

I would suggest looking at the scanner API and see if this can get all the information you are looking for?

 

Scanner API is now in GA | Microsoft Power BI Blog | Microsoft Power BI





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

View solution in original post

GStone
Frequent Visitor

Thanks so much for your suggestion. It turns out that the Scanner API was able to output the description for the report. For anyone else that is struggling with this - the process is a little more involved than just operating with the Power BI powershell cmdlets. 

 

First step is to enable the Power BI APIs in the Admin portal

https://docs.microsoft.com/en-gb/power-bi/admin/service-admin-metadata-scanning-setup

 

Then, using the "Try It" links on the documentation website here 

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

 

You send a POST with the workspace Id in the Body of the POST request. You are returned a Scan GUID which you need to then need to call GetScanResult with to get the results of the Scan and it does indeed include the description.

 

Thank you for pointing this out.

 

 

View solution in original post

2 REPLIES 2
GStone
Frequent Visitor

Thanks so much for your suggestion. It turns out that the Scanner API was able to output the description for the report. For anyone else that is struggling with this - the process is a little more involved than just operating with the Power BI powershell cmdlets. 

 

First step is to enable the Power BI APIs in the Admin portal

https://docs.microsoft.com/en-gb/power-bi/admin/service-admin-metadata-scanning-setup

 

Then, using the "Try It" links on the documentation website here 

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

 

You send a POST with the workspace Id in the Body of the POST request. You are returned a Scan GUID which you need to then need to call GetScanResult with to get the results of the Scan and it does indeed include the description.

 

Thank you for pointing this out.

 

 

GilbertQ
Super User
Super User

Hi @GStone 

 

I would suggest looking at the scanner API and see if this can get all the information you are looking for?

 

Scanner API is now in GA | Microsoft Power BI Blog | Microsoft Power BI





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.