Forum Discussion
403 Forbidden on Power BI REST API “Refresh Dataset” – Service Principal Permissions with Power BI P
- Anonymous1 year ago
Hi MalaSun
Thanks a lot for the detailed explanation it's clear. To directly address your main issue.
Even though your service principal has the right permission (Dataset.ReadWrite.All) and you’ve added it as a Contributor to the workspace the reason you're hitting a 403 error is because. Dataset refresh via service principal is only supported in Premium or PPU (Premium Per User) workspaces. This means that with your current Pro trial license and non-Premium workspace, the Power BI REST API won't allow a service principal to trigger a dataset refresh. That’s a limitation by design from Microsoft, not something misconfigured on your end.
We have two clean options
- Upgrade the workspace to Premium or PPU:
- If you're using Fabric Trial, try assigning the workspace to a Premium capacity (like trial F64 or any A SKU).
- Or enable PPU (Premium Per User) on your account and workspace.
Once that’s done, your existing service principal setup should start working perfectly.
- Temporary workaround Use a Power BI user account (aka "master user") with a Pro license to trigger the refresh instead of a service principal.
- This works in Pro workspaces but isn’t ideal long-term, especially from a security/automation point of view.
Hope this clears up the mystery behind the 403.
If this response helps, consider marking it as “Accept as solution” and giving a “kudos” to assist other community members.
Regards,
Akhil.
Hi MalaSun
Thanks a lot for the detailed explanation it's clear. To directly address your main issue.
Even though your service principal has the right permission (Dataset.ReadWrite.All) and you’ve added it as a Contributor to the workspace the reason you're hitting a 403 error is because. Dataset refresh via service principal is only supported in Premium or PPU (Premium Per User) workspaces. This means that with your current Pro trial license and non-Premium workspace, the Power BI REST API won't allow a service principal to trigger a dataset refresh. That’s a limitation by design from Microsoft, not something misconfigured on your end.
We have two clean options
- Upgrade the workspace to Premium or PPU:
- If you're using Fabric Trial, try assigning the workspace to a Premium capacity (like trial F64 or any A SKU).
- Or enable PPU (Premium Per User) on your account and workspace.
Once that’s done, your existing service principal setup should start working perfectly.
- Temporary workaround Use a Power BI user account (aka "master user") with a Pro license to trigger the refresh instead of a service principal.
- This works in Pro workspaces but isn’t ideal long-term, especially from a security/automation point of view.
Hope this clears up the mystery behind the 403.
If this response helps, consider marking it as “Accept as solution” and giving a “kudos” to assist other community members.
Regards,
Akhil.