Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
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"
}
}
},
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-asyncAlso 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
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.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |