Microsoft Fabric Requirements API
The Requirements API from Microsoft Fabric — 2 operation(s) for requirements.
The Requirements API from Microsoft Fabric — 2 operation(s) for requirements.
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-requirements-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 Requirements 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: Requirements
paths:
/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/libraries?beta=true:
get:
summary: Returns a list of installed libraries 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.
This API supports pagination.
## 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:
- Requirements
operationId: Requirements_List_Apache_Airflow_Job_Libraries_(beta)
x-ms-pageable:
nextLinkName: continuationUri
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
- 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: '#/components/schemas/AirflowLibrariesResponse'
'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/deployRequirements?beta=true:
post:
summary: Deploys requirements for 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`.**
**You can deploy requirements by either including the `filePath` query parameter pointing to an existing requirements file, or by providing the requirements file content directly in the request body.**
**When calling this API, the Apache Airflow job must be in ''Started'' state.**
## 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:
- Requirements
operationId: Requirements_Deploy_Apache_Airflow_Job_Requirements_(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
- in: query
name: filePath
description: The path to an existing requirements file to deploy. If not provided, the request body should contain the requirements file content.
required: false
schema:
type: string
responses:
'200':
description: Request completed successfully.
'202':
description: Request accepted. The environment will be updated in the background.
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'
requestBody:
content:
text/plain:
schema:
type: string
description: The requirements file content (UTF-8 encoded text). Required if filePath is not provided.
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
AirflowLibrariesResponse:
description: Apache Airflow libraries response.
type: object
required:
- value
properties:
value:
description: A list of installed libraries.
type: array
items:
$ref: '#/components/schemas/AirflowLibrary'
readOnly: true
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
LibrarySource:
type: string
description: Library source. Additional `LibrarySource` values may be added over time.
enum:
- PyPI
- Internal
x-ms-enum:
name: LibrarySource
modelAsString: true
values:
- value: PyPI
description: Library sourced from PyPI.
- value: Internal
description: Library sourced internally.
LibraryType:
type: string
description: Library type. Additional `LibraryType` values may be added over time.
enum:
- Public
- Private
x-ms-enum:
name: LibraryType
modelAsString: true
values:
- value: Public
description: A public library.
- value: Private
description: A private library.
AirflowLibrary:
description: Apache Airflow library.
type: object
properties:
name:
description: The library name.
type: string
readOnly: true
libraryType:
$ref: '#/components/schemas/LibraryType'
source:
$ref: '#/components/schemas/LibrarySource'
version:
description: The library version.
type: string
readOnly: true
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
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.
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