Critical severityauthentication
Power BI Refresh Error:
LoadReportFailed
What does this error mean?
LoadReportFailed with a 403 status code means the Power BI Embedded client could not initialize the report, typically because the access token is invalid or the embed token type does not match the embedding scenario. The detailed message 'Couldn't resolve cluster' indicates a token-level misconfiguration preventing routing to the correct Power BI backend.
Common causes
- 1The access token passed to the embed configuration is malformed, expired, or generated for a different resource or audience than the one being embedded
- 2A mismatch between the embed token type and the embedding scenario — for example, using a user-delegated token for an 'embed for your customers' (app-owns-data) scenario that requires a service principal token
- 3The Report ID in the embed configuration does not match the report that the token was generated for, causing authorization to fail at the cluster routing level
- 4The embedded application is using a hardcoded or cached token that has expired (tokens are typically valid for 1 hour) without implementing a token refresh mechanism
How to fix it
- 1Step 1: Decode the access token at jwt.ms or jwt.io and verify the 'aud' (audience), 'exp' (expiration), and embedded report/workspace identifiers match your current embed configuration exactly
- 2Step 2: Confirm the token generation method matches your embedding scenario — use GenerateTokenInGroup for app-owns-data with service principal, and ensure the tokenType in the embed config is set to 'Embed' not 'Aad'
- 3Step 3: Verify the reportId passed to the powerbi.embed() call exactly matches the report GUID used when calling the Power BI REST API GenerateToken endpoint
- 4Step 4: Implement token expiry handling in your application — listen for the tokenExpired event from the Power BI JavaScript SDK and call setAccessToken() with a freshly generated token before the current one expires
- 5Step 5: Check that the service principal or master user account generating the token has at least Viewer access to the workspace containing the report being embedded