Microsoft Fabric Environment API
The Environment API from Microsoft Fabric — 3 operation(s) for environment.
The Environment API from Microsoft Fabric — 3 operation(s) for environment.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/microsoft-fabric:microsoft-fabric-environment-api"
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.
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: 3.2.0
info:
title: Microsoft Fabric Workload Items REST Environment 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: Environment
paths:
/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/start?beta=true:
post:
summary: Starts an Apache Airflow job environment
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 long running operations (LRO).
## Permissions
The caller must have *read and write* permissions for the Apache Airflow job.
## Required Delegated Scopes
Item.ReadWrite.All
Set the `beta` query parameter to `true` to call this API.
**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'
tags:
- Environment
operationId: Environment_Start_Apache_Airflow_Job_Environment_(beta)
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: apacheAirflowJobId
description: The Apache Airflow job 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.
'202':
description: Request accepted. Starting the environment 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: '#/components/schemas/ErrorResponse'
default:
description: 'Common error codes:
* ItemNotFound - The requested Apache Airflow job was not found.
* Forbidden - The caller doesn''t have permissions to call the API.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/stop?beta=true:
post:
summary: Stops an Apache Airflow job environment
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 long running operations (LRO).
## Permissions
The caller must have *read and write* permissions for the Apache Airflow job.
## Required Delegated Scopes
Item.ReadWrite.All
Set the `beta` query parameter to `true` to call this API.
**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'
tags:
- Environment
operationId: Environment_Stop_Apache_Airflow_Job_Environment_(beta)
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: apacheAirflowJobId
description: The Apache Airflow job 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.
'202':
description: Request accepted. Stopping the environment 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: '#/components/schemas/ErrorResponse'
default:
description: 'Common error codes:
* ItemNotFound - The requested Apache Airflow job was not found.
* Forbidden - The caller doesn''t have permissions to call the API.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment?beta=true:
get:
summary: Gets the Apache Airflow environment for the specified Apache Airflow job
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 *read* permissions for the Apache Airflow job.
## Required Delegated Scopes
Item.Read.All or Item.ReadWrite.All
Set the `beta` query parameter to `true` to call this API.
**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'
tags:
- Environment
operationId: Environment_Get_Apache_Airflow_Job_Environment_(beta)
parameters:
- in: path
name: workspaceId
description: The workspace ID.
required: true
schema:
type: string
format: uuid
- in: path
name: apacheAirflowJobId
description: The Apache Airflow job 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/AirflowEnvironmentStatusResponse'
'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:
* ItemNotFound - The requested Apache Airflow job was not found.
* Forbidden - The caller doesn''t have permissions to call the API.'
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
AirflowEnvironmentStatus:
type: string
description: Apache Airflow environment status. Additional statuses may be added over time.
enum:
- Initial
- Starting
- Started
- Stopping
- Stopped
- Upgrading
- Failed
x-ms-enum:
name: AirflowEnvironmentStatus
modelAsString: true
values:
- value: Initial
description: The environment for the Airflow is initializing.
- value: Starting
description: The environment for the Airflow is starting.
- value: Started
description: The environment for the Airflow is running.
- value: Stopping
description: The environment for the Airflow is stopping.
- value: Stopped
description: The environment for the Airflow is stopped.
- value: Upgrading
description: The environment for the Airflow is upgrading.
- value: Failed
description: The environment for the Airflow encountered a failure.
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
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
AirflowEnvironmentStatusResponse:
description: Apache Airflow environment status response.
type: object
required:
- status
properties:
status:
$ref: '#/components/schemas/AirflowEnvironmentStatus'
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