Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hi All,
I am trying to do subscribing reports through REST API. But i am not able to do it through API. I knew we can make through Power Automate and in my case i need to do from API end. Is there any solution?
https://learn.microsoft.com/en-us/rest/api/power-bi-report/subscriptions --- these existing api is not working as expected. Anyother ideas?
@shyamganesh You can't call this api because it does not exist.
ref Solved: How to manage report subscriptions in Power BI clo... - Microsoft Fabric Community
It is not related to Power Automate, but rather to the Power BI API. I am unable to make calls using Postman because Microsoft has not made the relevant API available.
Hi @shyamganesh,
Have you tried the Admin - Reports GetReportSubscriptionsAsAdmin method instead?
https://learn.microsoft.com/en-us/rest/api/power-bi/admin/reports-get-report-subscriptions-as-admin
https://api.powerbi.com/v1.0/myorg/admin/reports/{reportId}/subscriptions
Btw, are you testing in Postman? If not, that is probably easier to test.
@Expiscornovus This is a read-only API that can retrieve subscription-related information. Unfortunately, it does not support write operations.
The API you meantioned is not for creating subscription for power bi reports. I am not using postman though
Hi @shyamganesh,
My bad, I missed that body payload with the schedule. I thought you were collecting/retrieving subscriptions from the existing report on the Power BI Online service.
The link you were referring to in your opening post was a REST API call from Power BI report server (on-premise). Like @felaray already mentioned, that method doesn't exist in the Online APIs.
Hi @shyamganesh,
When you say, it doesn't work as expected, what do you mean? Are you getting an error code?
If so, can you share a screenshot of your current flow setup that is not working (or explain it in more detail)?
Hi @Expiscornovus
This is code i used for subcribing reports through API
--Code--
import requests
import json
# Define constants
CLIENT_ID = '#######################'
CLIENT_SECRET = '#######################'
TENANT_ID = '#######################'
RESOURCE = 'https://analysis.windows.net/powerbi/api'
API_URL = 'https://api.powerbi.com/v1.0/myorg/groups/{GROUP_ID}/reports/{REPORT_ID}/subscriptions'
def get_access_token():
url = f'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
body = {
'grant_type': 'client_credentials',
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET,
'scope': RESOURCE + '/.default'
}
response = requests.post(url, headers=headers, data=body)
if response.status_code == 200:
return response.json().get('access_token')
else:
print(f"Failed to obtain access token. Status Code: {response.status_code}, Response: {response.text}")
return None
def create_subscription(access_token, group_id, report_id):
url = API_URL.format(GROUP_ID=group_id, REPORT_ID=report_id)
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
}
data = {
"displayName": "My Subscription",
"schedule": {
"frequency": "Daily",
"timeZone": "Pacific Standard Time",
"times": ["07:00"]
},
"status": "Enabled"
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 201:
print("Subscription created successfully.")
else:
print(f"Failed to create subscription. Status Code: {response.status_code}, Response: {response.text}")
if __name__ == "__main__":
# Replace with your workspace and report IDs
GROUP_ID = '########################'
REPORT_ID = '#######################'
token = get_access_token()
if token:
create_subscription(token, GROUP_ID, REPORT_ID)
Error
Failed to create subscription. Status Code: 404, Response: { "error":{ "code":"","message":"No HTTP resource was found that matches the request URI}}
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
8 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
11 | |
3 | |
2 | |
2 | |
2 |