Power Query Items API

The Items API from Power Query — 5 operation(s) for items.

Operations 8

GET /workspaces/{workspaceId}/dataflows Returns a list of Dataflows from the specified workspace #
POST /workspaces/{workspaceId}/dataflows Creates a Dataflow in the specified workspace #
GET /workspaces/{workspaceId}/dataflows/{dataflowId} Returns properties of the specified Dataflow #
PATCH /workspaces/{workspaceId}/dataflows/{dataflowId} Updates the properties of the specified Dataflow #
DELETE /workspaces/{workspaceId}/dataflows/{dataflowId} Deletes the specified Dataflow #
POST /workspaces/{workspaceId}/dataflows/{dataflowId}/getDefinition Returns the specified Dataflow public definition #
POST /workspaces/{workspaceId}/dataflows/{dataflowId}/updateDefinition Overrides the definition for the specified Dataflow #
GET /workspaces/{workspaceId}/dataflows/{dataflowId}/parameters Retrieves all parameters defined in the specified Dataflow #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/power-query-items-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

power-query-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dataflow REST Items API
  version: v1
servers:
- url: https://api.fabric.microsoft.com/v1
security: []
tags:
- name: Items
paths:
  /workspaces/{workspaceId}/dataflows:
    get:
      summary: Returns a list of Dataflows from the specified workspace
      description: 'This API supports pagination.


        ## Permissions


        The caller must have a *viewer* workspace role.


        ## Required Delegated Scopes


        Workspace.Read.All or Workspace.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_ListDataflows
      x-ms-pageable:
        nextLinkName: continuationUri
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: recursive
        description: Lists items in a folder and its nested folders, or just a folder only. True - All items in the folder and its nested folders are listed, False - Only items in the folder are listed. The default value is true.
        required: false
        schema:
          type: boolean
      - in: query
        name: rootFolderId
        description: This parameter allows users to filter items based on a specific root folder. If not provided, the workspace is used as the root folder.
        required: false
        schema:
          type: string
          format: uuid
      - in: query
        name: continuationToken
        description: A token for retrieving the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/Dataflows
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: 'Common error codes:


            * InvalidItemType - Invalid item type.'
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        List Dataflows in workspace example:
          $ref: ./examples/ListDataflowsInWorkspace.json
    post:
      summary: Creates a Dataflow in the specified workspace
      description: 'This API supports long running operations (LRO).


        To create Dataflow with a public definition, refer to Dataflow article.


        ## Permissions

        The caller must have a *contributor* workspace role.


        ## Required Delegated Scopes


        Dataflow.ReadWrite.All or Item.ReadWrite.All


        ## Limitations

        - To create a Dataflow the workspace must be on a supported Fabric capacity. For more information see: Microsoft Fabric license types.


        ## 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'
      tags:
      - Items
      operationId: Items_CreateDataflow
      x-ms-fabric-sdk-long-running-operation: true
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Successfully created
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/Dataflow
        '202':
          description: Request accepted, Dataflow provisioning in progress.
          headers:
            Location:
              description: The URL of the operation status, which can be used to track the operation state.
              schema:
                type: string
            x-ms-operation-id:
              description: The operation ID which can be used with long running operations (LRO) APIs to track the operation state and get the result.
              schema:
                type: string
                format: uuid
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: 'Common error codes:


            * InvalidItemType - Item type is invalid


            * ItemDisplayNameAlreadyInUse - Item display name is already used.


            * CorruptedPayload - The provided payload is corrupted.'
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Create a Dataflow example:
          $ref: ./examples/CreateDataflowWithoutDefinition.json
        Create a Dataflow with public definition example:
          $ref: ./examples/CreateDataflow.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./definitions.json#/definitions/CreateDataflowRequest
        description: Create item request payload.
        required: true
  /workspaces/{workspaceId}/dataflows/{dataflowId}:
    get:
      summary: Returns properties of the specified Dataflow
      description: '## Permissions


        The caller must have *read* permissions for the dataflow.


        ## Required Delegated Scopes


        Dataflow.Read.All or Dataflow.ReadWrite.All or Item.Read.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_GetDataflow
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/Dataflow
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: 'Common error codes:


            * ItemNotFound - The requested item was not found.'
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Get a Dataflow example:
          $ref: ./examples/GetDataflow.json
    patch:
      summary: Updates the properties of the specified Dataflow
      description: '## Permissions


        The caller must have *read and write* permissions for the dataflow.


        ## Required Delegated Scopes


        Dataflow.ReadWrite.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_UpdateDataflow
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/Dataflow
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: "Common error codes:\n\n* ItemNotFound - The requested item was not found. \n\n* InvalidRequest - Invalid update request."
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Update a Dataflow example:
          $ref: ./examples/UpdateDataflow.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./definitions.json#/definitions/UpdateDataflowRequest
        description: Update Dataflow request payload.
        required: true
    delete:
      summary: Deletes the specified Dataflow
      description: '## Permissions


        The caller must have *write* permissions for the dataflow.


        ## Required Delegated Scopes


        Dataflow.ReadWrite.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_DeleteDataflow
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: hardDelete
        description: Specifies whether to perform a hard delete. When set to `true`, the item is permanently deleted and cannot be recovered. When set to `false` or not specified, the item is soft-deleted if the item type supports it.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Request completed successfully.
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: 'Common error codes:


            * ItemNotFound - The requested item was not found.


            * InsufficientWorkspaceRole - User doesn''t have sufficient workspace role.


            * FeatureNotAvailable - This could be due to the soft deletion feature not being available.


            * UnsupportedItemType - This could be due to the soft deletion feature not supported by the requested item type.


            * TenantSwitchDisabled - This could be due to the soft deletion feature being disabled by the tenant admin.


            * InvalidTargetItemStateForSoftDeletion - The item is in invalid states for soft deletion.


            * InvalidParentItemStateForSoftDeletion - The item''s parent item is not in Active state.'
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Delete a Dataflow example:
          $ref: ./examples/DeleteDataflow.json
        Hard delete a Dataflow example:
          $ref: ./examples/HardDeleteDataflow.json
  /workspaces/{workspaceId}/dataflows/{dataflowId}/getDefinition:
    post:
      summary: Returns the specified Dataflow public definition
      description: 'This API supports long running operations (LRO).


        When you get a Dataflow''s public definition, the sensitivity label is not a part of the definition.


        ## Permissions


        The caller must have *read and write* permissions for the dataflow.

        ## Required Delegated Scopes


        Dataflow.ReadWrite.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_GetDataflowDefinition
      x-ms-fabric-sdk-long-running-operation: true
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: format
        description: The format of the dataflow public definition.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/DataflowDefinitionResponse
        '202':
          description: Request accepted. Retrieving the definition is in progress.
          headers:
            Location:
              description: The URL of the operation status, which can be used to track the operation state.
              schema:
                type: string
            x-ms-operation-id:
              description: The operation ID which can be used with long running operations (LRO) APIs to track the operation state and get the result.
              schema:
                type: string
                format: uuid
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: 'Common error codes:


            * OperationNotSupportedForItem - Operation not supported for requested item.'
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Get a Dataflow public definition example:
          $ref: ./examples/GetDataflowDefinition.json
  /workspaces/{workspaceId}/dataflows/{dataflowId}/updateDefinition:
    post:
      summary: Overrides the definition for the specified Dataflow
      description: 'This API supports long running operations (LRO).


        Updating the Dataflow''s definition, does not affect its sensitivity label.


        ## Permissions


        The caller must have *read and write* permissions for the dataflow.

        ## Required Delegated Scopes


        Dataflow.ReadWrite.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_UpdateDataflowDefinition
      x-ms-fabric-sdk-long-running-operation: true
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: updateMetadata
        description: When set to true and the .platform file is provided as part of the definition, the item's metadata is updated using the metadata in the .platform file
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Request completed successfully.
        '202':
          description: Request accepted. Update definition is in progress.
          headers:
            Location:
              description: The URL of the operation status, which can be used to track the operation state.
              schema:
                type: string
            x-ms-operation-id:
              description: The operation ID which can be used with long running operations (LRO) APIs to track the operation state and get the result.
              schema:
                type: string
                format: uuid
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: "Common error codes:\n\n* OperationNotSupportedForItem - Operation not supported for requested item. \n\n* CorruptedPayload - The provided payload is corrupted."
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Update a Dataflow public definition example:
          $ref: ./examples/UpdateDataflowDefinition.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./definitions.json#/definitions/UpdateDataflowDefinitionRequest
        description: Update Dataflow definition request payload.
        required: true
  /workspaces/{workspaceId}/dataflows/{dataflowId}/parameters:
    get:
      summary: Retrieves all parameters defined in the specified Dataflow
      description: '## Permissions


        The caller must have *read* permissions for the dataflow.


        ## Required Delegated Scopes


        Dataflow.Read.All or Dataflow.ReadWrite.All or Item.Read.All or Item.ReadWrite.All


        ## 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'
      tags:
      - Items
      operationId: Items_DiscoverDataflowParameters
      x-ms-pageable:
        nextLinkName: continuationUri
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: dataflowId
        description: The Dataflow ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: continuationToken
        description: A token for retrieving the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: ./definitions.json#/definitions/DataflowParameters
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
        default:
          description: "Common error codes:\n\n* ItemNotFound - The requested item was not found \n\n* DataflowNotParametricError - The requested dataflow is not parametric"
          content:
            application/json:
              schema:
                $ref: ../common/definitions.json#/definitions/ErrorResponse
      x-ms-examples:
        Get Dataflow Parameters example:
          $ref: ./examples/DiscoverDataflowParameters.json