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

Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.

Reply
KimTutein
Advocate II
Advocate II

Set build permission on dataset/semantic model to app using REST API

Hi Community

 

Does anyone know if it is possible to set build permission for an app on a dataset using REST API. It is possible to set this permission for a user or a group using: Datasets - Put Dataset User - REST API (Power BI Power BI REST APIs) | Microsoft Learn. However this does not support setting permission on app which we need (we have apps that query the model via. Rest API and I can see that this only works with the build permission).

 

Friendly regards

 

Kim Tutein

1 ACCEPTED SOLUTION

Hi @KimTutein , Thank you for reaching out to the Microsoft Fabric Community Forum.

 

You are correct, an Azure AD app registration is a service principal and service principals are valid principals in the Put Dataset User API. In theory you should be able to grant ReadExplore (Build) that way.

The issue is that, in practice, assigning Build to a service principal through the REST API doesn’t actually work consistently today, even though the UI supports it. This is why you’re able to add Build permission for your app in the GUI, but the same call through the API won’t succeed. It’s a limitation in the current implementation, not something you’re doing wrong.

View solution in original post

3 REPLIES 3
KimTutein
Advocate II
Advocate II

Hi @v-hashadapu 

 

I am not sure of what you mean. I have made an app registration in Azure AD. which in my view is a service principle. I can add my app in the UI og via. Rest API with read access on the workspace. I then need to add build permission. This I can do in the GUI (and then it will work) - however I cannot get it to work with Rest API

Hi @KimTutein , Thank you for reaching out to the Microsoft Fabric Community Forum.

 

You are correct, an Azure AD app registration is a service principal and service principals are valid principals in the Put Dataset User API. In theory you should be able to grant ReadExplore (Build) that way.

The issue is that, in practice, assigning Build to a service principal through the REST API doesn’t actually work consistently today, even though the UI supports it. This is why you’re able to add Build permission for your app in the GUI, but the same call through the API won’t succeed. It’s a limitation in the current implementation, not something you’re doing wrong.

v-hashadapu
Community Support
Community Support

Hi @KimTutein , Thank you for reaching out to the Microsoft Fabric Community Forum.

 

You cannot assign Build permission directly to an App using the REST API. Apps aren’t valid principals; only users, security groups and service principals are supported.

 

Instead, register the app with Azure AD, use a service principal and then grant that SPN Build permission on the dataset via the REST API. This way, the app can authenticate with the service principal and securely run queries against the dataset.

Embed Power BI content in an embedded analytics application with service principal and an applicatio...

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors