{ "swagger": "2.0", "info": { "title": "Apache Airflow job REST APIs", "version": "v1" }, "schemes": [ "https" ], "host": "api.fabric.microsoft.com", "basePath": "/v1", "paths": { "/workspaces/{workspaceId}/apacheAirflowJobs": { "get": { "summary": "Returns a list of Apache Airflow jobs from the specified workspace.", "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have a *viewer* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_ListApacheAirflowJobs", "x-ms-pageable": { "nextLinkName": "continuationUri" }, "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "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.", "type": "boolean", "required": false }, { "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.", "type": "string", "format": "uuid", "required": false }, { "in": "query", "name": "continuationToken", "description": "A token for retrieving the next page of results.", "type": "string", "required": false } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJobs" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* InvalidItemType - Invalid item type.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Apache Airflow jobs in workspace example": { "$ref": "./examples/ListApacheAirflowJobsInWorkspace.json" } } }, "post": { "summary": "Creates an Apache Airflow job in the specified workspace.", "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have a *contributor* workspace role.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Limitations\n\n- To create an Apache Airflow job, the workspace must be on a supported Fabric capacity. For more information, see: [Microsoft Fabric license types](/fabric/enterprise/licenses#microsoft-fabric-license-types).\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_CreateApacheAirflowJob", "consumes": [ "application/json" ], "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "body", "name": "createApacheAirflowJobRequest", "description": "Create item request payload.", "schema": { "$ref": "./definitions.json#/definitions/CreateApacheAirflowJobRequest" }, "required": true } ], "responses": { "201": { "description": "Successfully created", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJob" } }, "202": { "description": "Request accepted, provisioning in progress.", "headers": { "Location": { "description": "The URL of the operation status, which can be used to track the operation state.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* InvalidItemType - Item type is invalid\n\n* ItemDisplayNameAlreadyInUse - Item display name is already used.\n\n* CorruptedPayload - The provided payload is corrupted.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create an Apache Airflow job example": { "$ref": "./examples/CreateApacheAirflowJobWithoutDefinition.json" }, "Create an Apache Airflow job with public definition example": { "$ref": "./examples/CreateApacheAirflowJobWithDefinition.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}": { "get": { "summary": "Returns properties of the specified Apache Airflow job.", "description": "## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_GetApacheAirflowJob", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJob" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get an Apache Airflow job example": { "$ref": "./examples/GetApacheAirflowJob.json" } } }, "patch": { "summary": "Updates the properties of the specified Apache Airflow job.", "description": "## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_UpdateApacheAirflowJob", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "body", "name": "updateApacheAirflowJobRequest", "description": "Update Apache Airflow job request payload.", "schema": { "$ref": "./definitions.json#/definitions/UpdateApacheAirflowJobRequest" }, "required": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJob" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "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.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update an Apache Airflow job example": { "$ref": "./examples/UpdateApacheAirflowJob.json" } } }, "delete": { "summary": "Deletes the specified Apache Airflow job.", "description": "## Permissions\n\nThe caller must have *write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_DeleteApacheAirflowJob", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "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.", "type": "boolean", "required": false } ], "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.\n\n* InsufficientWorkspaceRole - User doesn't have sufficient workspace role.\n\n* FeatureNotAvailable - This could be due to the soft deletion feature not being available.\n\n* UnsupportedItemType - This could be due to the soft deletion feature not supported by the requested item type.\n\n* TenantSwitchDisabled - This could be due to the soft deletion feature being disabled by the tenant admin.\n\n* InvalidTargetItemStateForSoftDeletion - The item is in invalid states for soft deletion.\n\n* InvalidParentItemStateForSoftDeletion - The item's parent item is not in Active state.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete an Apache Airflow job example": { "$ref": "./examples/DeleteApacheAirflowJob.json" }, "Hard delete an Apache Airflow job example": { "$ref": "./examples/HardDeleteApacheAirflowJob.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/getDefinition": { "post": { "summary": "Returns the specified Apache Airflow job public definition.", "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get an Apache Airflow job's public definition, the sensitivity label is not a part of the definition.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Limitations\n\nTo retrieve the definition of an Apache Airflow job item protected by an encrypted sensitivity label, the caller must have sufficient [usage rights](/fabric/enterprise/powerbi/service-security-sensitivity-label-change-enforcement) to remove the label, as configured in [Microsoft Purview](/purview/purview).\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_GetApacheAirflowJobDefinition", "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "format", "description": "The format of the Apache Airflow job public definition. If no format is provided, the default Apache Airflow job definition format is used.", "type": "string", "required": false } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJobDefinitionResponse" } }, "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* OperationNotSupportedForItem - Operation not supported for requested item.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get an Apache Airflow job public definition example": { "$ref": "./examples/GetApacheAirflowJobDefinition.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/updateDefinition": { "post": { "summary": "Overrides the definition for the specified Apache Airflow job.", "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUpdating an Apache Airflow job's definition does not affect its sensitivity label. \n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Items" ], "operationId": "Items_UpdateApacheAirflowJobDefinition", "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "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", "type": "boolean", "required": false }, { "in": "body", "name": "updateApacheAirflowJobDefinitionRequest", "description": "Update Apache Airflow job definition request payload.", "schema": { "$ref": "./definitions.json#/definitions/UpdateApacheAirflowJobDefinitionRequest" }, "required": true } ], "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "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.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update an Apache Airflow job public definition example": { "$ref": "./examples/UpdateApacheAirflowJobDefinition.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/start?beta=true": { "post": { "summary": "Starts an Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Environment" ], "operationId": "Environment_Start_Apache_Airflow_Job_Environment_(beta)", "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Start Apache Airflow environment example": { "$ref": "./examples/StartApacheAirflowEnvironment.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/stop?beta=true": { "post": { "summary": "Stops an Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Environment" ], "operationId": "Environment_Stop_Apache_Airflow_Job_Environment_(beta)", "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Stop Apache Airflow environment example": { "$ref": "./examples/StopApacheAirflowEnvironment.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment?beta=true": { "get": { "summary": "Gets the Apache Airflow environment for the specified Apache Airflow job.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Environment" ], "operationId": "Environment_Get_Apache_Airflow_Job_Environment_(beta)", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Apache Airflow environment status example": { "$ref": "./examples/GetApacheAirflowJobEnvironment.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/libraries?beta=true": { "get": { "summary": "Returns a list of installed libraries for the specified Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Requirements" ], "operationId": "Requirements_List_Apache_Airflow_Job_Libraries_(beta)", "x-ms-pageable": { "nextLinkName": "continuationUri" }, "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true }, { "in": "query", "name": "continuationToken", "description": "A token for retrieving the next page of results.", "type": "string", "required": false } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Apache Airflow libraries example": { "$ref": "./examples/ListApacheAirflowJobLibraries.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/deployRequirements?beta=true": { "post": { "summary": "Deploys requirements for an Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n**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.**\n\n**When calling this API, the Apache Airflow job must be in 'Started' state.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Requirements" ], "operationId": "Requirements_Deploy_Apache_Airflow_Job_Requirements_(beta)", "consumes": [ "text/plain" ], "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "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.", "type": "string", "required": false }, { "in": "body", "name": "requirementsContentRequest", "description": "The requirements file content (UTF-8 encoded text). Required if filePath is not provided.", "schema": { "type": "string" }, "required": false } ], "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Deploy Apache Airflow job requirements with file path example": { "$ref": "./examples/DeployApacheAirflowJobRequirementsQueryParam.json" }, "Deploy Apache Airflow job requirements with request body example": { "$ref": "./examples/DeployApacheAirflowJobRequirementsRequestBody.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/settings?beta=true": { "get": { "summary": "Returns the environment settings for the specified Apache Airflow job.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Settings" ], "operationId": "Settings_Get_Apache_Airflow_Job_Settings_(beta)", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/AirflowEnvironmentSettingsResponse" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Apache Airflow environment settings example": { "$ref": "./examples/GetApacheAirflowJobSettings.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/updateSettings?beta=true": { "post": { "summary": "Updates the settings for an Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n**When updating list values (environmentVariables, airflowConfigurationOverrides), users must submit the complete set of desired values; existing values will be replaced.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Settings" ], "operationId": "Settings_Update_Apache_Airflow_Job_Settings_(beta)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true }, { "in": "body", "name": "airflowEnvironmentSettingsRequest", "description": "Update Apache Airflow environment settings request payload.", "schema": { "$ref": "./definitions.json#/definitions/AirflowEnvironmentSettingsRequest" }, "required": true } ], "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.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update Apache Airflow job environment settings example": { "$ref": "./examples/UpdateApacheAirflowJobSettings.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/compute?beta=true": { "get": { "summary": "Returns the compute configuration for the specified Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Compute" ], "operationId": "Compute_Get_Apache_Airflow_Job_Compute_(beta)", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/AirflowComputeResponse" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Apache Airflow compute configuration example": { "$ref": "./examples/GetApacheAirflowJobCompute.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/environment/updateCompute?beta=true": { "post": { "summary": "Updates the compute configuration for an Apache Airflow job environment.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\nSet the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Compute" ], "operationId": "Compute_Update_Apache_Airflow_Job_Compute_(beta)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true }, { "in": "body", "name": "airflowEnvironmentComputeRequest", "description": "Update Apache Airflow environment compute request payload.", "schema": { "$ref": "./definitions.json#/definitions/AirflowEnvironmentComputeRequest" }, "required": true } ], "responses": { "200": { "description": "Request completed successfully." }, "202": { "description": "Request accepted. The compute configuration will be updated in the background.", "headers": { "Location": { "description": "The URL of the operation status, which can be used to track the operation state.", "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.", "type": "string", "format": "uuid" }, "Retry-After": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested Apache Airflow job was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update Apache Airflow compute configuration example": { "$ref": "./examples/UpdateApacheAirflowJobCompute.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/files?beta=true": { "get": { "summary": "Returns a list of Apache Airflow job files from the specified Apache Airflow job.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\n## Limitations\n- Root path query parameter must start with `dags/` or `plugins/`.\n- Listing files is not recursive; only the specified folder is returned.\n- Set the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Files" ], "operationId": "Files_List_Apache_Airflow_Job_Files_(beta)", "x-ms-pageable": { "nextLinkName": "continuationUri" }, "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "query", "name": "rootPath", "description": "The folder path to list. If not provided, the root directory is used.", "type": "string", "required": false }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true }, { "in": "query", "name": "continuationToken", "description": "A token for retrieving the next page of results.", "type": "string", "required": false } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/ApacheAirflowJobFiles" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested path was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Apache Airflow job files example": { "$ref": "./examples/ListApacheAirflowJobFiles.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}/files/{filePath}?beta=true": { "get": { "summary": "Returns the specified Apache Airflow job file.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All\n\n## Limitations\n- Files must be located within the `dags/` or `plugins/` folders.\n- The maximum supported file size is 2 MB.\n- Text files are returned using UTF-8 encoding; binary files are returned as-is.\n- Set the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Files" ], "operationId": "Files_Get_Apache_Airflow_Job_File_(beta)", "produces": [ "application/octet-stream" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "filePath", "description": "The file path relative to the Apache Airflow job root. It must begin with either 'dags/' or 'plugins/' (for example, `dags/example_dag.py`).", "type": "string", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully. Contains the file content in binary. Text files are UTF-8 encoded.", "schema": { "type": "string", "format": "binary" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested file was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get an Apache Airflow job file example": { "$ref": "./examples/GetApacheAirflowJobFile.json" } } }, "put": { "summary": "Creates or updates an Apache Airflow job file.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Limitations\n- Files must be located within the `dags/` or `plugins/` folders.\n- The maximum supported file size is 2 MB.\n- Supported file types include binary files (sent as-is) and UTF-8 encoded text files such as Python, YAML, XML, JSON, and SQL.\n- Set the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Files" ], "operationId": "Files_Create_Or_Update_Apache_Airflow_Job_File_(beta)", "consumes": [ "application/octet-stream" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "filePath", "description": "The file path relative to the Apache Airflow job root. It must begin with either 'dags/' or 'plugins/' (for example, `dags/example_dag.py`).", "type": "string", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true }, { "in": "body", "name": "fileContents", "description": "The file content. Text files must be UTF-8 encoded.", "schema": { "type": "string", "format": "binary" }, "required": true } ], "responses": { "200": { "description": "File uploaded 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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* Forbidden - The caller doesn't have permissions to call the API.\n\n* InternalServerError - An unexpected error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or update an Apache Airflow job plain text file example": { "$ref": "./examples/CreateOrUpdateApacheAirflowJobFilePlainText.json" }, "Create or update an Apache Airflow job binary file example": { "$ref": "./examples/CreateOrUpdateApacheAirflowJobFileBinary.json" } } }, "delete": { "summary": "Deletes the specified Apache Airflow job file.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the Apache Airflow job.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All\n\n## Limitations\n- Files must be located within the `dags/` or `plugins/` folders.\n- Set the `beta` query parameter to `true` to call this API.\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "tags": [ "Files" ], "operationId": "Files_Delete_Apache_Airflow_Job_File_(beta)", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "workspaceId", "description": "The workspace ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "apacheAirflowJobId", "description": "The Apache Airflow job ID.", "type": "string", "format": "uuid", "required": true }, { "in": "path", "name": "filePath", "description": "The file path relative to the Apache Airflow job root. It must begin with either 'dags/' or 'plugins/' (for example, `dags/example_dag.py`).", "type": "string", "required": true }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "File deleted 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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* ItemNotFound - The requested file was not found.\n\n* Forbidden - The caller doesn't have permissions to call the API.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete an Apache Airflow job file example": { "$ref": "./examples/DeleteApacheAirflowJobFile.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/settings?beta=true": { "get": { "tags": [ "WorkspaceSettings" ], "summary": "Get Apache Airflow workspace settings.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *viewer* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "WorkspaceSettings_Get_Airflow_Workspace_Settings_(beta)", "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "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.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/AirflowWorkspaceSettings" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Apache Airflow workspace settings example": { "$ref": "./examples/GetAirflowWorkspaceSettings.json" } } }, "patch": { "tags": [ "WorkspaceSettings" ], "summary": "Update Apache Airflow workspace settings.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *admin* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "WorkspaceSettings_Update_Airflow_Workspace_Settings_(beta)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "type": "string", "format": "uuid" }, { "name": "updateAirflowWorkspaceSettingsRequest", "in": "body", "description": "Update Apache Airflow workspace settings request payload.", "required": true, "schema": { "$ref": "./definitions.json#/definitions/UpdateAirflowWorkspaceSettingsRequest" } }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/AirflowWorkspaceSettings" } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update Apache Airflow workspace settings example": { "$ref": "./examples/UpdateAirflowWorkspaceSettings.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates?beta=true": { "get": { "tags": [ "PoolManagement" ], "summary": "List Apache Airflow pool templates.", "description": "> [!NOTE]\n> 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.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *viewer* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "PoolManagement_List_Airflow_Pool_Templates_(beta)", "x-ms-pageable": { "nextLinkName": "continuationUri", "itemName": "value" }, "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "type": "string", "format": "uuid" }, { "in": "query", "name": "continuationToken", "description": "A token for retrieving the next page of results.", "type": "string", "required": false }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Apache Airflow pool templates example": { "$ref": "./examples/ListAirflowPoolTemplates.json" } } }, "post": { "tags": [ "PoolManagement" ], "summary": "Create an Apache Airflow pool template.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *admin* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "PoolManagement_Create_Airflow_Pool_Template_(beta)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "type": "string", "format": "uuid" }, { "name": "createAirflowPoolTemplateRequest", "in": "body", "description": "Create Apache Airflow pool template request payload.", "required": true, "schema": { "$ref": "./definitions.json#/definitions/CreateAirflowPoolTemplateRequest" } }, { "in": "query", "name": "beta", "description": "This required parameter must be set to `true` to access this API, which is currently in beta.", "type": "boolean", "required": true, "default": true } ], "responses": { "201": { "description": "Resource was successfully created.", "schema": { "$ref": "./definitions.json#/definitions/AirflowPoolTemplate" }, "headers": { "Location": { "description": "The URL of the newly created pool template.", "type": "string" } } }, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create Apache Airflow pool template example": { "$ref": "./examples/CreateAirflowPoolTemplate.json" } } } }, "/workspaces/{workspaceId}/apacheAirflowJobs/poolTemplates/{poolTemplateId}?beta=true": { "get": { "tags": [ "PoolManagement" ], "summary": "Get an Apache Airflow pool template.", "description": "> [!NOTE]\n> 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.\n\n## Permissions\n\nThe caller must have *viewer* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "PoolManagement_Get_Airflow_Pool_Template_(beta)", "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "type": "string", "format": "uuid" }, { "name": "poolTemplateId", "in": "path", "description": "The Apache Airflow pool template ID.", "required": true, "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.", "type": "boolean", "required": true, "default": true } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { "$ref": "./definitions.json#/definitions/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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Apache Airflow pool template example": { "$ref": "./examples/GetAirflowPoolTemplate.json" } } }, "delete": { "tags": [ "PoolManagement" ], "summary": "Delete an Apache Airflow pool template.", "description": "> [!NOTE]\n> 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.\n\nDeleting the default pool template will reset the workspace back to the starter pool.\n\n## Permissions\n\nThe caller must have *admin* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", "operationId": "PoolManagement_Delete_Airflow_Pool_Template_(beta)", "produces": [ "application/json" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "The workspace ID.", "required": true, "type": "string", "format": "uuid" }, { "name": "poolTemplateId", "in": "path", "description": "The Apache Airflow pool template ID.", "required": true, "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.", "type": "boolean", "required": true, "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": { "type": "integer", "description": "The number of seconds to wait before retrying the request." } }, "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } }, "default": { "description": "Common error codes:\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Apache Airflow pool template example": { "$ref": "./examples/DeleteAirflowPoolTemplate.json" } } } } }, "responses": {}, "security": [], "tags": [] }