Upgrade - Upgrade Dataflows
Upgrades Gen1 dataflows in the specified workspace.
Note
Gen1 dataflow upgrade is currently in Preview (learn more).
This API supports long running operations (LRO).
Upgrades a caller-supplied batch of Gen1 dataflows to Dataflow Gen2 in place. Each successful upgrade preserves the dataflow identifier and workspace. The batch supports partial success. The operation returns the batch result synchronously when processing completes immediately, or returns an accepted response for asynchronous processing and makes the result available through the long-running operation.
Permissions
The caller must own each dataflow being upgraded or have the admin workspace role. Authorization is evaluated independently for each dataflow; an unauthorized dataflow is returned as a failed result row without failing the batch request.
Required Delegated Scopes
Dataflow.ReadWrite.All or Item.ReadWrite.All
Limitations
- Each request must contain between 1 and 50 dataflows from the specified workspace.
- The request body must not exceed 13 KiB (13,312 bytes), including whitespace.
- Upgrades run in place and do not support cross-workspace targets.
- Cancellation is not supported.
Microsoft Entra supported identities
This API supports the Microsoft identities listed in this section.
| Identity | Support |
|---|---|
| User | Yes |
| Service principal and Managed identities | Yes |
Interface
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/dataflows/gen1Upgrade
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
workspace
|
path | True |
string (uuid) |
The workspace ID. |
Request Body
| Name | Required | Type | Description |
|---|---|---|---|
| dataflows | True |
The Gen1 dataflows to upgrade in the specified workspace. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
Request completed successfully. |
|
| 202 Accepted |
Request accepted, the Gen1 dataflow upgrade is in progress. After the operation reaches a terminal state, retrieve the Headers
|
|
| 429 Too Many Requests |
The service rate limit was exceeded. The server returns a Headers Retry-After: integer |
|
| Other Status Codes |
Common error codes:
|
Examples
Upgrade Gen1 dataflows example
Sample request
POST https://api.fabric.microsoft.com/v1/workspaces/afced311-0e76-4b74-9d59-6cdcbab44653/dataflows/gen1Upgrade
{
"dataflows": [
{
"id": "6b1f3d2e-8a4c-4b6e-9f1a-2c3d4e5f6a7b"
},
{
"id": "7c2a4e3f-9b5d-4c7f-a02b-3d4e5f6a7b8c"
}
]
}
Sample response
{
"summary": {
"totalCount": 2,
"succeededCount": 1,
"failedCount": 1
},
"migrations": [
{
"dataflowId": "6b1f3d2e-8a4c-4b6e-9f1a-2c3d4e5f6a7b",
"dataflowName": "Sales Ingestion (Gen1)",
"targetDataflowName": "Sales Ingestion",
"workspaceId": "afced311-0e76-4b74-9d59-6cdcbab44653",
"workspaceName": "Test Workspace",
"assessmentStatus": "ReadyToMigrate",
"migrationStatus": "Succeeded",
"migrationEndDateTime": "2026-08-19T10:15:42Z"
},
{
"dataflowId": "7c2a4e3f-9b5d-4c7f-a02b-3d4e5f6a7b8c",
"dataflowName": "Marketing Blend (Gen1)",
"targetDataflowName": "Marketing Blend (Gen1)",
"workspaceId": "afced311-0e76-4b74-9d59-6cdcbab44653",
"workspaceName": "Test Workspace",
"assessmentStatus": "NeedsAttention",
"requiredActions": [
{
"status": "NeedsAttention",
"code": "HasUnresolvedConnections",
"message": "One or more data source connections could not be resolved. Recreate or rebind them before upgrading."
}
],
"migrationStatus": "Failed",
"migrationError": {
"errorCode": "DataflowRequiresChanges",
"message": "The dataflow could not be upgraded because one or more data source connections could not be resolved.",
"requestId": "0f8fad5b-d9cb-469f-a165-70867728950e",
"isRetriable": false
}
}
]
}
Location: https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6
x-ms-operation-id: 0acd697c-1550-43cd-b998-91bfbfbd47c6
Retry-After: 30
Definitions
| Name | Description |
|---|---|
|
Dataflow |
The migration result for a Gen1 dataflow. |
|
Dataflow |
The outcome of a Gen1 dataflow migration. Additional DataflowMigrationStatus types may be added over time. |
|
Dataflow |
The Gen1 dataflow upgrade readiness status. Additional DataflowUpgradeReadinessStatus types may be added over time. |
|
Dataflow |
The reason for a Gen1 dataflow upgrade readiness result. Additional DataflowUpgradeReasonCode types may be added over time. |
|
Dataflow |
A change required before a Gen1 dataflow can be upgraded. |
|
Dataflow |
The result of a Gen1 dataflow upgrade batch. |
|
Dataflow |
The roll-up counts for a Gen1 dataflow upgrade batch. |
|
Error |
A structured parameter providing additional machine-readable context about an error. |
|
Error |
The error related resource details object. |
|
Error |
The error response. |
|
Error |
The error response details. |
|
Gen1Dataflow |
A Gen1 dataflow targeted for an in-place upgrade. |
|
Migration |
The failure detail for the dataflow migration. This property is present only when the migration status is |
|
Upgrade |
The request payload for upgrading Gen1 dataflows. |
DataflowMigration
The migration result for a Gen1 dataflow.
| Name | Type | Description |
|---|---|---|
| assessmentStatus |
The readiness verdict evaluated for the dataflow during the upgrade. This property does not report |
|
| dataflowId |
string (uuid) |
The identifier of the dataflow, which is preserved by a successful in-place upgrade. |
| dataflowName |
string |
The source Gen1 dataflow display name. |
| migrationEndDateTime |
string (date-time) |
The time when the dataflow migration reached a terminal state. This property is omitted when the time is not available. When present, the value is in UTC, using the YYYY-MM-DDTHH:mm:ssZ format. |
| migrationError |
The failure detail for the dataflow migration. This property is present only when the migration status is |
|
| migrationStatus |
The migration outcome for the dataflow. |
|
| requiredActions |
The changes required before the dataflow can be upgraded. This property is omitted when no changes are required. |
|
| targetDataflowName |
string |
The resulting Dataflow Gen2 display name, which may differ from the source display name. |
| workspaceId |
string (uuid) |
The identifier of the workspace containing the dataflow. |
| workspaceName |
string |
The display name of the workspace containing the dataflow. |
DataflowMigrationStatus
The outcome of a Gen1 dataflow migration. Additional DataflowMigrationStatus types may be added over time.
| Value | Description |
|---|---|
| Unknown |
The migration outcome was not populated and indicates a service defect if returned. |
| Succeeded |
The dataflow was upgraded successfully. |
| Failed |
The dataflow failed to upgrade. |
DataflowUpgradeReadinessStatus
The Gen1 dataflow upgrade readiness status. Additional DataflowUpgradeReadinessStatus types may be added over time.
| Value | Description |
|---|---|
| Unknown |
The readiness assessment could not be completed and should be reported for investigation. |
| ReadyToMigrate |
The upgrade is expected to succeed without changes before or after the upgrade. |
| NeedsAttention |
The upgrade is expected to succeed, but follow-up changes may be needed or the upgrade may adjust the dataflow automatically. |
| UpgradeUnavailable |
The upgrade is expected to fail until the reported reasons are resolved. |
DataflowUpgradeReasonCode
The reason for a Gen1 dataflow upgrade readiness result. Additional DataflowUpgradeReasonCode types may be added over time.
| Value | Description |
|---|---|
| MightBeAccessedByDirectQuery |
The dataflow might be accessed through DirectQuery. |
| HasByolAsStorage |
The dataflow uses bring-your-own-lake storage. |
| HasIncrementalRefresh |
The dataflow uses incremental refresh. |
| HasLinkedEntities |
The dataflow has linked entities. |
| IsReferencedByLinkedEntities |
The dataflow is referenced by linked entities in other dataflows. |
| ServiceThrottled |
The readiness assessment was throttled and may succeed when retried later. |
| HasUnsupportedNameCharacters |
The display name contains characters that are unsupported by Dataflow Gen2 and are sanitized during the upgrade. |
| DisplayNameAlreadyInUse |
The sanitized display name is already in use and is prefixed during the upgrade. |
| ExceedsGen2QueryLimit |
The dataflow has more load-enabled queries than Dataflow Gen2 supports. |
| HasUnresolvedConnections |
One or more data source connections could not be resolved and must be recreated or rebound before the upgrade. |
| AssessmentUnavailable |
The readiness assessment could not run and should be reported for investigation. |
DataflowUpgradeRequiredAction
A change required before a Gen1 dataflow can be upgraded.
| Name | Type | Description |
|---|---|---|
| code |
The stable reason code identifying the required change. |
|
| message |
string |
The human-readable description of the required change. |
| status |
The readiness severity contributed by this required action. |
DataflowUpgradeResult
The result of a Gen1 dataflow upgrade batch.
| Name | Type | Description |
|---|---|---|
| migrations |
The migration result for each requested dataflow. |
|
| summary |
The roll-up counts for the upgrade batch. |
DataflowUpgradeSummary
The roll-up counts for a Gen1 dataflow upgrade batch.
| Name | Type | Description |
|---|---|---|
| failedCount |
integer (int32) |
The number of dataflows that failed to upgrade. |
| succeededCount |
integer (int32) |
The number of dataflows that were upgraded successfully. |
| totalCount |
integer (int32) |
The total number of dataflows in the request. |
ErrorParameter
A structured parameter providing additional machine-readable context about an error.
| Name | Type | Description |
|---|---|---|
| message |
string |
A human-readable description of the parameter's meaning. |
| name |
string |
The parameter identifier. |
| value |
string |
The parameter value. |
ErrorRelatedResource
The error related resource details object.
| Name | Type | Description |
|---|---|---|
| resourceId |
string |
The resource ID that's involved in the error. |
| resourceType |
string |
The type of the resource that's involved in the error. |
ErrorResponse
The error response.
| Name | Type | Description |
|---|---|---|
| errorCode |
string |
A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users. |
| isRetriable |
boolean |
When true, the request can be retried. Use the |
| message |
string |
A human readable representation of the error. |
| moreDetails |
List of additional error details. |
|
| parameters |
Structured parameters providing additional machine-readable context about the error. |
|
| relatedResource |
The error related resource details. |
|
| requestId |
string (uuid) |
ID of the request associated with the error. |
ErrorResponseDetails
The error response details.
| Name | Type | Description |
|---|---|---|
| errorCode |
string |
A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users. |
| message |
string |
A human readable representation of the error. |
| parameters |
Structured parameters providing additional machine-readable context about the error. |
|
| relatedResource |
The error related resource details. |
Gen1DataflowUpgradeTarget
A Gen1 dataflow targeted for an in-place upgrade.
| Name | Type | Description |
|---|---|---|
| id |
string (uuid) |
The identifier of the Gen1 dataflow to upgrade. The dataflow must belong to the specified workspace. |
MigrationError
The failure detail for the dataflow migration. This property is present only when the migration status is Failed, and isRetriable is always included. The requestId contains the upgrade operation ID. The error code is one of InsufficientPrivileges, DataflowNotFound, DataflowBusy, DataflowRequiresChanges, CapacityOrLicenseNotSupported, or UpgradeFailed.
| Name | Type | Description |
|---|---|---|
| errorCode |
string |
A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users. |
| isRetriable |
boolean |
When true, the request can be retried. Use the |
| message |
string |
A human readable representation of the error. |
| moreDetails |
List of additional error details. |
|
| parameters |
Structured parameters providing additional machine-readable context about the error. |
|
| relatedResource |
The error related resource details. |
|
| requestId |
string (uuid) |
ID of the request associated with the error. |
UpgradeGen1DataflowsRequest
The request payload for upgrading Gen1 dataflows.
| Name | Type | Description |
|---|---|---|
| dataflows |
The Gen1 dataflows to upgrade in the specified workspace. |