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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
stephan_
New Member

Cannot retrieve Contacts from API

I have the following code:

stephan__0-1776086008756.png

(With url and url2 I get the exact same error). The SPN I am using is Power BI Admin, has Tenant.ReadWrite.All, Report.Read.All & Workspace.Read.All. Its role also has permissions on the "Service principals can access read-only Admin APIs" setting in Power BI Tenant Settings. And this works for almost all APIs, but not this one. Is there something else I should do to get this API to work? Or does this API only work with user accounts and not SPNs?

5 REPLIES 5
tharunkumarRTK
Super User
Super User

@stephan_ 

I could not find this endpoint in power bi api documentation or in fabric api documentation 

GET /v1.0/myorg/reports/{reportId}/contacts

 

From the screenshot you shared I believe you found this API in network traces. Please correct me if I am wrong. 

 

I believe you are trying to extract the report contacts by running this API call. Its hard to identify the supported authentication mechanisms for the APIs which are not exposed by Microsoft in their docuementation. 

 

I also checked the GetReportUsersAsAdmin and GetReportsAsAdmin API none of these APIs expose "report contact" details. If you check this recent thread, in that Community team has confirmed that this detail is not exposed in any API

https://community.fabric.microsoft.com/t5/Service/Owner-Contact-Field-on-reports/m-p/4927085

 

You can post this idea in Fabric ideas forum

https://community.fabric.microsoft.com/t5/Fabric-Ideas/idb-p/fbc_ideas

 

 

 

 

Connect on LinkedIn

read my blogs here: techietips.co.in

 

 








Did I answer your question? Mark my post as a solution!
If I helped you, click on the Thumbs Up to give Kudos.

Proud to be a Super User!


PBI_SuperUser_Rank@2x.png

I found the URL by modifying the URL found in this StackOverflow post: https://stackoverflow.com/questions/76102839/powerbi-api-getting-all-reports-contact-owner-i-can-onl...

Zanqueta
Super User
Super User

Hi @stephan_ 

 

I am not completely certain, but based on the 403 error and the message “API is not accessible for application”, this behaviour is expected for this specific endpoint.

The endpoint
GET /v1.0/myorg/reports/{reportId}/contacts
does not support application-only authentication (service principal / client credentials). It requires a delegated user context, meaning it works only when authenticated with a user account and not with a service principal.

This is not a missing permission issue. Even with permissions such as Tenant.ReadWrite.All, Report.Read.All, and Workspace.Read.All, the endpoint remains inaccessible because it is not designed to work with application tokens. The error message clearly indicates that the API is restricted to user-based authentication.

In addition, Microsoft has not published an official Power BI REST API to retrieve the report contact list configured in the Power BI Service user interface. This confirms that the endpoint is either internal or UI-related and therefore unsuitable for automation with service principals.

 

Recommended Alternatives

  1. Governance and access control

    • Use Admin APIs such as Get Report Users as Admin or tenant scan endpoints.

    • These APIs are supported with service principals and provide information about who has access to reports, which is usually sufficient for governance and ownership tracking.

  2. Operational workaround

    • Maintain report contact ownership in an external metadata store (for example, SharePoint, Dataverse, or SQL).

    • Populate this store using supported REST APIs (such as listing reports per workspace) and manage contacts as governed metadata rather than relying on the UI contact list.

 

If this response was helpful in any way, I’d gladly accept a kudo.
Please mark it as the correct solution. It helps other community members find their way faster.
Connect with me on LinkedIn

I found the URL by modifying the URL found in this StackOverflow post: https://stackoverflow.com/questions/76102839/powerbi-api-getting-all-reports-contact-owner-i-can-onl...

 

I think Microsoft changed this API to make it not accessible by SPNs. Very disappointing they do not provide a way to retrieve Workspace / Report contacts

Hi @stephan_ ,


Thanks for sharing the reference and your observation.

I understand why this feels like a change in behavior. Based on what you’re seeing, it does appear that access to this endpoint using service principals may be restricted now. Since this isn’t a documented Power BI REST API, its behavior can change, which could explain why it might have worked earlier in some cases.

 

At the moment, there doesn’t seem to be a supported way to retrieve the report or workspace contact details via SPNs.

 

If this is something critical for your scenario and as already suggested by @tharunkumarRTK you may consider sharing it in the Fabric Ideas forum so the product team can review it.

 

Please reach out for further assistance.
Thank you.

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.