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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
sebnickel
New Member

callAsync PowerBI Refresh not working

Hi,

I am refreshing PowerBI through an ADF pipeline and I am calling the endpoint specified in this [documentation](https://learn.microsoft.com/en-us/power-bi/connect-data/asynchronous-refresh)

It says it should return a 202 (async) but it returns a 200 (sync). Why is it not working as it is documented?
The dataset I am refreshing is in a worksapce that is on a premium per-user license.

This is the part of the pipeline that does the call:

 {
                "name": "Call dataset refresh",
                "type": "WebActivity",
                "dependsOn": [
                    {
                        "activity": "Set Access token",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "timeout": "0.00:05:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": true
                },
                "userProperties": [],
                "typeProperties": {
                    "method": "POST",
                    "headers": {
                        "Authorization": {
                            "value": "@variables('AccessToken')",
                            "type": "Expression"
                        },
                        "Prefer": "respond-async"
                    },
                    "url": {
                        "value": "@concat('https://api.powerbi.com/v1.0/myorg/groups/',pipeline().parameters.workspaceGuid,'/datasets/',pipeline().parameters.datasetGuid,'/refreshes')",
                        "type": "Expression"
                    },
                    "body": {
                        "value": "@pipeline().parameters.PowerBI_Refresh_API_Body",
                        "type": "Expression"
                    }
                }
            },
4 REPLIES 4
Ahmed-Elfeel
Solution Sage
Solution Sage

Hi @sebnickel,

I hope you are doing well today ☺️❤️

 

So This is expected behavior in some cases that is the Power BI Refresh API only returns 202 Accepted (async) when an enhanced refresh is actually triggered If the request body doesnt include enhanced refresh parameters (for example type, commitMode and objects, etc....) Power BI treats it as a standard refresh which returns 200 OK (synchronous) even if you send the header:

Prefer: respond-async

Also even Enhanced Refresh is documented as supported for Premium Per User (PPU) in practice PPU workspaces may still execute refreshes synchronously [Consistent async behavior (Like 202 + Location header) is reliably returned only on Premium capacity (PSKUs / Embedded)]

 

Finally ADF Web Activity may not expose response headers so even if Power BI returns 202 ADF can appear to return 200.

 

What do you do now?

You need to check some points like:

  • Ensure your POST body includes enhanced refresh options ("type": "Full")

  • Test the same call via Postman or curl to confirm the real HTTP status

  • If you need guaranteed async behavior, move the dataset to Premium capacity

  • If using ADF consider polling GET /refreshes instead of relying on response headers

Also I recommend you to check the official Documentation 

if this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly.
v-kpoloju-msft
Community Support
Community Support

Hi @sebnickel,

Thank you for reaching out to the Microsoft Fabric Community Forum. 

The behaviour you are seeing is expected based on your workspace setup. Even though the Prefer: respond-async header is included, asynchronous dataset refresh is only supported when the workspace is hosted on Premium capacity (P/EM/A SKU). Since your dataset is currently in a Premium Per User (PPU) workspace, Power BI automatically switches to a synchronous refresh, which returns 200 OK, rather than the expected 202 Accepted. So, your call is correct, but async mode isn’t enabled on PPU.

If you want asynchronous behaviour (202 + refresh operation ID), the workspace will need to be moved to Premium capacity. If you continue using PPU, refreshes will still run successfully just synchronously so a 200 response is expected.

More details are available here in Microsoft’s documentation: Enhanced refresh with the Power BI REST API - Power BI | Microsoft Learn

Hope that clarifies. Let us know if you have any doubts regarding this. We will be happy to help.

Thank you for using the Microsoft Fabric Community Forum.

Hi @sebnickel,

Just checking in to see if the issue has been resolved on your end. If the earlier suggestions helped, that’s great to hear! And if you’re still facing challenges, feel free to share more details happy to assist further.

Thank you.

Hi @sebnickel,

Just wanted to follow up. If the shared guidance worked for you, that’s wonderful hopefully it also helps others looking for similar answers. If there’s anything else you'd like to explore or clarify, don’t hesitate to reach out.

Thank you.

Helpful resources

Announcements
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.