Microsoft Fabric Pool Management API

The PoolManagement API from Microsoft Fabric — 2 operation(s) for poolmanagement.

Operations 4

GET /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates?beta=true List Apache Airflow pool templates #
POST /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates?beta=true Create an Apache Airflow pool template #
GET /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates/{poolTemplateId}?beta=true Get an Apache Airflow pool template #
DELETE /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates/{poolTemplateId}?beta=true Delete an Apache Airflow pool template #

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/microsoft-fabric:microsoft-fabric-poolmanagement-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

microsoft-fabric-poolmanagement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Fabric Workload Items REST Pool Management API
  version: v1
  x-source: 'https://github.com/microsoft/fabric-rest-api-specs (bundled from openapi/_original/fabric-rest-api-specs: anomalyDetector/swagger.json, apacheAirflowJob/swagger.json, appBackend/swagger.json, azureDatabricksStorage/swagger.json, copyJob/swagger.json, cosmosDbDatabase/swagger.json, dashboard/swagger.json, dataAgent/swagger.json, dataBuildToolJob/swagger.json, dataPipeline/swagger.json, dataflow/swagger.json, datamart/swagger.json, deploymentPlan/swagger.json, digitalTwinBuilder/swagger.json, digitalTwinBuilderFlow/swagger.json, environment/swagger.json, eventSchemaSet/swagger.json, eventhouse/swagger.json, eventstream/swagger.json, graphModel/swagger.json, graphQLApi/swagger.json, graphQuerySet/swagger.json, kqlDashboard/swagger.json, kqlDatabase/swagger.json, kqlQueryset/swagger.json, lakehouse/swagger.json, map/swagger.json, mirroredAzureDatabricksCatalog/swagger.json, mirroredCatalog/swagger.json, mirroredDatabase/swagger.json, mirroredWarehouse/swagger.json, mlExperiment/swagger.json, mlModel/swagger.json, monitoring/swagger.json, mountedDataFactory/swagger.json, notebook/swagger.json, ontology/swagger.json, operationsAgent/swagger.json, orgApp/swagger.json, orgAppAudience/swagger.json, paginatedReport/swagger.json, plan/swagger.json, policySet/swagger.json, realTimeIntelligence/swagger.json, reflex/swagger.json, report/swagger.json, semanticModel/swagger.json, snowflakeDatabase/swagger.json, spark/swagger.json, sparkjobdefinition/swagger.json, sqlDatabase/swagger.json, sqlEndpoint/swagger.json, userDataFunction/swagger.json, variableLibrary/swagger.json, warehouse/swagger.json)'
servers:
- url: https://api.fabric.microsoft.com/v1
security: []
tags:
- name: PoolManagement
paths:
  /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates?beta=true:
    get:
      tags:
      - PoolManagement
      summary: List Apache Airflow pool templates
      description: '> [!NOTE]

        > This API is part of a Beta release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.


        This API supports pagination.


        ## Permissions


        The caller must have *viewer* or higher workspace role.


        ## Required Delegated Scopes


        Workspace.Read.All or Workspace.ReadWrite.All


        **When calling this API, callers must specify `true` as the value for the query parameter `beta`.**


        ## 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'
      operationId: PoolManagement_List_Airflow_Pool_Templates_(beta)
      x-ms-pageable:
        nextLinkName: continuationUri
        itemName: value
      parameters:
      - name: workspaceId
        in: path
        description: The workspace 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
      - in: query
        name: beta
        description: This required parameter must be set to `true` to access this API, which is currently in beta.
        required: true
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirflowPoolTemplates'
        '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: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - PoolManagement
      summary: Create an Apache Airflow pool template
      description: '> [!NOTE]

        > This API is part of a Beta release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.


        ## Permissions


        The caller must have *admin* workspace role.


        ## Required Delegated Scopes


        Workspace.ReadWrite.All


        **When calling this API, callers must specify `true` as the value for the query parameter `beta`.**


        ## 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'
      operationId: PoolManagement_Create_Airflow_Pool_Template_(beta)
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: beta
        description: This required parameter must be set to `true` to access this API, which is currently in beta.
        required: true
        schema:
          type: boolean
          default: true
      responses:
        '201':
          description: Resource was successfully created.
          headers:
            Location:
              description: The URL of the newly created pool template.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirflowPoolTemplate'
        '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: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAirflowPoolTemplateRequest'
        description: Create Apache Airflow pool template request payload.
        required: true
  /workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates/{poolTemplateId}?beta=true:
    get:
      tags:
      - PoolManagement
      summary: Get an Apache Airflow pool template
      description: '> [!NOTE]

        > This API is part of a Beta release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.


        ## Permissions


        The caller must have *viewer* or higher workspace role.


        ## Required Delegated Scopes


        Workspace.Read.All or Workspace.ReadWrite.All


        **When calling this API, callers must specify `true` as the value for the query parameter `beta`.**


        ## 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'
      operationId: PoolManagement_Get_Airflow_Pool_Template_(beta)
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: poolTemplateId
        in: path
        description: The Apache Airflow pool template ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: beta
        description: This required parameter must be set to `true` to access this API, which is currently in beta.
        required: true
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirflowPoolTemplate'
        '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: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - PoolManagement
      summary: Delete an Apache Airflow pool template
      description: '> [!NOTE]

        > This API is part of a Beta release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.


        Deleting the default pool template will reset the workspace back to the starter pool.


        ## Permissions


        The caller must have *admin* workspace role.


        ## Required Delegated Scopes


        Workspace.ReadWrite.All


        **When calling this API, callers must specify `true` as the value for the query parameter `beta`.**


        ## 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'
      operationId: PoolManagement_Delete_Airflow_Pool_Template_(beta)
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: poolTemplateId
        in: path
        description: The Apache Airflow pool template ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: beta
        description: This required parameter must be set to `true` to access this API, which is currently in beta.
        required: true
        schema:
          type: boolean
          default: true
      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: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      description: The error response.
      required:
      - message
      - errorCode
      allOf:
      - $ref: '#/components/schemas/ErrorResponseDetails'
      properties:
        requestId:
          type: string
          format: uuid
          description: ID of the request associated with the error.
          readOnly: true
        moreDetails:
          description: List of additional error details.
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseDetails'
          readOnly: true
        isRetriable:
          type: boolean
          description: When true, the request can be retried. Use the `Retry-After` response header to determine the delay, if available.
          readOnly: true
    ComputeScalability:
      description: Compute scalability properties.
      required:
      - minNodeCount
      - maxNodeCount
      type: object
      properties:
        minNodeCount:
          description: The minimum node count. The minimum value is always 5.
          format: int32
          type: integer
          minimum: 5
        maxNodeCount:
          description: The maximum node count.
          format: int32
          type: integer
          minimum: 5
    AirflowPoolTemplate:
      description: Apache Airflow pool template.
      type: object
      properties:
        id:
          format: uuid
          description: The pool template ID.
          type: string
          readOnly: true
        name:
          description: The pool template name.
          type: string
        nodeSize:
          $ref: '#/components/schemas/NodeSize'
        shutdownPolicy:
          $ref: '#/components/schemas/ShutdownPolicy'
        computeScalability:
          $ref: '#/components/schemas/ComputeScalability'
        apacheAirflowJobVersion:
          description: The Apache Airflow job version.
          type: string
    AirflowPoolTemplates:
      required:
      - value
      type: object
      properties:
        value:
          description: A list of Apache Airflow pool templates.
          type: array
          items:
            $ref: '#/components/schemas/AirflowPoolTemplate'
      allOf:
      - $ref: '#/components/schemas/PaginatedResponse'
    ShutdownPolicy:
      type: string
      description: Shutdown policy. Additional `ShutdownPolicy` types may be added over time.
      enum:
      - AlwaysOn
      - OneHourInactivity
      x-ms-enum:
        name: ShutdownPolicy
        modelAsString: true
        values:
        - value: AlwaysOn
          description: Always on
        - value: OneHourInactivity
          description: Shutdown after one hour of inactivity
    ErrorResponseDetails:
      description: The error response details.
      type: object
      required:
      - message
      - errorCode
      properties:
        errorCode:
          type: string
          description: A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.
          readOnly: true
        message:
          type: string
          description: A human readable representation of the error.
          readOnly: true
        relatedResource:
          $ref: '#/components/schemas/ErrorRelatedResource'
        parameters:
          description: Structured parameters providing additional machine-readable context about the error.
          type: array
          items:
            $ref: '#/components/schemas/ErrorParameter'
          readOnly: true
    NodeSize:
      type: string
      description: Node size. Additional `NodeSize` types may be added over time.
      enum:
      - Small
      - Large
      x-ms-enum:
        name: NodeSize
        modelAsString: true
        values:
        - value: Small
          description: Small node size
        - value: Large
          description: Large node size
    ErrorRelatedResource:
      description: The error related resource details object.
      type: object
      required:
      - resourceId
      - resourceType
      properties:
        resourceId:
          type: string
          description: The resource ID that's involved in the error.
          readOnly: true
        resourceType:
          type: string
          description: The type of the resource that's involved in the error.
          readOnly: true
    PaginatedResponse:
      properties:
        continuationToken:
          type: string
          description: The token for the next result set batch. If there are no more records, it's removed from the response.
        continuationUri:
          type: string
          description: The URI of the next result set batch. If there are no more records, it's removed from the response.
    CreateAirflowPoolTemplateRequest:
      description: Create Apache Airflow pool template request payload.
      required:
      - name
      - nodeSize
      - computeScalability
      - apacheAirflowJobVersion
      type: object
      properties:
        name:
          description: The pool template name.
          type: string
        nodeSize:
          $ref: '#/components/schemas/NodeSize'
        computeScalability:
          $ref: '#/components/schemas/ComputeScalability'
        apacheAirflowJobVersion:
          description: The Apache Airflow job version (e.g., '1.0.0').
          type: string
    ErrorParameter:
      description: A structured parameter providing additional machine-readable context about an error.
      type: object
      properties:
        name:
          type: string
          description: The parameter identifier.
          readOnly: true
        value:
          type: string
          description: The parameter value.
          readOnly: true
        message:
          type: string
          description: A human-readable description of the parameter's meaning.
          readOnly: true