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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
CasperRademaker
Regular Visitor

Cannot get Power BI API POST call for "Datasets - Execute Queries In Group" to authorize

Hi all,

 

I'm trying to call one of these two endpoints using Python, but running into 401 Unauthorized without any details from the API response.

 

https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/execute-queries-in-group
https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/execute-queries

 

Below is my code in Python, for full transparency versions used: Python 3.12.9, requests 2.32.2, msal 1.31.1

 

 

# internal imports
import configuration_details

# external imports
import json
import msal  # microsoft authentication library
import requests

(
    authority_url,
    azure_ad_client_id,
    azure_ad_client_secret,
) = configuration_details.retrieve_pbi_details()

authentication_context = msal.ConfidentialClientApplication(
    client_id=azure_ad_client_id,
    client_credential=azure_ad_client_secret,
    authority=authority_url,
    validate_authority=True,
)

token = authentication_context.acquire_token_for_client(
    scopes=["https://analysis.windows.net/powerbi/api/.default"]
)

access_token = token.get("access_token")

data = json.dumps({"queries": [{"query": "EVALUATE VALUES(Worklogs)"}]})

response = requests.post(
    data=data,
    url="https://api.powerbi.com/v1.0/myorg/groups/a365faf8-a136-48b7-96f0-2368934a9328/datasets/7284eead-fb8b-4fbf-9532-0c7df5dcd409/executeQueries",
    headers={
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
    },
    timeout=60
)

 

 

The response is 401 with content `{'code': 'PowerBINotAuthorizedException', 'parameters': {}, 'details': [], 'exceptionCulprit': 1}`

 

Checked:

 

- Workspace ID and dataset ID are correct
- Service principal related to client ID had admin rights on the workspace

- Client secret is correct

- Other similar API calls work with the same code, for example GET 

- DAX query is correct, works in Power BI Desktop DAX query view and gives results
- In admin portal, "Semantic Model Execute Queries REST API" is "Enabled for the entire organization"
- In admin portal, "Service principals can use Fabric APIs" is "Enabled for the entire organization"
 
Would appreciate any pointers on this. Thanks in advance!
1 ACCEPTED SOLUTION
CasperRademaker
Regular Visitor

I resolved the issue myself. For anyone else running into this: the issue was the semantic model having row-level security enabled. It seems you cannot use service principals in this case. 

 

It is sparsely mentioned in the Power BI API endpoint limitations section, but would appreciate a clear API response from the API itself:

 

To use Service Principals, make sure the admin tenant setting Allow service principals to use Power BI APIs under Developer settings is enabled. However, regardless of the admin tenant setting, Service Principals aren't supported for datasets with RLS per RLS limitations or datasets with SSO enabled.

View solution in original post

1 REPLY 1
CasperRademaker
Regular Visitor

I resolved the issue myself. For anyone else running into this: the issue was the semantic model having row-level security enabled. It seems you cannot use service principals in this case. 

 

It is sparsely mentioned in the Power BI API endpoint limitations section, but would appreciate a clear API response from the API itself:

 

To use Service Principals, make sure the admin tenant setting Allow service principals to use Power BI APIs under Developer settings is enabled. However, regardless of the admin tenant setting, Service Principals aren't supported for datasets with RLS per RLS limitations or datasets with SSO enabled.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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