Datasets - Get Refresh Execution Details
Returns execution details of a refresh operation for the specified dataset from My workspace.
Required Scope
Dataset.ReadWrite.All or Dataset.Read.All
GET https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/refreshes/{refreshId}
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
dataset
|
path | True |
string (uuid) |
The dataset ID |
|
refresh
|
path | True |
string (uuid) |
The refresh ID |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
OK (this response is returned when the refresh operation has completed or failed) |
|
| 202 Accepted |
Accepted (this response is returned when the refresh operation is still in progress) |
Examples
| Enhanced refresh - Completed |
| Enhanced refresh - Failed |
| Enhanced refresh - In progress |
| On-Demand refresh - Completed |
Enhanced refresh - Completed
Sample request
GET https://api.powerbi.com/v1.0/myorg/datasets/f7fc6510-e151-42a3-850b-d0805a391db0/refreshes/87f31ef7-1e3a-4006-9b0b-191693e79e9e
Sample response
{
"startTime": "2021-12-10T08:40:31.57",
"endTime": "2021-12-10T08:40:43.87",
"type": "Full",
"commitMode": "Transactional",
"status": "Completed",
"extendedStatus": "Completed",
"currentRefreshType": "Full",
"numberOfAttempts": 1,
"objects": [
{
"table": "DateTableTemplate_78e78207-b3fb-41b5-8b95-e5efca989067",
"partition": "DateTableTemplate_78e78207-b3fb-41b5-8b95-e5efca989067-ae306fb4-3b7e-4a41-824d-cb3b452fedfc",
"status": "Completed"
},
{
"table": "DimCurrency",
"partition": "DimCurrency-e5524cc4-a898-433b-91aa-c001b9a6d676",
"status": "Completed"
},
{
"table": "DimCustomer",
"partition": "DimCustomer-a31bbd93-e20a-4dee-a33c-7afa27785953",
"status": "Completed"
},
{
"table": "DimDate",
"partition": "DimDate-62e2f91b-53e5-4ed3-8618-fec74dba5e0d",
"status": "Completed"
},
{
"table": "DimProduct",
"partition": "DimProduct-3d07cc89-2bd7-4a98-bb37-3368c1562f98",
"status": "Completed"
},
{
"table": "DimPromotion",
"partition": "DimPromotion-21e6c333-430e-4350-8c94-cdceb362c4c7",
"status": "Completed"
},
{
"table": "DimSalesTerritory",
"partition": "DimSalesTerritory-6d88f938-13d5-49f8-899c-d11b3d346ad5",
"status": "Completed"
},
{
"table": "FactInternetSales",
"status": "Completed"
}
],
"refreshAttempts": [
{
"attemptId": 1,
"startTime": "2021-12-10T08:40:31.57",
"endTime": "2021-12-10T08:40:43.87",
"type": "Data",
"executionMetrics": [
{
"timeStart": "2021-12-10T08:40:32.5Z",
"timeEnd": "2021-12-10T08:40:43.8Z",
"durationMs": 11300,
"externalQueryExecutionTimeMs": 2100,
"vertipaqJobCpuTimeMs": 1850,
"mEngineCpuTimeMs": 950,
"totalCpuTimeMs": 8200,
"executionDelayMs": 25,
"approximatePeakMemConsumptionKB": 185432,
"tabularConnectionTimeoutMs": 7200000,
"commandType": "Batch",
"refreshParallelism": 2,
"vertipaqTotalRows": 315420,
"intendedUsage": 2,
"mEnginePeakMemoryKB": 142380
}
]
}
],
"initiatedBy": "ViaEnhancedApi"
}
Enhanced refresh - Failed
Sample request
GET https://api.powerbi.com/v1.0/myorg/datasets/f7fc6510-e151-42a3-850b-d0805a391db0/refreshes/351f7113-59bb-4e5e-8c1e-e15ae7414121
Sample response
{
"startTime": "2021-12-10T08:39:28.517",
"endTime": "2021-12-10T08:39:30.04",
"type": "Full",
"commitMode": "PartialBatch",
"status": "Failed",
"extendedStatus": "Failed",
"currentRefreshType": "Full",
"numberOfAttempts": 1,
"messages": [
{
"message": "RefreshApiRequest for table refresh using refresh policy must have the property 'CommitMode' = 'Transactional' instead of 'PartialBatch'.",
"type": "Error"
}
],
"refreshAttempts": [
{
"attemptId": 1,
"startTime": "2021-12-10T08:39:28.517",
"endTime": "2021-12-10T08:39:30.04",
"serviceExceptionJson": "{\"errorCode\":\"ModelRefresh_ShortMessage_ProcessingError\",\"errorDescription\":\"0xC112001C: Expression.Error: Forced Error. . The exception was raised by the IDbCommand interface.\\n0xC112001C: The command has been canceled.. The exception was raised by the IDbCommand interface.\\n0xC11C0006: The current operation was cancelled because another operation in the transaction failed.\\n0xC112001C: The command has been canceled.. The exception was raised by the IDbCommand interface.\\n0xC112001C: The command has been canceled.. The exception was raised by the IDbCommand interface.\\n0xC112001C: The command has been canceled.. The exception was raised by the IDbCommand interface.\"}",
"type": "Data"
}
],
"serviceExceptionJson": "{\"errorCode\":\"ModelRefresh_ShortMessage_ProcessingError\"}",
"initiatedBy": "ViaEnhancedApi"
}
Enhanced refresh - In progress
Sample request
GET https://api.powerbi.com/v1.0/myorg/datasets/f7fc6510-e151-42a3-850b-d0805a391db0/refreshes/630110f5-8f93-49c2-afee-bfc87072460c
Sample response
{
"startTime": "2021-12-14T03:46:04.833",
"type": "Full",
"commitMode": "Transactional",
"status": "Unknown",
"extendedStatus": "NotStarted",
"currentRefreshType": "Full",
"numberOfAttempts": 0,
"initiatedBy": "ViaEnhancedApi"
}
On-Demand refresh - Completed
Sample request
GET https://api.powerbi.com/v1.0/myorg/datasets/f7fc6510-e151-42a3-850b-d0805a391db0/refreshes/a1b2c3d4-e5f6-7890-abcd-ef1234567890
Sample response
{
"startTime": "2025-10-31T10:09:38.53",
"endTime": "2025-10-31T10:10:08.23",
"status": "Completed",
"numberOfAttempts": 2,
"refreshAttempts": [
{
"attemptId": 1,
"startTime": "2025-10-31T10:09:40.2432886Z",
"endTime": "2025-10-31T10:10:02.93333Z",
"type": "Data",
"executionMetrics": [
{
"timeStart": "2025-10-31T10:09:41.318Z",
"timeEnd": "2025-10-31T10:10:02.875Z",
"durationMs": 21558,
"externalQueryExecutionTimeMs": 24208,
"vertipaqJobCpuTimeMs": 3984,
"mEngineCpuTimeMs": 6625,
"queryProcessingCpuTimeMs": 1563,
"totalCpuTimeMs": 24672,
"executionDelayMs": 504,
"approximatePeakMemConsumptionKB": 419886,
"tabularConnectionTimeoutMs": 17999000,
"commandType": "Batch",
"discoverType": 127,
"queryDialect": 4,
"refreshParallelism": 6,
"vertipaqTotalRows": 432682,
"intendedUsage": 2,
"mEnginePeakMemoryKB": 322412
}
]
},
{
"attemptId": 1,
"startTime": "2025-10-31T10:10:03.1449471Z",
"endTime": "2025-10-31T10:10:03.5996278Z",
"type": "Query"
}
],
"initiatedBy": "OnDemand"
}
Definitions
| Name | Description |
|---|---|
|
Dataset |
A Power BI refresh detail entry |
|
Dataset |
Determines if objects will be committed in batches or only when complete |
|
Dataset |
Dataset operation detailed status |
|
Dataset |
Dataset operation general status |
|
Dataset |
The type of processing to perform |
|
Dataset |
Power BI dataset refresh target |
|
Engine |
The error or warning message from engine for enhanced refresh |
|
initiated |
The type of refresh request that initiated this refresh operation |
|
Refresh |
Power BI automatically makes multiple attempts to refresh a dataset if it experiences a refresh failure. This object contains information about each refresh attempt. |
|
Refresh |
The type of refresh attempt. |
|
Refresh |
The type of the error |
DatasetRefreshDetail
A Power BI refresh detail entry
| Name | Type | Description |
|---|---|---|
| commitMode |
Determines if objects will be committed in batches or only when complete |
|
| currentRefreshType |
The type of processing for the current iteration. This is useful when |
|
| endTime |
string (date-time) |
The end date and time of the refresh (may be empty if a refresh is in progress) |
| extendedStatus |
Dataset operation detailed status |
|
| initiatedBy |
The type of refresh request that initiated this refresh operation |
|
| messages |
An array of engine error or warning messages for the refresh request |
|
| numberOfAttempts |
integer |
The number of attempts for the refresh request |
| objects |
An array of objects included in the refresh request |
|
| refreshAttempts |
The refresh attempt list. |
|
| serviceExceptionJson |
string |
The service exception details in JSON format, if any |
| startTime |
string (date-time) |
The start date and time of the refresh |
| status |
Dataset operation general status |
|
| type |
The type of processing to perform |
DatasetRefreshDetailCommitMode
Determines if objects will be committed in batches or only when complete
| Value | Description |
|---|---|
| Transactional |
Commit the whole refresh operation as a transaction |
| PartialBatch |
Commit the refresh operation in batches |
DatasetRefreshDetailExtendedStatus
Dataset operation detailed status
| Value | Description |
|---|---|
| Unknown |
The completion state is unknown |
| NotStarted |
The refresh operation isn't started |
| InProgress |
The refresh operation is in progress |
| Completed |
The refresh operation is successfully completed |
| TimedOut |
The refresh operation is timed out |
| Failed |
The refresh operation is unsuccessful |
| Disabled |
The refresh operation is disabled by a selective refresh |
| Cancelled |
The refresh operation has been cancelled by customer |
DatasetRefreshDetailStatus
Dataset operation general status
| Value | Description |
|---|---|
| Unknown |
The completion state is unknown or a refresh is in progress |
| Completed |
The refresh operation is successfully completed |
| Failed |
The refresh operation is unsuccessful |
| Disabled |
The refresh operation is disabled by a selective refresh |
DatasetRefreshDetailType
The type of processing to perform
| Value | Description |
|---|---|
| Full |
For all partitions in the specified partition, table, or database, refresh data and recalculate all dependents. For a calculation partition, recalculate the partition and all its dependents. |
| ClearValues |
Clear values in this object and all its dependents |
| Calculate |
Recalculate this object and all its dependents, but only if needed. This value doesn't force recalculation, except for volatile formulas. |
| DataOnly |
Refresh data in this object and clear all dependents |
| Automatic |
If the object needs to be refreshed and recalculated, refresh and recalculate the object and all its dependents. Applies if the partition is in a state other than Ready. |
| Defragment |
Defragment the data in the specified table. As data is added to or removed from a table, the dictionaries of each column can become polluted with values that no longer exist in the actual column values. The defragment option will clean up the values in the dictionaries that are no longer used. |
DatasetRefreshObjects
Power BI dataset refresh target
| Name | Type | Description |
|---|---|---|
| partition |
string |
Partition to refresh |
| table |
string |
Table to refresh |
EngineMessage
The error or warning message from engine for enhanced refresh
| Name | Type | Description |
|---|---|---|
| code |
string |
The error code in hex format |
| message |
string |
The text of error or warning message |
| type |
The type of the error |
initiatedBy
The type of refresh request that initiated this refresh operation
| Value | Description |
|---|---|
| Scheduled |
The refresh was triggered by a dataset refresh schedule setting |
| OnDemand |
The refresh was triggered interactively through the Power BI portal |
| ViaApi |
The refresh was triggered by an API call |
| ViaXmlaEndpoint |
The refresh was triggered through Power BI public XMLA endpoint |
| ViaEnhancedApi |
The refresh was triggered by an enhanced refresh REST API call |
| OnDemandTraining |
The refresh was triggered interactively through the Power BI portal with automatic aggregations training |
RefreshAttempt
Power BI automatically makes multiple attempts to refresh a dataset if it experiences a refresh failure. This object contains information about each refresh attempt.
| Name | Type | Description |
|---|---|---|
| attemptId |
integer |
The index of the refresh attempt. |
| endTime |
string (date-time) |
The end date and time of the refresh attempt. The value is void if the refresh attempt is in progress. |
| executionMetrics |
object[] |
The Analysis Services engine execution metrics captured during the refresh attempt. |
| serviceExceptionJson |
string |
Failure error code in JSON format. Void if there's no error. |
| startTime |
string (date-time) |
The start date and time of the refresh attempt. |
| type |
The type of refresh attempt. |
RefreshAttemptType
The type of refresh attempt.
| Value | Description |
|---|---|
| Data |
The refresh attempt to load data into the dataset. |
| Query |
The attempt to refresh premium query caches and dashboard tiles.u |
RefreshEngineErrorType
The type of the error
| Value | Description |
|---|---|
| Error |
Error message |
| Warning |
Warning message |