From 161b19f449a4b72489d587d4c6d4a7bf70e95974 Mon Sep 17 00:00:00 2001 From: Amos Hersch Date: Wed, 8 Jul 2026 13:47:17 +0300 Subject: [PATCH 1/3] Update Fabric REST API specifications and item definition documentation --- .../changelog-entries/1783507618310.yaml | 3 + .../contents/admin/definitions.json | 5 + .../ListWorkspacesWithEncryption.json | 63 + ...stWorkspacesWithEncryptionAndCapacity.json | 29 + ...orkspacesWithoutEncryptionAndCapacity.json | 32 + .../contents/admin/swagger.json | 29 +- .../apacheAirflowJob/definitions.json | 16 +- .../CreateApacheAirflowJobWithDefinition.json | 44 + .../UpdateApacheAirflowJobCompute.json | 19 + .../contents/apacheAirflowJob/swagger.json | 156 +- .../contents/appBackend/definitions.json | 81 + .../CreateAppBackendWithoutDefinition.json | 27 + .../appBackend/examples/DeleteAppBackend.json | 9 + .../appBackend/examples/GetAppBackend.json | 17 + .../examples/ListAppBackendsInWorkspace.json | 27 + .../appBackend/examples/UpdateAppBackend.json | 21 + .../contents/appBackend/swagger.json | 375 ++++ .../azureDatabricksStorage/definitions.json | 173 ++ .../CreateAzureDatabricksStorage.json | 20 + ...eAzureDatabricksStorageWithDefinition.json | 34 + .../DeleteAzureDatabricksStorage.json | 9 + .../examples/GetAzureDatabricksStorage.json | 17 + .../GetAzureDatabricksStorageDefinition.json | 33 + .../HardDeleteAzureDatabricksStorage.json | 10 + ...istAzureDatabricksStoragesInWorkspace.json | 27 + .../UpdateAzureDatabricksStorage.json | 21 + ...pdateAzureDatabricksStorageDefinition.json | 33 + .../azureDatabricksStorage/swagger.json | 585 ++++++ .../contents/common/definitions.json | 77 +- .../contents/common/job_scheduling.json | 76 + .../contents/copyJob/definitions.json | 27 + .../ResetCopyJob_AllCopyJobEntities.json | 12 + .../ResetCopyJob_SelectedCopyJobEntities.json | 20 + .../contents/copyJob/swagger.json | 75 + .../cosmosDbDatabase/definitions.json | 23 +- .../examples/GetCosmosDBDatabase.json | 4 + .../ListCosmosDBDatabasesInWorkspace.json | 10 +- .../contents/dataAgent/definitions.json | 707 ++++++- .../CreateStagingDataAgentDatasource.json | 37 + ...eateStagingDataAgentDatasourceFewshot.json | 23 + ...teStagingDataAgentWarehouseDatasource.json | 38 + ...AllStagingDataAgentDatasourceFewshots.json | 10 + .../DeleteStagingDataAgentDatasource.json | 10 + ...leteStagingDataAgentDatasourceElement.json | 11 + ...leteStagingDataAgentDatasourceFewshot.json | 11 + .../dataAgent/examples/GetDataAgent.json | 3 + .../GetPublishedDataAgentDatasource.json | 24 + ...etPublishedDataAgentDatasourceFewshot.json | 21 + .../GetPublishedDataAgentSettings.json | 13 + .../GetStagingDataAgentDatasource.json | 24 + .../GetStagingDataAgentDatasourceFewshot.json | 21 + .../examples/GetStagingDataAgentSettings.json | 13 + .../examples/ListDataAgentsInWorkspace.json | 3 + ...tPublishedDataAgentDatasourceElements.json | 35 + ...tPublishedDataAgentDatasourceFewshots.json | 34 + .../ListPublishedDataAgentDatasources.json | 41 + ...istStagingDataAgentDatasourceElements.json | 35 + ...istStagingDataAgentDatasourceFewshots.json | 34 + .../ListStagingDataAgentDatasources.json | 41 + .../dataAgent/examples/PublishDataAgent.json | 16 + .../examples/ResetStagingDataAgent.json | 9 + .../examples/UpdateDataAgentDefinition.json | 5 +- .../UpdateStagingDataAgentDatasource.json | 28 + ...dateStagingDataAgentDatasourceElement.json | 24 + ...dateStagingDataAgentDatasourceFewshot.json | 23 + .../UpdateStagingDataAgentSettings.json | 16 + .../contents/dataAgent/swagger.json | 1833 +++++++++++++++++ .../dataBuildToolJob/definitions.json | 194 ++ .../examples/CreateDataBuildToolJob.json | 42 + ...CreateDataBuildToolJobExecuteSchedule.json | 39 + ...eateDataBuildToolJobWithoutDefinition.json | 27 + .../examples/DeleteDataBuildToolJob.json | 9 + .../examples/GetDataBuildToolJob.json | 20 + .../GetDataBuildToolJobDefinition.json | 33 + .../ListDataBuildToolJobsInWorkspace.json | 33 + .../RunOnDemandDataBuildToolJobNoBody.json | 14 + .../examples/UpdateDataBuildToolJob.json | 21 + .../UpdateDataBuildToolJobDefinition.json | 34 + .../contents/dataBuildToolJob/swagger.json | 694 +++++++ .../contents/dataPipeline/definitions.json | 56 + .../DeleteDataPipelineExecuteSchedule.json | 10 + .../GetDataPipelineExecuteJobInstance.json | 22 + .../GetDataPipelineExecuteSchedule.json | 27 + .../ListDataPipelineExecuteJobInstances.json | 36 + .../ListDataPipelineExecuteSchedules.json | 47 + .../UpdateDataPipelineExecuteSchedule.json | 37 + .../contents/dataPipeline/swagger.json | 435 +++- .../contents/dataflow/definitions.json | 36 +- .../dataflow/examples/CreateDataflow.json | 9 +- .../examples/GetDataflowDefinition.json | 13 +- .../examples/UpdateDataflowDefinition.json | 9 +- .../contents/dataflow/swagger.json | 11 +- .../eventstream/definitions/source.json | 320 ++- .../examples/GetEventstreamTopology.json | 102 +- .../contents/lakehouse/definitions.json | 369 +++- .../examples/CreateExecutionDefinition.json | 70 + ...eRefreshMaterializedLakeViewsSchedule.json | 6 + .../examples/DeleteExecutionDefinition.json | 10 + .../examples/GetExecutionDefinition.json | 40 + .../examples/ListExecutionDefinitions.json | 50 + .../examples/UpdateExecutionDefinition.json | 56 + ...eRefreshMaterializedLakeViewsSchedule.json | 6 + .../contents/lakehouse/swagger.json | 372 +++- .../contents/notebook/definitions.json | 2 +- .../contents/orgApp/definitions.json | 190 ++ .../orgApp/examples/CreateOrgApp.json | 41 + .../CreateOrgAppWithoutDefinition.json | 27 + .../orgApp/examples/DeleteOrgApp.json | 9 + .../contents/orgApp/examples/GetOrgApp.json | 20 + .../orgApp/examples/GetOrgAppDefinition.json | 33 + .../examples/ListOrgAppsInWorkspace.json | 33 + .../orgApp/examples/UpdateOrgApp.json | 21 + .../examples/UpdateOrgAppDefinition.json | 33 + .../contents/orgApp/swagger.json | 575 ++++++ .../contents/orgAppAudience/definitions.json | 192 ++ .../examples/CreateOrgAppAudience.json | 42 + ...CreateOrgAppAudienceWithoutDefinition.json | 27 + .../examples/DeleteOrgAppAudience.json | 9 + .../examples/GetOrgAppAudience.json | 20 + .../examples/GetOrgAppAudienceDefinition.json | 33 + .../ListOrgAppAudiencesInWorkspace.json | 33 + .../examples/UpdateOrgAppAudience.json | 21 + .../UpdateOrgAppAudienceDefinition.json | 33 + .../contents/orgAppAudience/swagger.json | 575 ++++++ .../contents/paginatedReport/definitions.json | 105 + .../examples/CreatePaginatedReport.json | 37 + .../examples/DeletePaginatedReport.json | 9 + .../examples/GetPaginatedReport.json | 17 + .../GetPaginatedReportDefinition.json | 34 + .../UpdatePaginatedReportDefinition.json | 34 + .../contents/paginatedReport/swagger.json | 387 ++++ .../platform/definitions/connections.json | 100 +- .../platform/definitions/gateways.json | 118 +- .../platform/definitions/platform.json | 122 +- .../platform/definitions/relations.json | 151 ++ .../platform/definitions/workspaceCmk.json | 155 ++ .../connections/CreateCloudConnection.json | 5 +- .../CreateCloudConnectionWithKeyPair.json | 7 +- .../CreateOnPremisesGatewayConnection.json | 12 +- ...eamingVirtualNetworkGatewayConnection.json | 57 + ...CreateVirtualNetworkGatewayConnection.json | 9 +- .../examples/connections/GetConnection.json | 7 + .../examples/connections/ListConnections.json | 31 + .../UpdateOnPremisesGatewayConnection.json | 12 +- ...teOnPremisesGatewayPersonalConnection.json | 9 +- .../UpdatePersonalCloudConnection.json | 9 +- .../UpdateShareableCloudConnection.json | 9 +- ...eamingVirtualNetworkGatewayConnection.json | 33 + ...UpdateVirtualNetworkGatewayConnection.json | 9 +- .../gateways/CheckGatewayMemberStatus.json | 22 + .../CheckGatewayMemberStatusOffline.json | 25 + .../gateways/CheckGatewayStatusOnPremise.json | 24 + .../gateways/CheckGatewayStatusVnet.json | 31 + .../CreateStreamingVirtualNetworkGateway.json | 29 + .../examples/gateways/ListGateways.json | 11 + .../examples/gateways/RestartGateway.json | 17 + .../examples/gateways/ShutdownGateway.json | 17 + .../UpdateStreamingVirtualNetworkGateway.json | 24 + .../platform/AssignWorkspaceEncryption.json | 13 + .../platform/CreateWorkspaceRequiredOnly.json | 3 +- .../platform/GetDownstreamRelations.json | 41 + .../platform/GetUpstreamRelations.json | 35 + ...paceEncryptionInprogressSuccessResult.json | 39 + .../GetWorkspaceEncryptionSuccessResult.json | 15 + .../examples/platform/ListWorkspaces.json | 1 + .../ListWorkspacesWithContinuation.json | 3 +- .../platform/ResetWorkspaceEncryption.json | 10 + .../examples/platform/UpdateWorkspace.json | 3 +- .../contents/platform/swagger.json | 695 ++++++- .../databricks-storage-definition.md | 43 + .../item-definitions/dataflow-definition.md | 126 +- .../graph-model-definition.md | 7 +- .../mirrored-database-definition.md | 105 +- .../operations-agent-definition.md | 136 +- .../paginatedreport-definition.md | 185 ++ .../item-definitions/plan-definition.md | 1365 ++++++++++++ .../item-definitions/spark-job-definition.md | 130 +- 177 files changed, 14974 insertions(+), 319 deletions(-) create mode 100644 servers/Fabric.Mcp.Server/changelog-entries/1783507618310.yaml create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryption.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryptionAndCapacity.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithoutEncryptionAndCapacity.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/CreateApacheAirflowJobWithDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/UpdateApacheAirflowJobCompute.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/CreateAppBackendWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/DeleteAppBackend.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/GetAppBackend.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/ListAppBackendsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/UpdateAppBackend.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorage.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorageWithDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/DeleteAzureDatabricksStorage.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorage.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorageDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/HardDeleteAzureDatabricksStorage.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/ListAzureDatabricksStoragesInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorage.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorageDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_AllCopyJobEntities.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_SelectedCopyJobEntities.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasourceFewshot.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentWarehouseDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteAllStagingDataAgentDatasourceFewshots.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceElement.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceFewshot.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasourceFewshot.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentSettings.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasourceFewshot.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentSettings.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceElements.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceFewshots.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasources.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceElements.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceFewshots.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasources.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/PublishDataAgent.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ResetStagingDataAgent.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasource.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceElement.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceFewshot.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentSettings.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJob.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobExecuteSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/DeleteDataBuildToolJob.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJob.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJobDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/ListDataBuildToolJobsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/RunOnDemandDataBuildToolJobNoBody.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJob.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJobDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/DeleteDataPipelineExecuteSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteJobInstance.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteJobInstances.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteSchedules.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/UpdateDataPipelineExecuteSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateExecutionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteExecutionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/GetExecutionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/ListExecutionDefinitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateExecutionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgApp.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgAppWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/DeleteOrgApp.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgApp.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgAppDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/ListOrgAppsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgApp.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgAppDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudience.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudienceWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/DeleteOrgAppAudience.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudience.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudienceDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/ListOrgAppAudiencesInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudience.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudienceDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/CreatePaginatedReport.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/DeletePaginatedReport.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReport.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReportDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/UpdatePaginatedReportDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/relations.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceCmk.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateStreamingVirtualNetworkGatewayConnection.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateStreamingVirtualNetworkGatewayConnection.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatus.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatusOffline.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusOnPremise.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusVnet.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CreateStreamingVirtualNetworkGateway.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/RestartGateway.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ShutdownGateway.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/UpdateStreamingVirtualNetworkGateway.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceEncryption.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetDownstreamRelations.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetUpstreamRelations.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionInprogressSuccessResult.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionSuccessResult.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ResetWorkspaceEncryption.json create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/databricks-storage-definition.md create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/paginatedreport-definition.md create mode 100644 tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/plan-definition.md diff --git a/servers/Fabric.Mcp.Server/changelog-entries/1783507618310.yaml b/servers/Fabric.Mcp.Server/changelog-entries/1783507618310.yaml new file mode 100644 index 0000000000..5ffcb062c2 --- /dev/null +++ b/servers/Fabric.Mcp.Server/changelog-entries/1783507618310.yaml @@ -0,0 +1,3 @@ +changes: + - section: "Other Changes" + description: "Updated Fabric REST API specifications and item definition documentation." diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json index a109b2a1d9..49951930ba 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json @@ -68,6 +68,11 @@ "$ref": "../common/definitions.json#/definitions/WorkspaceAppliedTag" }, "readOnly": true + }, + "encryption": { + "description": "The encryption details of the workspace.", + "$ref": "../platform/definitions/workspaceCmk.json#/definitions/Encryption", + "readOnly": true } } }, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryption.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryption.json new file mode 100644 index 0000000000..8c93c86b75 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryption.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "include": "encryption" + }, + "responses": { + "200": { + "body": { + "workspaces": [ + { + "id": "abf49964-6f70-4aea-a66c-4b78a22e3ddc", + "name": "Contoso Workspace 1", + "type": "Workspace", + "state": "Active", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9", + "encryption": { + "status": "Disabled" + } + }, + { + "id": "9c7f06cc-e850-4961-b2bd-181a70b1a784", + "name": "Contoso Workspace 2", + "type": "Workspace", + "state": "Active", + "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9", + "encryption": { + "status": "Disabled" + } + }, + { + "id": "90119767-07b4-4657-82ee-53e90fece225", + "name": "Contoso Workspace 3", + "type": "Workspace", + "state": "Active", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9", + "encryption": { + "status": "Active", + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/" + } + }, + { + "id": "adaa3051-b1de-41ed-b1b4-d5e08887c1e9", + "name": "Contoso Workspace 4", + "type": "Workspace", + "state": "Active", + "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9", + "encryption": { + "status": "EnableInProgress", + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/", + "previousStatus": "Active", + "previousKeyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test4k/" + } + } + ], + "continuationUri": "https://api.fabric.microsoft.com/v1/admin/workspaces?continuationToken='LDEsMTAwMDAwLDA%3D'", + "continuationToken": "LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryptionAndCapacity.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryptionAndCapacity.json new file mode 100644 index 0000000000..50aad8918f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithEncryptionAndCapacity.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "include": "encryption", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "encryptionStatus": "Active" + }, + "responses": { + "200": { + "body": { + "workspaces": [ + { + "id": "90119767-07b4-4657-82ee-53e90fece225", + "name": "Contoso Workspace 3", + "type": "Workspace", + "state": "Active", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9", + "encryption": { + "status": "Active", + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/" + } + } + ], + "continuationUri": "https://api.fabric.microsoft.com/v1/admin/workspaces?continuationToken='LDEsMTAwMDAwLDA%3D'", + "continuationToken": "LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithoutEncryptionAndCapacity.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithoutEncryptionAndCapacity.json new file mode 100644 index 0000000000..294d990155 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspacesWithoutEncryptionAndCapacity.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "encryptionStatus": "Active" + }, + "responses": { + "200": { + "body": { + "workspaces": [ + { + "id": "abf49964-6f70-4aea-a66c-4b78a22e3ddc", + "name": "Contoso Workspace 1", + "type": "Workspace", + "state": "Active", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9" + }, + { + "id": "90119767-07b4-4657-82ee-53e90fece225", + "name": "Contoso Workspace 3", + "type": "Workspace", + "state": "Active", + "capacityId": "61d6811f-7544-4e75-a1e6-1c59c0383312", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9" + } + ], + "continuationUri": "https://api.fabric.microsoft.com/v1/admin/workspaces?continuationToken='LDEsMTAwMDAwLDA%3D'", + "continuationToken": "LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json index 298c262e01..3d3a1d2b3b 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json @@ -504,7 +504,7 @@ "/workspaces": { "get": { "summary": "Returns a list of workspaces.", - "description": "> [!NOTE]\n> This API is part of a Preview 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). A maximum of 10,000 records can be returned per request. With the continuous token provided in the response, you can get the next 10,000 records.\n\n## Permissions\n\nThe caller must be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 200 requests per hour.\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", + "description": "> [!NOTE]\n> This API is part of a Preview 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). A maximum of 10,000 records can be returned per request. With the continuation token provided in the response, you can get the next 10,000 records.\n\n## Permissions\n\nThe caller must be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 200 requests per hour.\n\nThe `encryptionStatus` filter is applied only when the `include` parameter contains `encryption`.\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": [ "Workspaces" ], @@ -552,6 +552,20 @@ "description": "Continuation token. Used to get the next items in the list.", "type": "string", "required": false + }, + { + "in": "query", + "name": "encryptionStatus", + "description": "Indicates the CMK encryption status of the workspace and is used to filter workspaces that match the specified status.", + "type": "string", + "required": false + }, + { + "in": "query", + "name": "include", + "description": "Specifies additional data to include for each workspace in the response. Supported values: `encryption`.", + "type": "string", + "required": false } ], "responses": { @@ -587,6 +601,15 @@ }, "Get a list of workspaces using state query parameter example": { "$ref": "./examples/ListWorkspacesByState.json" + }, + "List workspaces with encryption details": { + "$ref": "./examples/ListWorkspacesWithEncryption.json" + }, + "List workspaces with active encryption status in a given capacity": { + "$ref": "./examples/ListWorkspacesWithEncryptionAndCapacity.json" + }, + "List workspaces for a given capacity, ignoring the encryptionStatus filter.": { + "$ref": "./examples/ListWorkspacesWithoutEncryptionAndCapacity.json" } } } @@ -1256,7 +1279,7 @@ { "in": "query", "name": "nonEmptyOnly", - "description": "When true, only return domains that have at least one workspace containing an item. Default: false.", + "description": "When true, only return domains with workspaces assigned that contain one or more items the user has at least read access to. Default: false.", "type": "boolean", "required": false }, @@ -1381,7 +1404,7 @@ { "in": "query", "name": "nonEmptyOnly", - "description": "When true, only return domains that have at least one workspace containing an item. Default: false.", + "description": "When true, only return domains with workspaces assigned that contain one or more items the user has at least read access to. Default: false.", "type": "boolean", "required": false }, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/definitions.json index c81213ba2d..ac7a22945d 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/definitions.json @@ -50,7 +50,7 @@ "readOnly": false }, "folderId": { - "description": "The folder ID. If not specified or null, the Apache Airflow is created with the workspace as its folder.", + "description": "The folder ID. If not specified or null, the Apache Airflow job is created with the workspace as its folder.", "type": "string", "format": "uuid", "readOnly": false @@ -575,6 +575,20 @@ } } }, + "AirflowEnvironmentComputeRequest": { + "description": "The request payload for updating Apache Airflow environment compute configuration.", + "type": "object", + "required": [ + "poolTemplateId" + ], + "properties": { + "poolTemplateId": { + "description": "The pool template ID.", + "type": "string", + "format": "uuid" + } + } + }, "AirflowComputeResponse": { "description": "Apache Airflow compute configuration response.", "type": "object", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/CreateApacheAirflowJobWithDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/CreateApacheAirflowJobWithDefinition.json new file mode 100644 index 0000000000..8d863834bb --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/CreateApacheAirflowJobWithDefinition.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createApacheAirflowJobRequest": { + "displayName": "ApacheAirflowJob1", + "description": "An Apache Airflow job description.", + "definition": { + "parts": [ + { + "path": "ApacheAirflowJobV1.json", + "payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgInR5cGUiOiAiQXBhY2hlQWlyZmxvd0pvYiIsCiAgICAidHlwZVByb3BlcnRpZXMiOiB7CiAgICAgICJhaXJmbG93UHJvcGVydGllcyI6IHsKICAgICAgICAiYWlyZmxvd1ZlcnNpb24iOiAiMi42LjMiLAogICAgICAgICJweXRob25WZXJzaW9uIjogIjMuOCIsCiAgICAgICAgImVudmlyb25tZW50VmFyaWFibGVzIjoge30sCiAgICAgICAgImFpcmZsb3dDb25maWd1cmF0aW9uT3ZlcnJpZGVzIjoge30sCiAgICAgICAgImFpcmZsb3dSZXF1aXJlbWVudHMiOiBbCiAgICAgICAgICAiZmxhc2stYmNyeXB0PT0wLjcuMSIKICAgICAgICBdLAogICAgICAgICJwYWNrYWdlUHJvdmlkZXJQYXRoIjogInBsdWdpbnMiLAogICAgICAgICJlbmFibGVBQURJbnRlZ3JhdGlvbiI6IHRydWUsCiAgICAgICAgImVuYWJsZVRyaWdnZXJlcnMiOiBmYWxzZSwKICAgICAgICAic2VjcmV0cyI6IFtdCiAgICAgIH0sCiAgICAgICJjb21wdXRlUHJvcGVydGllcyI6IHsKICAgICAgICAiY29tcHV0ZVBvb2wiOiAiU3RhcnRlclBvb2wiLAogICAgICAgICJsb2NhdGlvbiI6ICJDZW50cmFsIFVTIiwKICAgICAgICAiY29tcHV0ZVNpemUiOiAiU21hbGwiLAogICAgICAgICJleHRyYU5vZGVzIjogMCwKICAgICAgICAiZW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXMiOiBmYWxzZSwKICAgICAgICAiZW5hYmxlQXV0b3NjYWxlIjogZmFsc2UKICAgICAgfQogICAgfQogIH0KfQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "ApacheAirflowJob1", + "description": "An Apache Airflow job description.", + "type": "ApacheAirflowJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "sensitivityLabel": { + "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/UpdateApacheAirflowJobCompute.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/UpdateApacheAirflowJobCompute.json new file mode 100644 index 0000000000..4543db10ed --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/examples/UpdateApacheAirflowJobCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "apacheAirflowJobId": "5b218778-e7a5-4d73-8187-f10824047715", + "beta": true, + "airflowEnvironmentComputeRequest": { + "poolTemplateId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/12345678-1234-1234-1234-123456789012", + "x-ms-operation-id": "12345678-1234-1234-1234-123456789012", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/swagger.json index c678215f5d..be786e43a1 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/apacheAirflowJob/swagger.json @@ -13,7 +13,7 @@ "/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\n The 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", + "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" ], @@ -91,7 +91,7 @@ }, "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\n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Item.ReadWrite.All \n\n## Limitations \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", + "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" ], @@ -168,8 +168,11 @@ } }, "x-ms-examples": { + "Create an Apache Airflow job example": { + "$ref": "./examples/CreateApacheAirflowJobWithoutDefinition.json" + }, "Create an Apache Airflow job with public definition example": { - "$ref": "./examples/CreateApacheAirflowJob.json" + "$ref": "./examples/CreateApacheAirflowJobWithDefinition.json" } } } @@ -177,7 +180,7 @@ "/workspaces/{workspaceId}/apacheAirflowJobs/{apacheAirflowJobId}": { "get": { "summary": "Returns properties of the specified Apache Airflow job.", - "description": "## Permissions\n\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -238,7 +241,7 @@ }, "patch": { "summary": "Updates the properties of the specified Apache Airflow job.", - "description": "## Permissions\n\n The caller must have *read and write* permissions for the apache airflow job.\n\n## Required Delegated Scopes\n\n 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", + "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" ], @@ -311,7 +314,7 @@ }, "delete": { "summary": "Deletes the specified Apache Airflow job.", - "description": "## Permissions\n\n The caller must have *write* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n 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", + "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" ], @@ -381,7 +384,7 @@ "/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\n The caller must have *read and write* permissions for the apache airflow job. \n\n## Required Delegated Scopes\n\n 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", + "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## 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" ], @@ -410,7 +413,7 @@ { "in": "query", "name": "format", - "description": "The format of the public definition.", + "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 } @@ -470,7 +473,7 @@ "/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\n \nUpdating the Apache Airflow job's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the apache airflow job. \n## Required Delegated Scopes\n\n 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", + "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" ], @@ -565,7 +568,7 @@ "/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\n The caller must have *execute* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.Execute.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", + "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" ], @@ -652,7 +655,7 @@ "/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\n The caller must have *execute* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.Execute.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", + "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" ], @@ -739,7 +742,7 @@ "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -810,7 +813,7 @@ "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -891,7 +894,7 @@ "/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\n The caller must have *write* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n 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**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", + "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" ], @@ -1000,7 +1003,7 @@ "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -1071,7 +1074,7 @@ "/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\n The caller must have *write* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n 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**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", + "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" ], @@ -1170,7 +1173,7 @@ "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -1238,10 +1241,109 @@ } } }, + "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes \n\n Item.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", + "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" ], @@ -1329,7 +1431,7 @@ "/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\n The caller must have *read* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -1406,7 +1508,7 @@ }, "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\n The caller must have *write* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n 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- 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", + "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" ], @@ -1495,7 +1597,7 @@ }, "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\n The caller must have *write* permissions for the Apache Airflow job. \n\n## Required Delegated Scopes\n\n Item.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", + "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" ], @@ -1573,7 +1675,7 @@ "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", + "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" @@ -1634,7 +1736,7 @@ "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", + "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" @@ -1709,7 +1811,7 @@ "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", + "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", @@ -1781,7 +1883,7 @@ "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", + "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" @@ -1862,7 +1964,7 @@ "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", + "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" @@ -1931,7 +2033,7 @@ "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", + "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" diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/definitions.json new file mode 100644 index 0000000000..69a264ce98 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/definitions.json @@ -0,0 +1,81 @@ +{ + "swagger": "2.0", + "info": { + "title": "AppBackend data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "AppBackend": { + "description": "An AppBackend object.", + "type": "object", + "required": ["type"], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ] + }, + "AppBackends": { + "description": "A list of AppBackends.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of AppBackends.", + "type": "array", + "items": { + "$ref": "#/definitions/AppBackend" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateAppBackendRequest": { + "description": "Create an AppBackend request payload.", + "required": ["displayName"], + "properties": { + "displayName": { + "description": "The AppBackend display name. The name can't exceed 91 characters, can't use special characters (< > * % & : \\ / ? # ! [ ] = @ ^ \" ' ; ( ) `), can't end with a period or space, and can't be a reserved name (master, msdb, model, tempdb, resource).", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AppBackend description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the AppBackend is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "sensitivityLabelSettings": { + "description": "The sensitivity label settings for the AppBackend.", + "$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings", + "readOnly": false + } + } + }, + "UpdateAppBackendRequest": { + "description": "The update AppBackend request payload.", + "properties": { + "displayName": { + "description": "The AppBackend display name. The name can't exceed 91 characters, can't use special characters (< > * % & : \\ / ? # ! [ ] = @ ^ \" ' ; ( ) `), can't end with a period or space, and can't be a reserved name (master, msdb, model, tempdb, resource).", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AppBackend description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/CreateAppBackendWithoutDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/CreateAppBackendWithoutDefinition.json new file mode 100644 index 0000000000..c462162fbe --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/CreateAppBackendWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createAppBackendRequest": { + "displayName": "AppBackend 1", + "description": "An AppBackend description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "AppBackend 1", + "description": "An AppBackend description.", + "type": "AppBackend", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/DeleteAppBackend.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/DeleteAppBackend.json new file mode 100644 index 0000000000..2f8e24b8e8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/DeleteAppBackend.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "appBackendId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/GetAppBackend.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/GetAppBackend.json new file mode 100644 index 0000000000..b1a6ad6092 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/GetAppBackend.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "appBackendId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "AppBackend 1", + "description": "An AppBackend description.", + "type": "AppBackend", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/ListAppBackendsInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/ListAppBackendsInWorkspace.json new file mode 100644 index 0000000000..fb8c18ef53 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/ListAppBackendsInWorkspace.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "AppBackend Name 1", + "description": "An AppBackend description.", + "type": "AppBackend", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "AppBackend Name 2", + "description": "An AppBackend description.", + "type": "AppBackend", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/UpdateAppBackend.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/UpdateAppBackend.json new file mode 100644 index 0000000000..78c9cbc994 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/examples/UpdateAppBackend.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "appBackendId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateAppBackendRequest": { + "displayName": "AppBackend's New name", + "description": "AppBackend's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "AppBackend's New name", + "description": "AppBackend's New description", + "type": "AppBackend", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/swagger.json new file mode 100644 index 0000000000..5743fe2088 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/appBackend/swagger.json @@ -0,0 +1,375 @@ +{ + "swagger": "2.0", + "info": { + "title": "AppBackend REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/appBackends": { + "get": { + "summary": "List AppBackends in the specified workspace.", + "description": "> [!NOTE]\n> The AppBackend item is currently in preview ([learn more](/fabric/fundamentals/preview)).\n\nLists AppBackends in the specified workspace.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have a *viewer* workspace role. \n\n## Required Delegated Scopes\n\n Workspace.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_ListAppBackends", + "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": "Indicates whether to list items recursively. If `true`, lists items in the folder and all nested folders. If `false`, lists only the items directly within the folder. Default 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/AppBackends" + } + }, + "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 AppBackends in workspace example": { + "$ref": "./examples/ListAppBackendsInWorkspace.json" + } + } + }, + "post": { + "summary": "Create an AppBackend in the specified workspace.", + "description": "> [!NOTE]\n> The AppBackend item is currently in preview ([learn more](/fabric/fundamentals/preview)).\n\nCreates an AppBackend in the specified workspace.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Item.ReadWrite.All\n\n## Limitations\n- To create an AppBackend, 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_CreateAppBackend", + "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": "createAppBackendRequest", + "description": "Create AppBackend request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateAppBackendRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/AppBackend" + } + }, + "202": { + "description": "Request accepted, AppBackend 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.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an AppBackend example": { + "$ref": "./examples/CreateAppBackendWithoutDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/appBackends/{appBackendId}": { + "get": { + "summary": "Get the specified AppBackend.", + "description": "> [!NOTE]\n> The AppBackend item is currently in preview ([learn more](/fabric/fundamentals/preview)).\n\nReturns properties of the specified AppBackend.\n\n## Permissions\n\n The caller must have *read* permissions for the AppBackend. \n\n## Required Delegated Scopes\n\n Item.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_GetAppBackend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "appBackendId", + "description": "The AppBackend ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AppBackend" + } + }, + "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 AppBackend example": { + "$ref": "./examples/GetAppBackend.json" + } + } + }, + "patch": { + "summary": "Update the specified AppBackend.", + "description": "> [!NOTE]\n> The AppBackend item is currently in preview ([learn more](/fabric/fundamentals/preview)).\n\nUpdates the properties of the specified AppBackend.\n\n## Permissions\n\n The caller must have *read and write* permissions for the AppBackend.\n\n## Required Delegated Scopes\n\n 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_UpdateAppBackend", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "appBackendId", + "description": "The AppBackend ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateAppBackendRequest", + "description": "Update AppBackend request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateAppBackendRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AppBackend" + } + }, + "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 AppBackend example": { + "$ref": "./examples/UpdateAppBackend.json" + } + } + }, + "delete": { + "summary": "Delete the specified AppBackend.", + "description": "> [!NOTE]\n> The AppBackend item is currently in preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the AppBackend. \n\n## Required Delegated Scopes\n\n 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_DeleteAppBackend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "appBackendId", + "description": "The AppBackend ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete an AppBackend example": { + "$ref": "./examples/DeleteAppBackend.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/definitions.json new file mode 100644 index 0000000000..f01076407f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/definitions.json @@ -0,0 +1,173 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureDatabricksStorage data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "AzureDatabricksStorage": { + "description": "An Azure Databricks storage object.", + "type": "object", + "required": [ + "type" + ], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ] + }, + "AzureDatabricksStorages": { + "description": "A list of AzureDatabricksStorage items.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of AzureDatabricksStorage items.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureDatabricksStorage" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateAzureDatabricksStorageRequest": { + "description": "The request payload for creating an AzureDatabricksStorage.", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The AzureDatabricksStorage display name. The display name must follow naming rules according to the item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AzureDatabricksStorage description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the AzureDatabricksStorage is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The AzureDatabricksStorage public definition.", + "$ref": "#/definitions/AzureDatabricksStorageDefinition", + "readOnly": false + }, + "sensitivityLabelSettings": { + "description": "The sensitivity label settings for the AzureDatabricksStorage.", + "$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings", + "readOnly": false + } + } + }, + "UpdateAzureDatabricksStorageDefinitionRequest": { + "description": "The request payload for updating an AzureDatabricksStorage's public definition.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "description": "The AzureDatabricksStorage public definition.", + "$ref": "#/definitions/AzureDatabricksStorageDefinition" + } + } + }, + "AzureDatabricksStorageDefinitionResponse": { + "description": "The response containing an AzureDatabricksStorage's public definition.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "description": "The AzureDatabricksStorage public definition.", + "$ref": "#/definitions/AzureDatabricksStorageDefinition", + "readOnly": true + } + } + }, + "AzureDatabricksStorageDefinition": { + "description": "AzureDatabricksStorage public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/azure-databricks-storage-definition) for more details on the structure of the AzureDatabricksStorage definition.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the AzureDatabricksStorage definition. Additional AzureDatabricksStorageFormat types may be added over time.", + "type": "string", + "enum": [ + "AzureDatabricksStorageV1" + ], + "x-ms-enum": { + "name": "AzureDatabricksStorageDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "AzureDatabricksStorageV1", + "description": "Custom format for the AzureDatabricksStorage definition." + } + ] + }, + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureDatabricksStorageDefinitionPart" + }, + "readOnly": false + } + } + }, + "AzureDatabricksStorageDefinitionPart": { + "description": "An AzureDatabricksStorage definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The AzureDatabricksStorage public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The AzureDatabricksStorage public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateAzureDatabricksStorageRequest": { + "description": "The request payload for updating an AzureDatabricksStorage.", + "properties": { + "displayName": { + "description": "The AzureDatabricksStorage display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AzureDatabricksStorage description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorage.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorage.json new file mode 100644 index 0000000000..f4daceace0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorage.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createAzureDatabricksStorageRequest": { + "displayName": "AzureDatabricksStorage 1", + "description": "An AzureDatabricksStorage description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "AzureDatabricksStorage 1", + "description": "An AzureDatabricksStorage description.", + "type": "AzureDatabricksStorage", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorageWithDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorageWithDefinition.json new file mode 100644 index 0000000000..430fd70d77 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/CreateAzureDatabricksStorageWithDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createAzureDatabricksStorageRequest": { + "displayName": "AzureDatabricksStorage 1", + "description": "An AzureDatabricksStorage description.", + "definition": { + "parts": [ + { + "path": "definition.json", + "payload": "e30=", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2UiLAogICAgImRpc3BsYXlOYW1lIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2VfMzQ3cG1fMTNNYXkiLAogICAgImRlc2NyaXB0aW9uIjogIkF1cm9yYSBDYXJ0IFN0b3JhZ2UgY3JlYXRlZCB2aWEgRmFicmljIHB1YmxpYyBBUEkuIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "AzureDatabricksStorage 1", + "description": "An AzureDatabricksStorage description.", + "type": "AzureDatabricksStorage", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/DeleteAzureDatabricksStorage.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/DeleteAzureDatabricksStorage.json new file mode 100644 index 0000000000..cf748238d1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/DeleteAzureDatabricksStorage.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "azureDatabricksStorageId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorage.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorage.json new file mode 100644 index 0000000000..b3907e55a3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorage.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "azureDatabricksStorageId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "displayName": "AzureDatabricksStorage 1", + "description": "An AzureDatabricksStorage description.", + "type": "AzureDatabricksStorage", + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorageDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorageDefinition.json new file mode 100644 index 0000000000..82e4fac3f9 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/GetAzureDatabricksStorageDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "azureDatabricksStorageId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "definition.json", + "payload": "e30=", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2UiLAogICAgImRpc3BsYXlOYW1lIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2VfMzQ3cG1fMTNNYXkiLAogICAgImRlc2NyaXB0aW9uIjogIkF1cm9yYSBDYXJ0IFN0b3JhZ2UgY3JlYXRlZCB2aWEgRmFicmljIHB1YmxpYyBBUEkuIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/HardDeleteAzureDatabricksStorage.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/HardDeleteAzureDatabricksStorage.json new file mode 100644 index 0000000000..46a83697a5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/HardDeleteAzureDatabricksStorage.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "azureDatabricksStorageId": "5b218778-e7a5-4d73-8187-f10824047715", + "hardDelete": true + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/ListAzureDatabricksStoragesInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/ListAzureDatabricksStoragesInWorkspace.json new file mode 100644 index 0000000000..22374b9eda --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/ListAzureDatabricksStoragesInWorkspace.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "AzureDatabricksStorage Name 1", + "description": "An AzureDatabricksStorage description.", + "type": "AzureDatabricksStorage", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "AzureDatabricksStorage Name 2", + "description": "An AzureDatabricksStorage description.", + "type": "AzureDatabricksStorage", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorage.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorage.json new file mode 100644 index 0000000000..458cb037be --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorage.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "azureDatabricksStorageId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateAzureDatabricksStorageRequest": { + "displayName": "AzureDatabricksStorage's New name", + "description": "AzureDatabricksStorage's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "AzureDatabricksStorage's New name", + "description": "AzureDatabricksStorage's New description", + "type": "AzureDatabricksStorage", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorageDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorageDefinition.json new file mode 100644 index 0000000000..894e58b60b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/examples/UpdateAzureDatabricksStorageDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "azureDatabricksStorageId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata": true, + "updateAzureDatabricksStorageDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "definition.json", + "payload": "e30=", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2UiLAogICAgImRpc3BsYXlOYW1lIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2VfMzQ3cG1fMTNNYXkiLAogICAgImRlc2NyaXB0aW9uIjogIkF1cm9yYSBDYXJ0IFN0b3JhZ2UgY3JlYXRlZCB2aWEgRmFicmljIHB1YmxpYyBBUEkuIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "x-ms-operation-id": "427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/swagger.json new file mode 100644 index 0000000000..cb414e1504 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/azureDatabricksStorage/swagger.json @@ -0,0 +1,585 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureDatabricksStorage REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/azureDatabricksStorages": { + "get": { + "summary": "Returns a list of Azure Databricks storage items from the specified workspace.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis 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_ListAzureDatabricksStorages", + "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 the specified folder, optionally including items in nested folders. When `true`, items in the folder and all nested folders are listed. When `false`, only items directly 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/AzureDatabricksStorages" + } + }, + "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 Azure Databricks storages in workspace example": { + "$ref": "./examples/ListAzureDatabricksStoragesInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates an AzureDatabricksStorage in the specified workspace.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo create an AzureDatabricksStorage with a public definition, refer to the [AzureDatabricksStorage definition](/rest/api/fabric/articles/item-management/definitions/azure-databricks-storage-definition) article.\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- To create an AzureDatabricksStorage, 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_CreateAzureDatabricksStorage", + "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": "createAzureDatabricksStorageRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateAzureDatabricksStorageRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/AzureDatabricksStorage" + } + }, + "202": { + "description": "Request accepted. AzureDatabricksStorage provisioning 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* InvalidItemType - Item type is invalid.\n\n* ItemDisplayNameAlreadyInUse - Item display name is already used.\n\n* CorruptedPayload - The provided payload is corrupted.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an AzureDatabricksStorage example": { + "$ref": "./examples/CreateAzureDatabricksStorage.json" + }, + "Create an AzureDatabricksStorage with public definition example": { + "$ref": "./examples/CreateAzureDatabricksStorageWithDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/azureDatabricksStorages/{azureDatabricksStorageId}": { + "get": { + "summary": "Returns the properties of the specified AzureDatabricksStorage.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the AzureDatabricksStorage. \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_GetAzureDatabricksStorage", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "azureDatabricksStorageId", + "description": "The AzureDatabricksStorage ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AzureDatabricksStorage" + } + }, + "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 AzureDatabricksStorage example": { + "$ref": "./examples/GetAzureDatabricksStorage.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified AzureDatabricksStorage.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the AzureDatabricksStorage.\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_UpdateAzureDatabricksStorage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "azureDatabricksStorageId", + "description": "The AzureDatabricksStorage ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateAzureDatabricksStorageRequest", + "description": "Update AzureDatabricksStorage request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateAzureDatabricksStorageRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AzureDatabricksStorage" + } + }, + "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 AzureDatabricksStorage example": { + "$ref": "./examples/UpdateAzureDatabricksStorage.json" + } + } + }, + "delete": { + "summary": "Deletes the specified AzureDatabricksStorage.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *write* permissions for the AzureDatabricksStorage. \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_DeleteAzureDatabricksStorage", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "azureDatabricksStorageId", + "description": "The AzureDatabricksStorage 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 AzureDatabricksStorage example": { + "$ref": "./examples/DeleteAzureDatabricksStorage.json" + }, + "Hard delete an AzureDatabricksStorage example": { + "$ref": "./examples/HardDeleteAzureDatabricksStorage.json" + } + } + } + }, + "/workspaces/{workspaceId}/azureDatabricksStorages/{azureDatabricksStorageId}/getDefinition": { + "post": { + "summary": "Returns the specified AzureDatabricksStorage public definition.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get an AzureDatabricksStorage'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 AzureDatabricksStorage. \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_GetAzureDatabricksStorageDefinition", + "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": "azureDatabricksStorageId", + "description": "The AzureDatabricksStorage ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the AzureDatabricksStorage public definition. Additional formats may be added over time.", + "type": "string", + "enum": [ + "AzureDatabricksStorageV1" + ], + "x-ms-enum": { + "name": "AzureDatabricksStorageDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "AzureDatabricksStorageV1", + "description": "AzureDatabricksStorage version 1 definition format." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AzureDatabricksStorageDefinitionResponse" + } + }, + "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 AzureDatabricksStorage public definition example": { + "$ref": "./examples/GetAzureDatabricksStorageDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/azureDatabricksStorages/{azureDatabricksStorageId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified AzureDatabricksStorage.", + "description": "> [!NOTE]\n> AzureDatabricksStorage item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUpdating the AzureDatabricksStorage's definition does not affect its sensitivity label.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the AzureDatabricksStorage.\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_UpdateAzureDatabricksStorageDefinition", + "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": "azureDatabricksStorageId", + "description": "The AzureDatabricksStorage 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": "updateAzureDatabricksStorageDefinitionRequest", + "description": "Update AzureDatabricksStorage definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateAzureDatabricksStorageDefinitionRequest" + }, + "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 AzureDatabricksStorage public definition example": { + "$ref": "./examples/UpdateAzureDatabricksStorageDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/definitions.json index d3e4a8fc38..712249b215 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/definitions.json @@ -263,7 +263,7 @@ "ItemType": { "description": "The type of the item. Additional item types may be added over time.", "type": "string", - "enum": [ "Dashboard", "Report", "SemanticModel", "PaginatedReport", "Datamart", "Lakehouse", "Eventhouse", "Environment", "KQLDatabase", "KQLQueryset", "KQLDashboard", "DataPipeline", "Notebook", "SparkJobDefinition", "MLExperiment", "MLModel", "Warehouse", "Eventstream", "SQLEndpoint", "MirroredWarehouse", "MirroredDatabase", "Reflex", "GraphQLApi", "MountedDataFactory", "SQLDatabase", "CopyJob", "VariableLibrary", "Dataflow", "ApacheAirflowJob", "WarehouseSnapshot", "DigitalTwinBuilder", "DigitalTwinBuilderFlow", "MirroredAzureDatabricksCatalog", "Map", "AnomalyDetector", "UserDataFunction", "GraphModel", "GraphQuerySet", "SnowflakeDatabase", "OperationsAgent", "CosmosDBDatabase", "Ontology", "EventSchemaSet", "DataAgent", "MirroredCatalog" ], + "enum": [ "Dashboard", "Report", "SemanticModel", "PaginatedReport", "Datamart", "Lakehouse", "Eventhouse", "Environment", "KQLDatabase", "KQLQueryset", "KQLDashboard", "DataPipeline", "Notebook", "SparkJobDefinition", "MLExperiment", "MLModel", "Warehouse", "Eventstream", "SQLEndpoint", "MirroredWarehouse", "MirroredDatabase", "Reflex", "GraphQLApi", "MountedDataFactory", "SQLDatabase", "CopyJob", "VariableLibrary", "Dataflow", "ApacheAirflowJob", "WarehouseSnapshot", "DigitalTwinBuilder", "DigitalTwinBuilderFlow", "MirroredAzureDatabricksCatalog", "Map", "AnomalyDetector", "UserDataFunction", "GraphModel", "GraphQuerySet", "SnowflakeDatabase", "OperationsAgent", "CosmosDBDatabase", "Ontology", "EventSchemaSet", "DataAgent", "MirroredCatalog", "AppBackend", "OrgApp", "OrgAppAudience", "DataBuildToolJob", "AzureDatabricksStorage" ], "x-ms-enum": { "name": "ItemType", "modelAsString": true, @@ -376,17 +376,17 @@ "value": "CopyJob", "description": "A Copy job." }, - { - "value": "VariableLibrary", - "description": "A VariableLibrary." + { + "value": "VariableLibrary", + "description": "A VariableLibrary." }, { "value": "MirroredAzureDatabricksCatalog", "description": "A mirrored azure databricks catalog." }, { - "value": "Dataflow", - "description": "A Dataflow." + "value": "Dataflow", + "description": "A Dataflow." }, { "value": "WarehouseSnapshot", @@ -397,56 +397,76 @@ "description": "A DigitalTwinBuilder." }, { - "value": "DigitalTwinBuilderFlow", - "description": "A Digital Twin Builder Flow." + "value": "DigitalTwinBuilderFlow", + "description": "A Digital Twin Builder Flow." }, { - "value": "AnomalyDetector", - "description": "An Anomaly Detector." + "value": "AnomalyDetector", + "description": "An Anomaly Detector." }, { - "value": "Map", - "description": "A Map." + "value": "Map", + "description": "A Map." }, { "value": "Ontology", "description": "An Ontology." }, { - "value": "UserDataFunction", - "description": "A User Data Function." + "value": "UserDataFunction", + "description": "A User Data Function." }, { - "value": "GraphModel", - "description": "A GraphModel." + "value": "GraphModel", + "description": "A GraphModel." }, { - "value": "GraphQuerySet", - "description": "A Graph QuerySet." + "value": "GraphQuerySet", + "description": "A Graph QuerySet." }, { "value": "SnowflakeDatabase", "description": "A Snowflake Database to store Iceberg tables created from Snowflake account." }, { - "value": "OperationsAgent", - "description": "A OperationsAgent." + "value": "OperationsAgent", + "description": "A OperationsAgent." + }, + { + "value": "CosmosDBDatabase", + "description": "A Cosmos DB Database." + }, + { + "value": "EventSchemaSet", + "description": "An EventSchemaSet." + }, + { + "value": "DataAgent", + "description": "A DataAgent." + }, + { + "value": "MirroredCatalog", + "description": "A MirroredCatalog." }, { - "value": "CosmosDBDatabase", - "description": "A Cosmos DB Database." + "value": "AppBackend", + "description": "An AppBackend." }, { - "value": "EventSchemaSet", - "description": "An EventSchemaSet." + "value": "OrgApp", + "description": "An Org App." }, { - "value": "DataAgent", - "description": "A DataAgent." + "value": "OrgAppAudience", + "description": "An Org App Audience." }, { - "value": "MirroredCatalog", - "description": "A MirroredCatalog." + "value": "DataBuildToolJob", + "description": "A DataBuildToolJob." + }, + { + "value": "AzureDatabricksStorage", + "description": "A OneLake-backed storage item for Azure Databricks." } ] }, @@ -1218,3 +1238,4 @@ } } } + diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/job_scheduling.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/job_scheduling.json index 23c4ec3fd2..e5b8beccfc 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/job_scheduling.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/common/job_scheduling.json @@ -408,6 +408,82 @@ "$ref": "./definitions.json#/definitions/Principal" } } + }, + "ItemJobParameterType": { + "description": "A string that represents the parameter's type. Additional types may be added over time.", + "type": "string", + "enum": [ + "VariableReference", + "Integer", + "Number", + "Text", + "Boolean", + "DateTime", + "Guid", + "Automatic" + ], + "x-ms-enum": { + "name": "ItemJobParameterType", + "modelAsString": true, + "values": [ + { + "value": "VariableReference", + "description": "The type of parameter is a variable reference." + }, + { + "value": "Integer", + "description": "The type of parameter is an integer." + }, + { + "value": "Number", + "description": "The type of parameter is a number, it accepts both integer and float values." + }, + { + "value": "Text", + "description": "The type of parameter is a text." + }, + { + "value": "Boolean", + "description": "The type of parameter is a boolean." + }, + { + "value": "DateTime", + "description": "The type of parameter is a datetime in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + { + "value": "Guid", + "description": "The parameter type is a string representation of a GUID, using 00000000-0000-0000-0000-000000000000 format. See https://learn.microsoft.com/dotnet/api/system.guid.tostring for formatting details, and please use the default format: \"D\"." + }, + { + "value": "Automatic", + "description": "The parameter type is automatically determined. Note: this type may not be supported for all item job types." + } + ] + } + }, + "Parameter": { + "description": "An item job parameter.", + "type": "object", + "required": [ + "name", + "type", + "value" + ], + "properties": { + "name": { + "description": "The parameter name, specified by the caller, must be unique (case-insensitive check) and no longer than 256 characters.", + "type": "string" + }, + "type": { + "description": "The parameter type.", + "type": "string", + "$ref": "#/definitions/ItemJobParameterType" + }, + "value": { + "description": "The parameter value based on the parameter type.", + "type": "object" + } + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/definitions.json index 3533bbf45e..4dc97eb8b0 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/definitions.json @@ -141,6 +141,33 @@ "readOnly": false } } + }, + "CopyJobEntityResetPayload": { + "description": "A list of CopyJobEntities to reset.", + "type": "object", + "properties": { + "resetAllCopyJobEntities": { + "description": "Whether to reset all CopyJob entities.", + "type": "boolean" + }, + "copyJobEntitiesToReset": { + "description": "A list of CopyJob entities to reset.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyJobEntityReset" + } + } + } + }, + "CopyJobEntityReset": { + "description": "The Id of a CopyJobEntity to reset.", + "type": "object", + "properties": { + "copyJobEntityId": { + "type": "string", + "format": "uuid" + } + } } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_AllCopyJobEntities.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_AllCopyJobEntities.json new file mode 100644 index 0000000000..e6ac21058d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_AllCopyJobEntities.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "copyJobId": "5b218778-e7a5-4d73-8187-f10824047715", + "resetCopyJobRequest": { + "resetAllCopyJobEntities": true + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_SelectedCopyJobEntities.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_SelectedCopyJobEntities.json new file mode 100644 index 0000000000..b83967b063 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/examples/ResetCopyJob_SelectedCopyJobEntities.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "copyJobId": "5b218778-e7a5-4d73-8187-f10824047715", + "resetCopyJobRequest": { + "resetAllCopyJobEntities": false, + "copyJobEntitiesToReset": [ + { + "copyJobEntityId": "b1b04262-1a57-412b-8b92-117832e4dad0" + }, + { + "copyJobEntityId": "7351d4be-fc32-4799-a6a4-f2b9572e1674" + } + ] + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/swagger.json index e69361098c..dfc2593efd 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/copyJob/swagger.json @@ -564,6 +564,81 @@ } } } + }, + "/workspaces/{workspaceId}/copyJobs/{copyJobId}/resetCopyJob": { + "post": { + "summary": "Resets the specified CopyJob.", + "description": "Resets the specified CopyJob. If `resetAllCopyJobEntities` is true, all entities are reset. Otherwise, only the specified entities are reset.\n\n## Permissions\n\n The caller must have *contributor* workspace role. \n\n## Required Delegated Scopes\n\n CopyJob.ReadWrite.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_ResetCopyJob", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "copyJobId", + "description": "The CopyJob ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "resetCopyJobRequest", + "description": "The CopyJobReset payload.", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CopyJobEntityResetPayload" + } + } + ], + "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* 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": { + "Reset all entities example": { + "$ref": "./examples/ResetCopyJob_AllCopyJobEntities.json" + }, + "Reset selected copyJobEntities example": { + "$ref": "./examples/ResetCopyJob_SelectedCopyJobEntities.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/definitions.json index 09ddd20f24..ef7be93997 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/definitions.json @@ -14,7 +14,13 @@ { "$ref": "../common/definitions.json#/definitions/Item" } - ] + ], + "properties": { + "properties": { + "description": "The CosmosDBDatabase properties.", + "$ref": "#/definitions/CosmosDBDatabaseProperties" + } + } }, "CosmosDBDatabases": { "description": "A list of Cosmos DB databases.", @@ -34,6 +40,21 @@ "$ref": "../common/definitions.json#/definitions/PaginatedResponse" } ] + }, + "CosmosDBDatabaseProperties": { + "required": ["serverFqdn", "databaseName"], + "description": "The Cosmos DB database properties.", + "type": "object", + "properties": { + "serverFqdn": { + "description": "The Cosmos DB database server fully qualified domain name (FQDN).", + "type": "string" + }, + "databaseName": { + "description": "The name of the Cosmos DB database, automatically set from the display name during creation. This property is read-only and cannot be changed.", + "type": "string" + } + } }, "CreateCosmosDBDatabaseRequest": { "description": "Create Cosmos DB database request payload.", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/GetCosmosDBDatabase.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/GetCosmosDBDatabase.json index d971654905..67b6a1ee69 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/GetCosmosDBDatabase.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/GetCosmosDBDatabase.json @@ -11,6 +11,10 @@ "description": "A Cosmos DB Database description.", "type": "CosmosDBDatabase", "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "properties": { + "serverFqdn": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87.xyz.cosmos.fabric.microsoft.com", + "databaseName": "Cosmos DB Database 1" + }, "sensitivityLabel": { "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/ListCosmosDBDatabasesInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/ListCosmosDBDatabasesInWorkspace.json index 85c7a8a287..91628c0a7c 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/ListCosmosDBDatabasesInWorkspace.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/cosmosDbDatabase/examples/ListCosmosDBDatabasesInWorkspace.json @@ -12,6 +12,10 @@ "description": "A Cosmos DB Database description.", "type": "CosmosDBDatabase", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "serverFqdn": "3546052c-ae64-4526-b1a8-52af7761426f.xyz.cosmos.fabric.microsoft.com", + "databaseName": "Cosmos DB Database Name 1" + }, "sensitivityLabel": { "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" } @@ -22,6 +26,10 @@ "description": "A Cosmos DB Database description.", "type": "CosmosDBDatabase", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "serverFqdn": "3546052c-ae64-4526-b1a8-52af7761426f.xyz.cosmos.fabric.microsoft.com", + "databaseName": "Cosmos DB Database Name 2" + }, "sensitivityLabel": { "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" } @@ -30,4 +38,4 @@ } } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/definitions.json index 6343867518..b40d429e45 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/definitions.json @@ -9,12 +9,20 @@ "DataAgent": { "description": "A DataAgent object.", "type": "object", - "required": ["type"], + "required": [ + "type" + ], "allOf": [ { "$ref": "../common/definitions.json#/definitions/Item" } - ] + ], + "properties": { + "properties": { + "description": "The DataAgent properties.", + "$ref": "#/definitions/DataAgentProperties" + } + } }, "DataAgents": { "description": "A list of data agents.", @@ -35,9 +43,22 @@ } ] }, + "DataAgentProperties": { + "description": "The DataAgent properties.", + "type": "object", + "properties": { + "publishedDescription": { + "description": "The published description of the DataAgent. This description provides context when the agent appears in other experiences. It is set when the DataAgent is published and is not returned for an unpublished DataAgent.", + "type": "string", + "readOnly": true + } + } + }, "CreateDataAgentRequest": { "description": "Create DataAgent request payload.", - "required": ["displayName"], + "required": [ + "displayName" + ], "properties": { "displayName": { "description": "The DataAgent display name. The display name must follow naming rules according to item type.", @@ -69,7 +90,9 @@ }, "UpdateDataAgentDefinitionRequest": { "description": "Update DataAgent public definition request payload.", - "required": ["definition"], + "required": [ + "definition" + ], "properties": { "definition": { "$ref": "#/definitions/DataAgentPublicDefinition" @@ -78,7 +101,9 @@ }, "DataAgentDefinitionResponse": { "description": "DataAgent public definition response.", - "required": ["definition"], + "required": [ + "definition" + ], "properties": { "definition": { "$ref": "#/definitions/DataAgentPublicDefinition", @@ -86,10 +111,12 @@ } } }, - "DataAgentPublicDefinition" : { + "DataAgentPublicDefinition": { "description": "DataAgent public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/data-agent-definition) for more details on the structure of the DataAgent definition.", "type": "object", - "required": ["parts"], + "required": [ + "parts" + ], "properties": { "format": { "description": "The format of the data agent definition.", @@ -120,7 +147,7 @@ "type": "string", "readOnly": false }, - "payloadType":{ + "payloadType": { "description": "The payload type.", "$ref": "../common/definitions.json#/definitions/PayloadType", "readOnly": false @@ -141,6 +168,670 @@ "readOnly": false } } + }, + "DataAgentSettingsResponse": { + "description": "The DataAgent settings.", + "type": "object", + "properties": { + "aiInstructions": { + "description": "Custom AI system prompt for the DataAgent.", + "type": "string" + } + } + }, + "UpdateDataAgentSettingsRequest": { + "description": "Update DataAgent settings request payload. Only provided fields are updated.", + "type": "object", + "properties": { + "aiInstructions": { + "description": "Custom AI system prompt for the DataAgent.", + "type": "string" + } + } + }, + "DataAgentDatasources": { + "description": "A paginated list of DataAgent datasources.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "A list of datasources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataAgentDatasourceResponse" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "DataAgentDatasourceResponse": { + "description": "A DataAgent datasource.", + "type": "object", + "required": [ + "id", + "type" + ], + "discriminator": "type", + "properties": { + "id": { + "description": "The datasource ID.", + "type": "string", + "format": "uuid" + }, + "instructions": { + "description": "Custom AI instructions specific to this datasource.", + "type": "string" + }, + "type": { + "description": "The datasource type.", + "$ref": "#/definitions/DatasourceType" + }, + "displayName": { + "description": "The display name of the datasource.", + "type": "string" + }, + "description": { + "description": "The description of the datasource.", + "type": "string" + } + } + }, + "FabricItemDatasource": { + "type": "object", + "description": "A DataAgent datasource backed by a Fabric item.", + "required": [ + "itemReference", + "fabricItemType" + ], + "properties": { + "itemReference": { + "$ref": "../common/definitions.json#/definitions/ItemReference" + }, + "fabricItemType": { + "description": "The Fabric item type of the datasource.", + "$ref": "#/definitions/DataAgentSupportedItemType" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataAgentDatasourceResponse" + } + ], + "x-ms-discriminator-value": "FabricItem" + }, + "LakehouseTablesDatasource": { + "type": "object", + "description": "A DataAgent datasource that uses a lakehouse in tables-only mode.", + "required": [ + "lakehouseReference" + ], + "properties": { + "lakehouseReference": { + "$ref": "../common/definitions.json#/definitions/ItemReference" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataAgentDatasourceResponse" + } + ], + "x-ms-discriminator-value": "LakehouseTables" + }, + "CreateDataAgentDatasourceRequest": { + "description": "Create DataAgent datasource request payload.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The datasource type to create.", + "$ref": "#/definitions/DatasourceType" + }, + "itemReference": { + "$ref": "../common/definitions.json#/definitions/ItemReferenceById" + }, + "lakehouseReference": { + "$ref": "../common/definitions.json#/definitions/ItemReferenceById" + } + } + }, + "UpdateDataAgentDatasourceRequest": { + "description": "Update DataAgent datasource request payload. Only provided fields are updated.", + "type": "object", + "properties": { + "instructions": { + "description": "Custom AI instructions specific to this datasource.", + "type": "string" + }, + "description": { + "description": "The description of the datasource.", + "type": "string" + } + } + }, + "DataSourceElement": { + "description": "A datasource schema element.", + "type": "object", + "required": [ + "id", + "isSelected", + "displayName", + "type", + "hasSubElements" + ], + "properties": { + "id": { + "description": "The element identifier. Use as rootId to drill deeper into the schema tree.", + "type": "string" + }, + "isSelected": { + "description": "Whether this element is selected for use by the DataAgent.", + "type": "boolean" + }, + "displayName": { + "description": "Human-readable name of the element.", + "type": "string" + }, + "type": { + "description": "The type of schema element.", + "$ref": "#/definitions/ElementType" + }, + "dataType": { + "description": "Data type for columns (e.g., int, string). Present only for column elements.", + "type": "string" + }, + "description": { + "description": "User-set description of the element.", + "type": "string" + }, + "hasSubElements": { + "description": "Whether this element has children to drill into.", + "type": "boolean" + }, + "state": { + "description": "Indicates if the element exists in the live schema.", + "$ref": "#/definitions/ElementState" + }, + "indexState": { + "description": "Index state for lakehouse file directories.", + "$ref": "#/definitions/IndexState" + }, + "lastSyncDateTime": { + "description": "The last time this element was synchronized from the datasource schema, as an ISO 8601 timestamp (e.g., 2025-06-15T10:30:00Z).", + "type": "string" + } + } + }, + "DataSourceElements": { + "description": "A paginated list of datasource schema elements.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "A list of schema elements.", + "type": "array", + "items": { + "$ref": "#/definitions/DataSourceElement" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "UpdateDataSourceElementRequest": { + "description": "Update a datasource element request payload. Only provided fields are updated.", + "type": "object", + "properties": { + "isSelected": { + "description": "Select or deselect the element. When deselected, the element configuration is preserved and restored when re-selected.", + "type": "boolean" + }, + "description": { + "description": "Set a custom description for the element.", + "type": "string" + } + } + }, + "DataAgentFewshot": { + "description": "A DataAgent fewshot.", + "type": "object", + "required": [ + "id", + "question", + "validationStatus" + ], + "properties": { + "id": { + "description": "The fewshot ID.", + "type": "string", + "format": "uuid" + }, + "question": { + "description": "Natural language question.", + "type": "string" + }, + "query": { + "description": "The SQL/KQL query answer.", + "type": "string" + }, + "validationStatus": { + "description": "The validation status of the fewshot.", + "$ref": "#/definitions/FewshotValidationStatus" + } + } + }, + "DataAgentFewshots": { + "description": "A paginated list of DataAgent fewshots.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "A list of fewshots.", + "type": "array", + "items": { + "$ref": "#/definitions/DataAgentFewshot" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateDataAgentFewshotRequest": { + "description": "Create a DataAgent fewshot request payload.", + "type": "object", + "required": [ + "question" + ], + "properties": { + "question": { + "description": "Natural language question.", + "type": "string" + }, + "query": { + "description": "The SQL/KQL query answer.", + "type": "string" + } + } + }, + "UpdateDataAgentFewshotRequest": { + "description": "Update a DataAgent fewshot request payload. Only provided fields are updated.", + "type": "object", + "properties": { + "question": { + "description": "Natural language question.", + "type": "string" + }, + "query": { + "description": "The SQL/KQL query answer.", + "type": "string" + } + } + }, + "PublishDataAgentRequest": { + "description": "Publish DataAgent request payload.", + "type": "object", + "properties": { + "publishedDescription": { + "description": "A description shown when the agent appears in other experiences.", + "type": "string" + } + } + }, + "PublishDataAgentResponse": { + "description": "Publish DataAgent response.", + "type": "object", + "properties": { + "publishedDescription": { + "description": "The publish description.", + "type": "string" + } + } + }, + "DatasourceType": { + "type": "string", + "description": "The datasource type. Additional DatasourceType types may be added over time.", + "enum": [ + "FabricItem", + "LakehouseTables" + ], + "x-ms-enum": { + "name": "DatasourceType", + "modelAsString": true, + "values": [ + { + "value": "FabricItem", + "description": "A datasource backed by a supported Fabric item." + }, + { + "value": "LakehouseTables", + "description": "A datasource backed by a lakehouse in tables-only mode." + } + ] + } + }, + "DataAgentSupportedItemType": { + "type": "string", + "description": "The supported Fabric item type for a `FabricItem` datasource. Values use published Fabric item names. Additional DataAgentSupportedItemType types may be added over time.", + "enum": [ + "Report", + "SemanticModel", + "Lakehouse", + "KQLDatabase", + "Warehouse", + "MirroredDatabase", + "MirroredAzureDatabricksCatalog", + "GraphModel", + "SQLDatabase", + "Ontology" + ], + "x-ms-enum": { + "name": "DataAgentSupportedItemType", + "modelAsString": true, + "values": [ + { + "value": "Report", + "description": "Power BI report." + }, + { + "value": "SemanticModel", + "description": "Power BI semantic model." + }, + { + "value": "Lakehouse", + "description": "A lakehouse." + }, + { + "value": "KQLDatabase", + "description": "A KQL database." + }, + { + "value": "Warehouse", + "description": "A warehouse." + }, + { + "value": "MirroredDatabase", + "description": "A mirrored database." + }, + { + "value": "MirroredAzureDatabricksCatalog", + "description": "A mirrored Azure Databricks catalog." + }, + { + "value": "GraphModel", + "description": "A graph model." + }, + { + "value": "SQLDatabase", + "description": "A SQL database." + }, + { + "value": "Ontology", + "description": "An ontology." + } + ] + } + }, + "ElementType": { + "type": "string", + "description": "The public type of a datasource schema element. Additional ElementType types may be added over time.", + "enum": [ + "Root", + "Files", + "Directory", + "Schemas", + "Tables", + "Views", + "Functions", + "ScalarFunctions", + "TableValuedFunctions", + "Shortcuts", + "MaterializedViews", + "Schema", + "Table", + "ExternalTable", + "MaterializedView", + "View", + "Column", + "Measure", + "Function", + "FunctionParameter", + "FunctionReturnValue", + "NodeType", + "EdgeType", + "Entity" + ], + "x-ms-enum": { + "name": "ElementType", + "modelAsString": true, + "values": [ + { + "value": "Root", + "description": "The root element of a datasource schema tree." + }, + { + "value": "Files", + "description": "A files container element." + }, + { + "value": "Directory", + "description": "A directory element." + }, + { + "value": "Schemas", + "description": "A grouping container for schema elements." + }, + { + "value": "Tables", + "description": "A grouping container for table elements." + }, + { + "value": "Views", + "description": "A grouping container for view elements." + }, + { + "value": "Functions", + "description": "A grouping container for function elements." + }, + { + "value": "ScalarFunctions", + "description": "A grouping container for scalar function elements." + }, + { + "value": "TableValuedFunctions", + "description": "A grouping container for table-valued function elements." + }, + { + "value": "Shortcuts", + "description": "A grouping container for shortcut elements." + }, + { + "value": "MaterializedViews", + "description": "A grouping container for materialized view elements." + }, + { + "value": "Schema", + "description": "A schema element." + }, + { + "value": "Table", + "description": "A table element." + }, + { + "value": "ExternalTable", + "description": "An external table element." + }, + { + "value": "MaterializedView", + "description": "A materialized view element." + }, + { + "value": "View", + "description": "A view element." + }, + { + "value": "Column", + "description": "A column element." + }, + { + "value": "Measure", + "description": "A measure element." + }, + { + "value": "Function", + "description": "A function element." + }, + { + "value": "FunctionParameter", + "description": "A function parameter element." + }, + { + "value": "FunctionReturnValue", + "description": "A function return value element." + }, + { + "value": "NodeType", + "description": "A graph node type element." + }, + { + "value": "EdgeType", + "description": "A graph edge type element." + }, + { + "value": "Entity", + "description": "An ontology entity element." + } + ] + } + }, + "ElementState": { + "type": "string", + "description": "Indicates the current availability of the element in the datasource schema. Additional ElementState types may be added over time.", + "enum": [ + "Available", + "NotAvailable", + "AccessDenied", + "AccessDeniedOap", + "DatasourceNotFound", + "SchemaUnavailable" + ], + "x-ms-enum": { + "name": "ElementState", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "The element is available in the datasource schema." + }, + { + "value": "NotAvailable", + "description": "The element was previously configured but is no longer available in the datasource schema." + }, + { + "value": "AccessDenied", + "description": "The datasource schema could not be read because access was denied." + }, + { + "value": "AccessDeniedOap", + "description": "The datasource schema could not be read because access is blocked by an organizational access policy." + }, + { + "value": "DatasourceNotFound", + "description": "The datasource could not be found." + }, + { + "value": "SchemaUnavailable", + "description": "The datasource schema is currently unavailable." + } + ] + } + }, + "IndexState": { + "type": "string", + "description": "Index state for lakehouse file directories. Additional IndexState types may be added over time.", + "enum": [ + "Indexed", + "Indexing", + "NotIndexed" + ], + "x-ms-enum": { + "name": "IndexState", + "modelAsString": true, + "values": [ + { + "value": "Indexed", + "description": "Directory has been indexed for unstructured search." + }, + { + "value": "Indexing", + "description": "Directory is currently being indexed." + }, + { + "value": "NotIndexed", + "description": "Directory has not been indexed." + } + ] + } + }, + "FewshotValidationStatus": { + "description": "The validation status of a fewshot.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "The validation result.", + "$ref": "#/definitions/FewshotValidationStatusValue" + }, + "reason": { + "description": "The reason for the current validation status, when available.", + "type": "string" + } + } + }, + "FewshotValidationStatusValue": { + "type": "string", + "description": "The validation result for a fewshot. Additional FewshotValidationStatusValue types may be added over time.", + "enum": [ + "Validating", + "Valid", + "Invalid" + ], + "x-ms-enum": { + "name": "FewshotValidationStatusValue", + "modelAsString": true, + "values": [ + { + "value": "Validating", + "description": "Validation is currently in progress." + }, + { + "value": "Valid", + "description": "Query has been validated successfully." + }, + { + "value": "Invalid", + "description": "Query failed validation." + } + ] + } } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasource.json new file mode 100644 index 0000000000..574677aa2b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasource.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "createDataAgentDatasourceRequest": { + "type": "LakehouseTables", + "lakehouseReference": { + "referenceType": "ById", + "itemId": "b5e7c3a1-2d4f-4890-9a1b-3c5d7e9f0a2b", + "workspaceId": "e1f2a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6b" + } + } + }, + "responses": { + "201": { + "body": { + "id": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "instructions": "Use this for customer engagement analysis.", + "type": "LakehouseTables", + "displayName": "CustomerLakehouse", + "description": "Customer interaction history and support activity.", + "lakehouseReference": { + "referenceType": "ById", + "itemId": "b5e7c3a1-2d4f-4890-9a1b-3c5d7e9f0a2b", + "workspaceId": "e1f2a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6b" + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/65d59164-2ebd-4cac-9149-55612f8f5bb8", + "x-ms-operation-id": "65d59164-2ebd-4cac-9149-55612f8f5bb8", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasourceFewshot.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasourceFewshot.json new file mode 100644 index 0000000000..55c5393f73 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentDatasourceFewshot.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "createDataAgentFewshotRequest": { + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location ORDER BY trip_count DESC" + } + }, + "responses": { + "201": { + "body": { + "id": "d7a3b2c1-4e5f-6a7b-8c9d-0e1f2a3b4c5d", + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location ORDER BY trip_count DESC", + "validationStatus": { + "value": "Validating" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentWarehouseDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentWarehouseDatasource.json new file mode 100644 index 0000000000..8fd0519df3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/CreateStagingDataAgentWarehouseDatasource.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "createDataAgentDatasourceRequest": { + "type": "FabricItem", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + } + } + }, + "responses": { + "201": { + "body": { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/91d594a7-e8d7-487f-9dfb-f40f6d3318d2", + "x-ms-operation-id": "91d594a7-e8d7-487f-9dfb-f40f6d3318d2", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteAllStagingDataAgentDatasourceFewshots.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteAllStagingDataAgentDatasourceFewshots.json new file mode 100644 index 0000000000..1dbbb332bf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteAllStagingDataAgentDatasourceFewshots.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasource.json new file mode 100644 index 0000000000..b3048cdf31 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasource.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceElement.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceElement.json new file mode 100644 index 0000000000..e92eea7016 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceElement.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "id": "U2NoZW1hcy9kYm8vVGFibGVzL1RyaXA=" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceFewshot.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceFewshot.json new file mode 100644 index 0000000000..f31824bd46 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/DeleteStagingDataAgentDatasourceFewshot.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "fewShotId": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetDataAgent.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetDataAgent.json index 18910a801d..f94e13d3a2 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetDataAgent.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetDataAgent.json @@ -11,6 +11,9 @@ "description": "A DataAgent description.", "type": "DataAgent", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "publishedDescription": "Published via API" + }, "sensitivityLabel": { "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasource.json new file mode 100644 index 0000000000..29107c249f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasource.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01" + }, + "responses": { + "200": { + "body": { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasourceFewshot.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasourceFewshot.json new file mode 100644 index 0000000000..485baa670c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentDatasourceFewshot.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "fewShotId": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b" + }, + "responses": { + "200": { + "body": { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location_name, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location_name ORDER BY trip_count DESC", + "validationStatus": { + "value": "Invalid", + "reason": "Column 'pickup_location_name' does not exist in dbo.Trip." + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentSettings.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentSettings.json new file mode 100644 index 0000000000..52485990d6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetPublishedDataAgentSettings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "aiInstructions": "Always respond in English. Be concise." + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasource.json new file mode 100644 index 0000000000..29107c249f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasource.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01" + }, + "responses": { + "200": { + "body": { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasourceFewshot.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasourceFewshot.json new file mode 100644 index 0000000000..485baa670c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentDatasourceFewshot.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "fewShotId": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b" + }, + "responses": { + "200": { + "body": { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location_name, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location_name ORDER BY trip_count DESC", + "validationStatus": { + "value": "Invalid", + "reason": "Column 'pickup_location_name' does not exist in dbo.Trip." + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentSettings.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentSettings.json new file mode 100644 index 0000000000..52485990d6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/GetStagingDataAgentSettings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "aiInstructions": "Always respond in English. Be concise." + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListDataAgentsInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListDataAgentsInWorkspace.json index db97ef7947..7f5bc95b65 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListDataAgentsInWorkspace.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListDataAgentsInWorkspace.json @@ -12,6 +12,9 @@ "description": "A DataAgent description.", "type": "DataAgent", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "publishedDescription": "Published via API" + }, "sensitivityLabel": { "id": "b7b4f4d9-3f0d-4b3e-8f3d-4f6d3f4f3f4f" } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceElements.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceElements.json new file mode 100644 index 0000000000..35ed74c201 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceElements.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "U2NoZW1hcw==", + "isSelected": false, + "displayName": "Schemas", + "type": "Schemas", + "hasSubElements": true, + "state": "Available", + "lastSyncDateTime": "2025-06-15T10:30:00Z" + }, + { + "id": "VGFibGVz", + "isSelected": false, + "displayName": "Tables", + "type": "Tables", + "hasSubElements": true, + "state": "Available", + "lastSyncDateTime": "2025-06-15T10:30:00Z" + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceFewshots.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceFewshots.json new file mode 100644 index 0000000000..bff0df169c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasourceFewshots.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b", + "question": "How many trips were there in January?", + "query": "SELECT COUNT(*) FROM dbo.Trip WHERE MONTH(start_date) = 1", + "validationStatus": { + "value": "Valid" + } + }, + { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location_name, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location_name ORDER BY trip_count DESC", + "validationStatus": { + "value": "Invalid", + "reason": "Column 'pickup_location_name' does not exist in dbo.Trip." + } + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasources.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasources.json new file mode 100644 index 0000000000..0b6c3dc5da --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListPublishedDataAgentDatasources.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + }, + { + "id": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "instructions": "Use this for customer engagement analysis.", + "type": "LakehouseTables", + "displayName": "CustomerLakehouse", + "description": "Customer interaction history and support activity.", + "lakehouseReference": { + "referenceType": "ById", + "itemId": "b5e7c3a1-2d4f-4890-9a1b-3c5d7e9f0a2b", + "workspaceId": "e1f2a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6b" + } + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceElements.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceElements.json new file mode 100644 index 0000000000..35ed74c201 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceElements.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "U2NoZW1hcw==", + "isSelected": false, + "displayName": "Schemas", + "type": "Schemas", + "hasSubElements": true, + "state": "Available", + "lastSyncDateTime": "2025-06-15T10:30:00Z" + }, + { + "id": "VGFibGVz", + "isSelected": false, + "displayName": "Tables", + "type": "Tables", + "hasSubElements": true, + "state": "Available", + "lastSyncDateTime": "2025-06-15T10:30:00Z" + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceFewshots.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceFewshots.json new file mode 100644 index 0000000000..bff0df169c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasourceFewshots.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b", + "question": "How many trips were there in January?", + "query": "SELECT COUNT(*) FROM dbo.Trip WHERE MONTH(start_date) = 1", + "validationStatus": { + "value": "Valid" + } + }, + { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "question": "What are the top 5 busiest pickup locations?", + "query": "SELECT TOP 5 pickup_location_name, COUNT(*) as trip_count FROM dbo.Trip GROUP BY pickup_location_name ORDER BY trip_count DESC", + "validationStatus": { + "value": "Invalid", + "reason": "Column 'pickup_location_name' does not exist in dbo.Trip." + } + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasources.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasources.json new file mode 100644 index 0000000000..0b6c3dc5da --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ListStagingDataAgentDatasources.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + }, + { + "id": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "instructions": "Use this for customer engagement analysis.", + "type": "LakehouseTables", + "displayName": "CustomerLakehouse", + "description": "Customer interaction history and support activity.", + "lakehouseReference": { + "referenceType": "ById", + "itemId": "b5e7c3a1-2d4f-4890-9a1b-3c5d7e9f0a2b", + "workspaceId": "e1f2a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6b" + } + } + ], + "continuationToken": null, + "continuationUri": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/PublishDataAgent.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/PublishDataAgent.json new file mode 100644 index 0000000000..21ce5692d6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/PublishDataAgent.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "publishDataAgentRequest": { + "publishedDescription": "Production release v2 with improved instructions" + } + }, + "responses": { + "200": { + "body": { + "publishedDescription": "Production release v2 with improved instructions" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ResetStagingDataAgent.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ResetStagingDataAgent.json new file mode 100644 index 0000000000..8ce26ff272 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/ResetStagingDataAgent.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateDataAgentDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateDataAgentDefinition.json index 061d40e11a..de8e14b961 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateDataAgentDefinition.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateDataAgentDefinition.json @@ -2,7 +2,7 @@ "parameters": { "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", "dataAgentId": "5b218778-e7a5-4d73-8187-f10824047715", - "updateMetadata" : true, + "updateMetadata": true, "updateDataAgentDefinitionRequest": { "definition": { "parts": [ @@ -21,8 +21,7 @@ } }, "responses": { - "200": { - }, + "200": {}, "202": { "headers": { "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasource.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasource.json new file mode 100644 index 0000000000..ecc40ed63a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasource.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "updateDataAgentDatasourceRequest": { + "instructions": "Use this for document retrieval queries.", + "description": "Sales data warehouse with order and customer information." + } + }, + "responses": { + "200": { + "body": { + "id": "70f9282b-1b64-4f08-9e4e-2ab9f0e20e01", + "instructions": "Use this for document retrieval queries.", + "type": "FabricItem", + "displayName": "SalesWarehouse", + "description": "Sales data warehouse with order and customer information.", + "itemReference": { + "referenceType": "ById", + "itemId": "01234372-7fd9-44d3-bd75-a2718645a82a", + "workspaceId": "abdd0d48-2eed-4066-adc4-321a9f6a628e" + }, + "fabricItemType": "Warehouse" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceElement.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceElement.json new file mode 100644 index 0000000000..8f3f249511 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceElement.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "updateDataSourceElementRequest": { + "isSelected": true + }, + "id": "U2NoZW1hcy9kYm8vVGFibGVzL1RyaXA=" + }, + "responses": { + "200": { + "body": { + "id": "U2NoZW1hcy9kYm8vVGFibGVzL1RyaXA=", + "isSelected": true, + "displayName": "Trip", + "type": "Table", + "hasSubElements": true, + "state": "Available", + "lastSyncDateTime": "2025-06-15T10:30:00Z" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceFewshot.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceFewshot.json new file mode 100644 index 0000000000..e0de2fde03 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentDatasourceFewshot.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "datasourceId": "c1c6d12f-8d2a-4d5b-9ca1-8bb7b42d4a30", + "fewShotId": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b", + "updateDataAgentFewshotRequest": { + "query": "SELECT COUNT(*) FROM dbo.Trip WHERE MONTH(start_date) = 1 AND YEAR(start_date) = 2024" + } + }, + "responses": { + "200": { + "body": { + "id": "c3f5e2a1-9b8d-4f7e-a6b2-1d0c8e3f9a5b", + "question": "How many trips were there in January?", + "query": "SELECT COUNT(*) FROM dbo.Trip WHERE MONTH(start_date) = 1 AND YEAR(start_date) = 2024", + "validationStatus": { + "value": "Validating" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentSettings.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentSettings.json new file mode 100644 index 0000000000..9cde5ec3f5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/examples/UpdateStagingDataAgentSettings.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataAgentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "updateDataAgentSettingsRequest": { + "aiInstructions": "Always respond in Spanish." + } + }, + "responses": { + "200": { + "body": { + "aiInstructions": "Always respond in Spanish." + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/swagger.json index b41cd6ce2c..2283452a4c 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataAgent/swagger.json @@ -564,6 +564,1839 @@ } } } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/settings": { + "get": { + "summary": "Returns the staging (draft) settings for the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_GetSettings", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentSettingsResponse" + } + }, + "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 staging DataAgent settings example": { + "$ref": "./examples/GetStagingDataAgentSettings.json" + } + } + }, + "patch": { + "summary": "Updates the staging settings for the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nOnly provided fields are updated.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_UpdateSettings", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateDataAgentSettingsRequest", + "description": "Update DataAgent settings request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataAgentSettingsRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentSettingsResponse" + } + }, + "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 staging DataAgent settings example": { + "$ref": "./examples/UpdateStagingDataAgentSettings.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources": { + "get": { + "summary": "Returns a list of staging datasources for the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_ListDatasources", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": 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/DataAgentDatasources" + } + }, + "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": { + "List staging DataAgent datasources example": { + "$ref": "./examples/ListStagingDataAgentDatasources.json" + } + } + }, + "post": { + "summary": "Creates a datasource in the staging environment of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nThis operation creates a datasource for an existing Fabric item.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_CreateDatasource", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createDataAgentDatasourceRequest", + "description": "Create datasource request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateDataAgentDatasourceRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentDatasourceResponse" + } + }, + "202": { + "description": "Request accepted, datasource 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* ItemNotFound - The requested item was not found\n\n* InvalidRequest - Invalid request\n\n* EntityConflict - A create operation is already in progress for this datasource", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create staging DataAgent datasource example": { + "$ref": "./examples/CreateStagingDataAgentDatasource.json" + }, + "Create staging DataAgent warehouse datasource example": { + "$ref": "./examples/CreateStagingDataAgentWarehouseDatasource.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources/{datasourceId}": { + "get": { + "summary": "Returns metadata for a specific staging datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_GetDatasource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentDatasourceResponse" + } + }, + "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 staging DataAgent datasource example": { + "$ref": "./examples/GetStagingDataAgentDatasource.json" + } + } + }, + "patch": { + "summary": "Updates metadata for a specific staging datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nOnly provided fields are updated.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_UpdateDatasource", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateDataAgentDatasourceRequest", + "description": "Update datasource request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataAgentDatasourceRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentDatasourceResponse" + } + }, + "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 staging DataAgent datasource example": { + "$ref": "./examples/UpdateStagingDataAgentDatasource.json" + } + } + }, + "delete": { + "summary": "Deletes a datasource from the staging environment of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nDeletes the datasource from the DataAgent. The underlying Fabric item isn't deleted.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_DeleteDatasource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete staging DataAgent datasource example": { + "$ref": "./examples/DeleteStagingDataAgentDatasource.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources/{datasourceId}/elements": { + "get": { + "summary": "Returns schema elements at a level of the schema tree for a staging datasource.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nElements represent the schema tree of a datasource (schemas, tables, columns). Navigate level-by-level using the `rootId` parameter.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_ListDatasourceElements", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "rootId", + "description": "The identifier of a parent element. Omit to get the root level.", + "type": "string", + "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/DataSourceElements" + } + }, + "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": { + "List staging DataAgent datasource elements example": { + "$ref": "./examples/ListStagingDataAgentDatasourceElements.json" + } + } + }, + "patch": { + "summary": "Updates a specific schema element for a staging datasource.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nSelect/deselect an element or set a custom description. Only provided fields are updated.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_UpdateDatasourceElement", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "id", + "description": "The element identifier.", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "updateDataSourceElementRequest", + "description": "Update element request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataSourceElementRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataSourceElement" + } + }, + "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 staging DataAgent datasource element example": { + "$ref": "./examples/UpdateStagingDataAgentDatasourceElement.json" + } + } + }, + "delete": { + "summary": "Deletes a schema element that is no longer present in the live schema from a staging datasource.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nUse this API to remove a stale element from the saved datasource schema after it has been removed from the live datasource schema. This API does not automatically remove elements when the live schema changes, so callers can review the change and decide whether to delete the saved element themselves.\n\nAn element can be deleted only when it is no longer present in the live datasource schema. If the element still exists in the live datasource schema, the request fails.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_DeleteDatasourceElement", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "id", + "description": "The element identifier.", + "type": "string", + "required": 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* ItemNotFound - The requested item was not found.\n\n* ElementStillAvailable - The element still exists in the datasource schema and cannot be deleted.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete staging DataAgent datasource element example": { + "$ref": "./examples/DeleteStagingDataAgentDatasourceElement.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources/{datasourceId}/fewshots": { + "get": { + "summary": "Returns a list of staging fewshots for a datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_ListDatasourceFewshots", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": 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/DataAgentFewshots" + } + }, + "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": { + "List staging DataAgent datasource fewshots example": { + "$ref": "./examples/ListStagingDataAgentDatasourceFewshots.json" + } + } + }, + "post": { + "summary": "Creates a new fewshot for a staging datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.ReadWrite.All\n\n## Limitations\n\nFewshots aren't supported for Semantic Model and Ontology datasources.\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": [ + "Staging" + ], + "operationId": "Staging_CreateDatasourceFewshot", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createDataAgentFewshotRequest", + "description": "Create fewshot request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateDataAgentFewshotRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentFewshot" + } + }, + "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 request.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create staging DataAgent datasource fewshot example": { + "$ref": "./examples/CreateStagingDataAgentDatasourceFewshot.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources/{datasourceId}/fewshots/{fewShotId}": { + "get": { + "summary": "Returns a specific staging fewshot by ID.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_GetDatasourceFewshot", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "fewShotId", + "description": "The fewshot ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentFewshot" + } + }, + "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 staging DataAgent datasource fewshot example": { + "$ref": "./examples/GetStagingDataAgentDatasourceFewshot.json" + } + } + }, + "patch": { + "summary": "Updates a specific staging fewshot.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nOnly provided fields are updated.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_UpdateDatasourceFewshot", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "fewShotId", + "description": "The fewshot ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateDataAgentFewshotRequest", + "description": "Update fewshot request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataAgentFewshotRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentFewshot" + } + }, + "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 staging DataAgent datasource fewshot example": { + "$ref": "./examples/UpdateStagingDataAgentDatasourceFewshot.json" + } + } + }, + "delete": { + "summary": "Deletes a specific staging fewshot.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_DeleteDatasourceFewshot", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "fewShotId", + "description": "The fewshot ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete staging DataAgent datasource fewshot example": { + "$ref": "./examples/DeleteStagingDataAgentDatasourceFewshot.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/datasources/{datasourceId}/fewshots/deleteAll": { + "post": { + "summary": "Deletes all fewshots for a staging datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_DeleteAllDatasourceFewshots", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete all staging DataAgent datasource fewshots example": { + "$ref": "./examples/DeleteAllStagingDataAgentDatasourceFewshots.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/settings": { + "get": { + "summary": "Returns the published settings for the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_GetSettings", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentSettingsResponse" + } + }, + "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 published DataAgent settings example": { + "$ref": "./examples/GetPublishedDataAgentSettings.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/datasources": { + "get": { + "summary": "Returns a list of published datasources for the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_ListDatasources", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": 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/DataAgentDatasources" + } + }, + "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": { + "List published DataAgent datasources example": { + "$ref": "./examples/ListPublishedDataAgentDatasources.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/datasources/{datasourceId}": { + "get": { + "summary": "Returns metadata for a specific published datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_GetDatasource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentDatasourceResponse" + } + }, + "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 published DataAgent datasource example": { + "$ref": "./examples/GetPublishedDataAgentDatasource.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/datasources/{datasourceId}/elements": { + "get": { + "summary": "Returns schema elements at a level of the schema tree for a published datasource.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nElements represent the schema tree of a datasource (schemas, tables, columns). Navigate level-by-level using the `rootId` parameter.\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_ListDatasourceElements", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "rootId", + "description": "The identifier of a parent element. Omit to get the root level.", + "type": "string", + "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/DataSourceElements" + } + }, + "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": { + "List published DataAgent datasource elements example": { + "$ref": "./examples/ListPublishedDataAgentDatasourceElements.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/datasources/{datasourceId}/fewshots": { + "get": { + "summary": "Returns a list of published fewshots for a datasource of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_ListDatasourceFewshots", + "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": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": 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/DataAgentFewshots" + } + }, + "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": { + "List published DataAgent datasource fewshots example": { + "$ref": "./examples/ListPublishedDataAgentDatasourceFewshots.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/datasources/{datasourceId}/fewshots/{fewShotId}": { + "get": { + "summary": "Returns a specific published fewshot by ID.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or DataAgent.Read.All or DataAgent.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": [ + "Published" + ], + "operationId": "Published_GetDatasourceFewshot", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "datasourceId", + "description": "The datasource ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "fewShotId", + "description": "The fewshot ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataAgentFewshot" + } + }, + "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 published DataAgent datasource fewshot example": { + "$ref": "./examples/GetPublishedDataAgentDatasourceFewshot.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/publish": { + "post": { + "summary": "Publishes the staging configuration of the specified DataAgent.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nPromotes the current staging state to the published environment, making it live.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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_PublishDataAgent", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "publishDataAgentRequest", + "description": "Publish DataAgent request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/PublishDataAgentRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/PublishDataAgentResponse" + } + }, + "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 request.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Publish DataAgent example": { + "$ref": "./examples/PublishDataAgent.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataAgents/{dataAgentId}/staging/reset": { + "post": { + "summary": "Reverts the staging environment of the specified DataAgent to the published state.", + "description": "> [!NOTE]\n> Data Agent configuration management is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nDiscards all unpublished changes in the staging environment.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataAgent.\n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or DataAgent.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": [ + "Staging" + ], + "operationId": "Staging_Reset", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataAgentId", + "description": "The DataAgent ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Reset staging DataAgent example": { + "$ref": "./examples/ResetStagingDataAgent.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/definitions.json new file mode 100644 index 0000000000..e3721c177e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/definitions.json @@ -0,0 +1,194 @@ +{ + "swagger": "2.0", + "info": { + "title": "DataBuildToolJob data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "DataBuildToolJob": { + "description": "A DataBuildToolJob object.", + "type": "object", + "required": ["type"], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The DataBuildToolJob properties.", + "$ref": "#/definitions/DataBuildToolJobProperties" + } + } + }, + "DataBuildToolJobProperties": { + "description": "The DataBuildToolJob properties.", + "type": "object", + "required": ["oneLakeRootPath"], + "properties": { + "oneLakeRootPath": { + "description": "OneLake path to the DataBuildToolJob root directory.", + "type": "string" + } + } + }, + "DataBuildToolJobs": { + "description": "A list of DataBuildToolJobs.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of DataBuildToolJobs.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBuildToolJob" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateDataBuildToolJobRequest": { + "description": "The request payload for creating a DataBuildToolJob.", + "required": ["displayName"], + "properties": { + "displayName": { + "description": "The DataBuildToolJob display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The DataBuildToolJob description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the DataBuildToolJob is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The DataBuildToolJob public definition.", + "$ref": "#/definitions/DataBuildToolJobPublicDefinition", + "readOnly": false + }, + "sensitivityLabelSettings": { + "description": "The sensitivity label settings for the DataBuildToolJob.", + "$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings", + "readOnly": false + } + } + }, + "UpdateDataBuildToolJobDefinitionRequest": { + "description": "The request payload for updating a DataBuildToolJob public definition.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/DataBuildToolJobPublicDefinition" + } + } + }, + "DataBuildToolJobDefinitionResponse": { + "description": "The response payload for a DataBuildToolJob public definition.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/DataBuildToolJobPublicDefinition", + "readOnly": true + } + } + }, + "DataBuildToolJobPublicDefinition" : { + "description": "The DataBuildToolJob public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/data-build-tool-job-definition) for more details on the structure of the DataBuildToolJob definition.", + "type": "object", + "required": ["parts"], + "properties": { + "format": { + "description": "The format of the DataBuildToolJob definition. Additional formats may be added over time.", + "type": "string", + "enum": [ + "DataBuildToolJobV1" + ], + "x-ms-enum": { + "name": "DataBuildToolJobDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "DataBuildToolJobV1", + "description": "The format for DataBuildToolJob definitions, designed to support CI/CD scenarios in Fabric. See [DataBuildToolJob - DataBuildToolJobV1 specification](/rest/api/fabric/articles/item-management/definitions/data-build-tool-job-definition) for more details." + } + ] + }, + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBuildToolJobPublicDefinitionPart" + }, + "readOnly": false + } + } + }, + "DataBuildToolJobPublicDefinitionPart": { + "description": "The DataBuildToolJob definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The DataBuildToolJob public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The DataBuildToolJob public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateDataBuildToolJobRequest": { + "description": "The request payload for updating a DataBuildToolJob.", + "properties": { + "displayName": { + "description": "The DataBuildToolJob display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The DataBuildToolJob description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + }, + "DataBuildToolJobExecuteSchedule": { + "description": "DataBuildToolJob execute schedule.", + "type": "object", + "allOf": [ + { + "$ref": "../common/job_scheduling.json#/definitions/BaseItemSchedule" + } + ] + }, + "CreateDataBuildToolJobExecuteScheduleRequest": { + "description": "Create DataBuildToolJob execute schedule plan request payload.", + "type": "object", + "allOf": [ + { + "$ref": "../common/job_scheduling.json#/definitions/BaseCreateScheduleRequest" + } + ] + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJob.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJob.json new file mode 100644 index 0000000000..3c3cabdcea --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJob.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createDataBuildToolJobRequest": { + "displayName": "DataBuildToolJob 1", + "description": "A DataBuildToolJob description.", + "definition": { + "format": "DataBuildToolJobV1", + "parts": [ + { + "path": "DataBuildToolJobV1.json", + "payload": "eyJleGVjdXRhYmxlRm..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "DataBuildToolJob 1", + "description": "A DataBuildToolJob description.", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobExecuteSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobExecuteSchedule.json new file mode 100644 index 0000000000..62765607cc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobExecuteSchedule.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "workspaceId": "4b218778-e7a5-4d73-8187-f10824047715", + "dataBuildToolJobId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "createScheduleRequest": { + "enabled": true, + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/4b218778-e7a5-4d73-8187-f10824047715/items/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/jobs/Execute/schedules/bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobWithoutDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobWithoutDefinition.json new file mode 100644 index 0000000000..bd01da2472 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/CreateDataBuildToolJobWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createDataBuildToolJobRequest": { + "displayName": "DataBuildToolJob 1", + "description": "A DataBuildToolJob description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "DataBuildToolJob 1", + "description": "A DataBuildToolJob description.", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/DeleteDataBuildToolJob.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/DeleteDataBuildToolJob.json new file mode 100644 index 0000000000..011597c6e3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/DeleteDataBuildToolJob.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "dataBuildToolJobId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJob.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJob.json new file mode 100644 index 0000000000..ccd7238744 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "dataBuildToolJobId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "DataBuildToolJob 1", + "description": "A DataBuildToolJob description.", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "oneLakeRootPath": "https://onelake.dfs.fabric.microsoft.com/f089354e-8366-4e18-aea3-4cb4a3a50b48/41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJobDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJobDefinition.json new file mode 100644 index 0000000000..4e2438c255 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/GetDataBuildToolJobDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "dataBuildToolJobId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "DataBuildToolJobV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/ListDataBuildToolJobsInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/ListDataBuildToolJobsInWorkspace.json new file mode 100644 index 0000000000..868f1686d8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/ListDataBuildToolJobsInWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "DataBuildToolJob Name 1", + "description": "A DataBuildToolJob description.", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "oneLakeRootPath": "https://onelake.dfs.fabric.microsoft.com/f089354e-8366-4e18-aea3-4cb4a3a50b48/41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + } + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "DataBuildToolJob Name 2", + "description": "A DataBuildToolJob description.", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "properties": { + "oneLakeRootPath": "https://onelake.dfs.fabric.microsoft.com/f089354e-8366-4e18-aea3-4cb4a3a50b48/d8f6cf16-3aac-4440-9d76-a03d86b7ae3e" + } + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/RunOnDemandDataBuildToolJobNoBody.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/RunOnDemandDataBuildToolJobNoBody.json new file mode 100644 index 0000000000..c2dbe0c63c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/RunOnDemandDataBuildToolJobNoBody.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "4b218778-e7a5-4d73-8187-f10824047715", + "dataBuildToolJobId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/4b218778-e7a5-4d73-8187-f10824047715/dataBuildToolJobs/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/jobs/execute/instances/f2d65699-dd22-4889-980c-15226deb0e1b", + "Retry-After": 60 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJob.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJob.json new file mode 100644 index 0000000000..15ffd8c910 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJob.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "dataBuildToolJobId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateDataBuildToolJobRequest": { + "displayName": "DataBuildToolJob's New name", + "description": "DataBuildToolJob's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "DataBuildToolJob's New name", + "description": "DataBuildToolJob's New description", + "type": "DataBuildToolJob", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJobDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJobDefinition.json new file mode 100644 index 0000000000..e50e92fb24 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/examples/UpdateDataBuildToolJobDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "dataBuildToolJobId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata" : true, + "updateDataBuildToolJobDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "DataBuildToolJobV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "200": { + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "x-ms-operation-id": "427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/swagger.json new file mode 100644 index 0000000000..c084477edf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataBuildToolJob/swagger.json @@ -0,0 +1,694 @@ +{ + "swagger": "2.0", + "info": { + "title": "DataBuildToolJob REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/dataBuildToolJobs": { + "get": { + "summary": "Returns a list of DataBuildToolJobs from the specified workspace.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis 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_ListDataBuildToolJobs", + "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/DataBuildToolJobs" + } + }, + "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 DataBuildToolJobs in workspace example": { + "$ref": "./examples/ListDataBuildToolJobsInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates a DataBuildToolJob in the specified workspace.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo create a DataBuildToolJob with a definition, refer to [DataBuildToolJob](/rest/api/fabric/articles/item-management/definitions/data-build-tool-job-definition) article.\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 a DataBuildToolJob, 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_CreateDataBuildToolJob", + "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": "createDataBuildToolJobRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateDataBuildToolJobRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/DataBuildToolJob" + } + }, + "202": { + "description": "Request accepted, DataBuildToolJob 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.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a DataBuildToolJob example": { + "$ref": "./examples/CreateDataBuildToolJobWithoutDefinition.json" + }, + "Create a DataBuildToolJob with definition example": { + "$ref": "./examples/CreateDataBuildToolJob.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataBuildToolJobs/{dataBuildToolJobId}": { + "get": { + "summary": "Returns properties of the specified DataBuildToolJob.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the DataBuildToolJob.\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_GetDataBuildToolJob", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataBuildToolJobId", + "description": "The DataBuildToolJob ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataBuildToolJob" + } + }, + "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 a DataBuildToolJob example": { + "$ref": "./examples/GetDataBuildToolJob.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified DataBuildToolJob.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataBuildToolJob.\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_UpdateDataBuildToolJob", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataBuildToolJobId", + "description": "The DataBuildToolJob ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateDataBuildToolJobRequest", + "description": "Update request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataBuildToolJobRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataBuildToolJob" + } + }, + "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 a DataBuildToolJob example": { + "$ref": "./examples/UpdateDataBuildToolJob.json" + } + } + }, + "delete": { + "summary": "Deletes the specified DataBuildToolJob.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *write* permissions for the DataBuildToolJob.\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_DeleteDataBuildToolJob", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataBuildToolJobId", + "description": "The DataBuildToolJob ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a DataBuildToolJob example": { + "$ref": "./examples/DeleteDataBuildToolJob.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataBuildToolJobs/{dataBuildToolJobId}/getDefinition": { + "post": { + "summary": "Returns the specified DataBuildToolJob public definition.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get a DataBuildToolJob's 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 DataBuildToolJob.\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_GetDataBuildToolJobDefinition", + "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": "dataBuildToolJobId", + "description": "The DataBuildToolJob ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the DataBuildToolJob definition.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataBuildToolJobDefinitionResponse" + } + }, + "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 a DataBuildToolJob definition example": { + "$ref": "./examples/GetDataBuildToolJobDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataBuildToolJobs/{dataBuildToolJobId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified DataBuildToolJob.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUpdating the DataBuildToolJob's definition, does not affect its sensitivity label.\n\n## Permissions\n\nThe caller must have *read and write* permissions for the DataBuildToolJob.\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_UpdateDataBuildToolJobDefinition", + "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": "dataBuildToolJobId", + "description": "The DataBuildToolJob 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": "updateDataBuildToolJobDefinitionRequest", + "description": "Update definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataBuildToolJobDefinitionRequest" + }, + "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 a DataBuildToolJob definition example": { + "$ref": "./examples/UpdateDataBuildToolJobDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataBuildToolJobs/{dataBuildToolJobId}/jobs/execute/instances": { + "post": { + "summary": "Run on-demand DataBuildToolJob execute job instance.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n- The caller must have a *member* or higher workspace role.\n\n## Required Delegated Scopes\n\nItem.Execute.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_RunOnDemandExecute", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataBuildToolJobId", + "description": "The DataBuildToolJob item ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "202": { + "description": "Request accepted, job execution is in progress.\n\n---\n**Headers:**\n\n**Location** `string` - The URL to the job instance resource.\n\n**Retry-After** `integer` - The number of seconds the client should wait before polling the job status for the first time. Clients must use this value to determine when to check the job status and should wait at least this many seconds before the first status poll." + }, + "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* MissingMinimalPermissions - The caller does not have sufficient permissions to run job instance. \n\n* InvalidJobType - The requested job type is invalid. \n\n* TooManyRequestsForJobs - The caller is making too many run on-demand job requests. \n\n* ItemNotFound - Requested item id not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Run DataBuildToolJob execute job instance example": { + "$ref": "./examples/RunOnDemandDataBuildToolJobNoBody.json" + } + } + } + }, + "/workspaces/{workspaceId}/dataBuildToolJobs/{dataBuildToolJobId}/jobs/execute/schedules": { + "post": { + "summary": "Create a new execute schedule for a DataBuildToolJob.", + "description": "> [!NOTE]\n> DataBuildToolJob item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n- The caller must have a *member* or higher workspace role.\n\n## Required Delegated Scopes\n\nItem.Execute.All and Item.ReadWrite.All\n\n## Limitations\n\nA DataBuildToolJob can create maximum 20 schedules.\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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_ScheduleDataBuildToolJob", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataBuildToolJobId", + "description": "The DataBuildToolJob ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createScheduleRequest", + "description": "A DataBuildToolJob execute schedule create request.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateDataBuildToolJobExecuteScheduleRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created the schedule.\n\n---\n**Headers:**\n\n**Location** `string` - The URL of the newly created schedule.", + "schema": { + "$ref": "./definitions.json#/definitions/DataBuildToolJobExecuteSchedule" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found\n\n* ScheduleExceedsLimit - The number of created schedules for the item exceeds the limit", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create DataBuildToolJob Execute schedule example": { + "$ref": "./examples/CreateDataBuildToolJobExecuteSchedule.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/definitions.json index 2b96f57da6..b8264995ce 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/definitions.json @@ -159,6 +159,62 @@ "$ref": "../common/job_scheduling.json#/definitions/BaseCreateScheduleRequest" } ] + }, + "UpdateDataPipelineExecuteScheduleRequest": { + "description": "Update data pipeline execute schedule request payload.", + "type": "object", + "allOf": [ + { + "$ref": "../common/job_scheduling.json#/definitions/BaseUpdateScheduleRequest" + } + ] + }, + "DataPipelineExecuteSchedules": { + "description": "A list of data pipeline execute schedules.", + "required": ["value"], + "type": "object", + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ], + "properties": { + "value": { + "description": "A list of data pipeline execute schedules.", + "type": "array", + "items": { + "$ref": "#/definitions/DataPipelineExecuteSchedule" + } + } + } + }, + "DataPipelineExecuteJobInstance": { + "description": "A data pipeline execute job instance.", + "type": "object", + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/ItemJobInstance" + } + ] + }, + "DataPipelineExecuteJobInstances": { + "description": "A list of data pipeline execute job instances.", + "required": ["value"], + "type": "object", + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ], + "properties": { + "value": { + "description": "A list of data pipeline execute job instances.", + "type": "array", + "items": { + "$ref": "#/definitions/DataPipelineExecuteJobInstance" + } + } + } } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/DeleteDataPipelineExecuteSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/DeleteDataPipelineExecuteSchedule.json new file mode 100644 index 0000000000..30e2bb8d45 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/DeleteDataPipelineExecuteSchedule.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteJobInstance.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteJobInstance.json new file mode 100644 index 0000000000..b334c6de69 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteJobInstance.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobInstanceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + }, + "responses": { + "200": { + "body": { + "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "itemId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobType": "Execute", + "invokeType": "Manual", + "status": "Completed", + "rootActivityId": "11111111-2222-3333-4444-555555555555", + "startTimeUtc": "2024-06-22T06:35:00.7812154", + "endTimeUtc": "2024-06-22T06:35:00.8033333", + "failureReason": null + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteSchedule.json new file mode 100644 index 0000000000..a1d71dc62a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/GetDataPipelineExecuteSchedule.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteJobInstances.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteJobInstances.json new file mode 100644 index 0000000000..6c30fab200 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteJobInstances.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "itemId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobType": "Execute", + "invokeType": "Manual", + "status": "Completed", + "rootActivityId": "11111111-2222-3333-4444-555555555555", + "startTimeUtc": "2024-06-22T06:35:00.7812154", + "endTimeUtc": "2024-06-22T06:35:00.8033333", + "failureReason": null + }, + { + "id": "cccccccc-3333-4444-5555-dddddddddddd", + "itemId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobType": "Execute", + "invokeType": "Scheduled", + "status": "Completed", + "rootActivityId": "22222222-3333-4444-5555-666666666666", + "startTimeUtc": "2024-06-22T07:35:00.7812154", + "endTimeUtc": "2024-06-22T08:35:00.8033333", + "failureReason": null + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteSchedules.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteSchedules.json new file mode 100644 index 0000000000..001cf8a872 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/ListDataPipelineExecuteSchedules.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + }, + { + "id": "cccccccc-2222-3333-4444-dddddddddddd", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Weekly", + "weekdays": ["Monday", "Tuesday"], + "times": ["18:09", "17:12"] + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/UpdateDataPipelineExecuteSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/UpdateDataPipelineExecuteSchedule.json new file mode 100644 index 0000000000..5ad9a58b19 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/examples/UpdateDataPipelineExecuteSchedule.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataPipelineId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "updateScheduleRequest": { + "enabled": true, + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + } + } + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2026-03-28T00:00:00", + "endDateTime": "2026-03-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/swagger.json index 4828bf9fe3..2de5749300 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataPipeline/swagger.json @@ -566,9 +566,80 @@ } }, "/workspaces/{workspaceId}/dataPipelines/{dataPipelineId}/jobs/execute/schedules": { + "get": { + "summary": "Returns a list of execute schedules for the specified data pipeline.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Required Delegated Scopes\n\nDataPipeline.Read.All or DataPipeline.ReadWrite.All or Item.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_ListExecuteSchedules", + "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": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": 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/DataPipelineExecuteSchedules" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List data pipeline execute schedules example": { + "$ref": "./examples/ListDataPipelineExecuteSchedules.json" + } + } + }, "post": { "summary": "Create a new execute schedule for a data pipeline.", - "description": "## Permissions\n\n- The caller must have a *member* or higher workspace role.\n\n## Required Delegated Scopes: \n\n(DataPipeline.Execute.All or Item.Execute.All) and (DataPipeline.ReadWrite.All or Item.ReadWrite.All)\n\n## Limitations \nA data pipeline can create maximum 20 schedulers.\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", + "description": "## Required Delegated Scopes: \n\n(DataPipeline.Execute.All or Item.Execute.All) and (DataPipeline.ReadWrite.All or Item.ReadWrite.All)\n\n## Limitations \nA data pipeline can create maximum 20 schedulers.\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": [ "BackgroundJobs" ], @@ -643,10 +714,299 @@ } } }, + "/workspaces/{workspaceId}/dataPipelines/{dataPipelineId}/jobs/execute/schedules/{scheduleId}": { + "get": { + "summary": "Returns the specified execute schedule for a data pipeline.", + "description": "## Required Delegated Scopes\n\nDataPipeline.Read.All or DataPipeline.ReadWrite.All or Item.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_GetExecuteSchedule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "scheduleId", + "description": "The data pipeline schedule ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataPipelineExecuteSchedule" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get data pipeline execute schedule example": { + "$ref": "./examples/GetDataPipelineExecuteSchedule.json" + } + } + }, + "patch": { + "summary": "Updates the specified execute schedule for a data pipeline.", + "description": "## Required Delegated Scopes: \n\n(DataPipeline.Execute.All or Item.Execute.All) and (DataPipeline.ReadWrite.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_UpdateExecuteSchedule", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "scheduleId", + "description": "The data pipeline schedule ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateScheduleRequest", + "description": "A data pipeline execute schedule update request.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateDataPipelineExecuteScheduleRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/DataPipelineExecuteSchedule" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item id not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update data pipeline execute schedule example": { + "$ref": "./examples/UpdateDataPipelineExecuteSchedule.json" + } + } + }, + "delete": { + "summary": "Deletes the specified execute schedule for a data pipeline.", + "description": "## Required Delegated Scopes\n\nDataPipeline.ReadWrite.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_DeleteExecuteSchedule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "scheduleId", + "description": "The data pipeline schedule ID.", + "type": "string", + "format": "uuid", + "required": 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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item\n\n* ItemNotFound - Requested item ID not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete data pipeline execute schedule example": { + "$ref": "./examples/DeleteDataPipelineExecuteSchedule.json" + } + } + } + }, "/workspaces/{workspaceId}/dataPipelines/{dataPipelineId}/jobs/execute/instances": { + "get": { + "summary": "Returns a list of execute job instances for the specified data pipeline.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Required Delegated Scopes\n\nDataPipeline.Read.All or DataPipeline.ReadWrite.All or Item.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_ListExecuteJobInstances", + "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": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": 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/DataPipelineExecuteJobInstances" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item.\n\n* ItemNotFound - Requested item id not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List data pipeline execute job instances example": { + "$ref": "./examples/ListDataPipelineExecuteJobInstances.json" + } + } + }, "post": { "summary": "Runs an on-demand execute job instance.", - "description": "## Permissions\n\n- The caller must have a *member* or higher workspace role.\n\n## Required Delegated Scopes\n\n- Specific scope: DataPipeline.Execute.All or Item.Execute.All \n\n for more information about scopes, see: [scopes article](/rest/api/fabric/articles/scopes).\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", + "description": "## Required Delegated Scopes\n\n- Specific scope: DataPipeline.Execute.All or Item.Execute.All \n\n for more information about scopes, see: [scopes article](/rest/api/fabric/articles/scopes).\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": [ "BackgroundJobs" ], @@ -702,6 +1062,77 @@ } } } + }, + "/workspaces/{workspaceId}/dataPipelines/{dataPipelineId}/jobs/execute/instances/{jobInstanceId}": { + "get": { + "summary": "Returns the specified execute job instance for a data pipeline.", + "description": "## Required Delegated Scopes\n\nDataPipeline.Read.All or DataPipeline.ReadWrite.All or Item.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": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_GetExecuteJobInstance", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "dataPipelineId", + "description": "The data pipeline ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "jobInstanceId", + "description": "The job instance ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.\n\n---\n**Headers:**\n\n**Retry-After** `integer` - The number of seconds to wait before checking the status of the job instance.", + "schema": { + "$ref": "./definitions.json#/definitions/DataPipelineExecuteJobInstance" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item.\n\n* ItemNotFound - Requested item id not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get data pipeline execute job instance example": { + "$ref": "./examples/GetDataPipelineExecuteJobInstance.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json index 5d5b076a87..c9a433dc1f 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json @@ -207,11 +207,45 @@ "description": "A list of parameters to override during execution.", "type": "array", "items": { - "$ref": "../platform/definitions/platform.json#/definitions/ItemJobParameter" + "$ref": "#/definitions/ItemJobParameter" } } } }, + "ItemJobParameter": { + "description": "Parameter details.", + "type": "object", + "required": [ + "parameterName", + "type", + "value" + ], + "properties": { + "parameterName": { + "description": "Name of the parameter.", + "type": "string" + }, + "type": { + "description": "The parameter type. Additional parameter types may be added over time.", + "type": "string", + "enum": [ "Automatic" ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true, + "values": [ + { + "value": "Automatic", + "description": "Value must be Automatic" + } + ] + } + }, + "value": { + "description": "The value of the parameter to override during execution.", + "type": "object" + } + } + }, "ExecuteQueryRequest": { "description": "Request payload for executing a query against a dataflow.", "type": "object", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/CreateDataflow.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/CreateDataflow.json index a3db67553e..cc70b3dcff 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/CreateDataflow.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/CreateDataflow.json @@ -8,12 +8,17 @@ "parts": [ { "path": "queryMetadata.json", - "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", + "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfSwKICAgICJNREYgdHJhbnNmb3JtIjogewogICAgICAicXVlcnlJZCI6ICI5YzZkN2M4Ny04M2RiLTQ3MTgtYjM4Mi1jMGMxYWExNjM2ZDciLAogICAgICAicXVlcnlOYW1lIjogIk1ERiB0cmFuc2Zvcm0iLAogICAgICAibG9hZEVuYWJsZWQiOiBmYWxzZQogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", "payloadType": "InlineBase64" }, { "path": "mashup.pq", - "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwo=", + "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwpbSXRlbVR5cGUgPSAiTURGIl0Kc2hhcmVkICMiTURGIHRyYW5zZm9ybSIgPSAiX19fRXh0ZXJuYWxSZXNvdXJjZS1QbGFjZWhvbGRlcl9fXyI7Cg==", + "payloadType": "InlineBase64" + }, + { + "path": "MDF transform.mdf", + "payload": "ewogICAgIm5hbWUiOiAiTURGIiwKICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJ0eXBlIjogIk1hcHBpbmdEYXRhRmxvdyIsCiAgICAgICAgInR5cGVQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291cmNlcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJzb3VyY2UxIiwKICAgICAgICAgICAgICAgICAgICAiZXh0ZXJuYWxSZWZlcmVuY2VzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdGlvbiI6ICI8c291cmNlMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2lua3MiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2luazEiLAogICAgICAgICAgICAgICAgICAgICJleHRlcm5hbFJlZmVyZW5jZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb25uZWN0aW9uIjogIjxzaW5rMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAidHJhbnNmb3JtYXRpb25zIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRlcml2ZWRDb2x1bW4xIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2NyaXB0TGluZXMiOiBbCiAgICAgICAgICAgICAgICAic291cmNlKG91dHB1dCgiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW4xIGFzIHNob3J0LCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjIgYXMgc3RyaW5nLCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjMgYXMgZGF0ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW40IGFzIGJvb2xlYW4sIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNSBhcyBzdHJpbmcsIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNiBhcyBkb3VibGUiLAogICAgICAgICAgICAgICAgIiAgICAgKSwiLAogICAgICAgICAgICAgICAgIiAgICAgdXNlU2NoZW1hOiBmYWxzZSwiLAogICAgICAgICAgICAgICAgIiAgICAgYWxsb3dTY2hlbWFEcmlmdDogdHJ1ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgdmFsaWRhdGVTY2hlbWE6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBpZ25vcmVOb0ZpbGVzRm91bmQ6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBmb3JtYXQ6ICdkZWxpbWl0ZWQnLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnZm9sZGVyMScsIiwKICAgICAgICAgICAgICAgICIgICAgIGZpbGVOYW1lOiAnZmlsZTEuY3N2JywiLAogICAgICAgICAgICAgICAgIiAgICAgY29sdW1uRGVsaW1pdGVyOiAnLCcsIiwKICAgICAgICAgICAgICAgICIgICAgIGVzY2FwZUNoYXI6ICdcXFxcJywiLAogICAgICAgICAgICAgICAgIiAgICAgcXVvdGVDaGFyOiAnXFxcIicsIiwKICAgICAgICAgICAgICAgICIgICAgIGNvbHVtbk5hbWVzQXNIZWFkZXI6IHRydWUpIH4+IHNvdXJjZTEiLAogICAgICAgICAgICAgICAgInNvdXJjZTEgZGVyaXZlKGlzQ29sdW1uNkdyZWF0ZXJUaGFuMTAgPSBDb2x1bW42PjEwKSB+PiBkZXJpdmVkQ29sdW1uMSIsCiAgICAgICAgICAgICAgICAiZGVyaXZlZENvbHVtbjEgc2luayhhbGxvd1NjaGVtYURyaWZ0OiB0cnVlLCIsCiAgICAgICAgICAgICAgICAiICAgICB2YWxpZGF0ZVNjaGVtYTogZmFsc2UsIiwKICAgICAgICAgICAgICAgICIgICAgIGZvcm1hdDogJ2pzb24nLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnb3V0cHV0MScsIiwKICAgICAgICAgICAgICAgICIgICAgIHVtYXNrOiAwMDIyLCIsCiAgICAgICAgICAgICAgICAiICAgICBwcmVDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHBvc3RDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBJbnB1dHM6IHRydWUsIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBPdXRwdXRzOiB0cnVlKSB+PiBzaW5rMSIKICAgICAgICAgICAgXQogICAgICAgIH0KICAgIH0KfQ==", "payloadType": "InlineBase64" }, { diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/GetDataflowDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/GetDataflowDefinition.json index 51f8f87005..acf3ade59c 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/GetDataflowDefinition.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/GetDataflowDefinition.json @@ -1,7 +1,7 @@ { "parameters": { - "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", - "dataflowId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "dataflowId": "5b218778-e7a5-4d73-8187-f10824047715" }, "responses": { "200": { @@ -10,12 +10,17 @@ "parts": [ { "path": "queryMetadata.json", - "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", + "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfSwKICAgICJNREYgdHJhbnNmb3JtIjogewogICAgICAicXVlcnlJZCI6ICI5YzZkN2M4Ny04M2RiLTQ3MTgtYjM4Mi1jMGMxYWExNjM2ZDciLAogICAgICAicXVlcnlOYW1lIjogIk1ERiB0cmFuc2Zvcm0iLAogICAgICAibG9hZEVuYWJsZWQiOiBmYWxzZQogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", "payloadType": "InlineBase64" }, { "path": "mashup.pq", - "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwo=", + "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwpbSXRlbVR5cGUgPSAiTURGIl0Kc2hhcmVkICMiTURGIHRyYW5zZm9ybSIgPSAiX19fRXh0ZXJuYWxSZXNvdXJjZS1QbGFjZWhvbGRlcl9fXyI7Cg==", + "payloadType": "InlineBase64" + }, + { + "path": "MDF transform.mdf", + "payload": "ewogICAgIm5hbWUiOiAiTURGIiwKICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJ0eXBlIjogIk1hcHBpbmdEYXRhRmxvdyIsCiAgICAgICAgInR5cGVQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291cmNlcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJzb3VyY2UxIiwKICAgICAgICAgICAgICAgICAgICAiZXh0ZXJuYWxSZWZlcmVuY2VzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdGlvbiI6ICI8c291cmNlMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2lua3MiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2luazEiLAogICAgICAgICAgICAgICAgICAgICJleHRlcm5hbFJlZmVyZW5jZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb25uZWN0aW9uIjogIjxzaW5rMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAidHJhbnNmb3JtYXRpb25zIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRlcml2ZWRDb2x1bW4xIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2NyaXB0TGluZXMiOiBbCiAgICAgICAgICAgICAgICAic291cmNlKG91dHB1dCgiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW4xIGFzIHNob3J0LCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjIgYXMgc3RyaW5nLCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjMgYXMgZGF0ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW40IGFzIGJvb2xlYW4sIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNSBhcyBzdHJpbmcsIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNiBhcyBkb3VibGUiLAogICAgICAgICAgICAgICAgIiAgICAgKSwiLAogICAgICAgICAgICAgICAgIiAgICAgdXNlU2NoZW1hOiBmYWxzZSwiLAogICAgICAgICAgICAgICAgIiAgICAgYWxsb3dTY2hlbWFEcmlmdDogdHJ1ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgdmFsaWRhdGVTY2hlbWE6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBpZ25vcmVOb0ZpbGVzRm91bmQ6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBmb3JtYXQ6ICdkZWxpbWl0ZWQnLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnZm9sZGVyMScsIiwKICAgICAgICAgICAgICAgICIgICAgIGZpbGVOYW1lOiAnZmlsZTEuY3N2JywiLAogICAgICAgICAgICAgICAgIiAgICAgY29sdW1uRGVsaW1pdGVyOiAnLCcsIiwKICAgICAgICAgICAgICAgICIgICAgIGVzY2FwZUNoYXI6ICdcXFxcJywiLAogICAgICAgICAgICAgICAgIiAgICAgcXVvdGVDaGFyOiAnXFxcIicsIiwKICAgICAgICAgICAgICAgICIgICAgIGNvbHVtbk5hbWVzQXNIZWFkZXI6IHRydWUpIH4+IHNvdXJjZTEiLAogICAgICAgICAgICAgICAgInNvdXJjZTEgZGVyaXZlKGlzQ29sdW1uNkdyZWF0ZXJUaGFuMTAgPSBDb2x1bW42PjEwKSB+PiBkZXJpdmVkQ29sdW1uMSIsCiAgICAgICAgICAgICAgICAiZGVyaXZlZENvbHVtbjEgc2luayhhbGxvd1NjaGVtYURyaWZ0OiB0cnVlLCIsCiAgICAgICAgICAgICAgICAiICAgICB2YWxpZGF0ZVNjaGVtYTogZmFsc2UsIiwKICAgICAgICAgICAgICAgICIgICAgIGZvcm1hdDogJ2pzb24nLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnb3V0cHV0MScsIiwKICAgICAgICAgICAgICAgICIgICAgIHVtYXNrOiAwMDIyLCIsCiAgICAgICAgICAgICAgICAiICAgICBwcmVDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHBvc3RDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBJbnB1dHM6IHRydWUsIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBPdXRwdXRzOiB0cnVlKSB+PiBzaW5rMSIKICAgICAgICAgICAgXQogICAgICAgIH0KICAgIH0KfQ==", "payloadType": "InlineBase64" }, { diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/UpdateDataflowDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/UpdateDataflowDefinition.json index 9b0c80b225..4be899e8c0 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/UpdateDataflowDefinition.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/UpdateDataflowDefinition.json @@ -8,12 +8,17 @@ "parts": [ { "path": "queryMetadata.json", - "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", + "payload": "ewogICJmb3JtYXRWZXJzaW9uIjogIjIwMjUwMiIsCiAgImNvbXB1dGVFbmdpbmVTZXR0aW5ncyI6IHt9LAogICJuYW1lIjogIlRlc3REYXRhZmxvdyIsCiAgInF1ZXJ5R3JvdXBzIjogW10sCiAgImRvY3VtZW50TG9jYWxlIjogImVuLVVTIiwKICAicXVlcmllc01ldGFkYXRhIjogewogICAgInF1ZXJ5IjogewogICAgICAicXVlcnlJZCI6ICJiZTE3MjEwZi01YWNhLTQyMWEtOGMwYS1iZjYzMTQ4N2JiOGUiLAogICAgICAicXVlcnlOYW1lIjogIlF1ZXJ5IgogICAgfSwKICAgICJNREYgdHJhbnNmb3JtIjogewogICAgICAicXVlcnlJZCI6ICI5YzZkN2M4Ny04M2RiLTQ3MTgtYjM4Mi1jMGMxYWExNjM2ZDciLAogICAgICAicXVlcnlOYW1lIjogIk1ERiB0cmFuc2Zvcm0iLAogICAgICAibG9hZEVuYWJsZWQiOiBmYWxzZQogICAgfQogIH0sCiAgImNvbm5lY3Rpb25zIjogW10KfQ==", "payloadType": "InlineBase64" }, { "path": "mashup.pq", - "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwo=", + "payload": "W1N0YWdpbmdEZWZpbml0aW9uID0gW0tpbmQgPSAiRmFzdENvcHkiXV0Kc2VjdGlvbiBTZWN0aW9uMTsKc2hhcmVkIFF1ZXJ5ID0gbGV0CiAgU291cmNlID0gVGFibGUuRnJvbVJvd3MoSnNvbi5Eb2N1bWVudChCaW5hcnkuRGVjb21wcmVzcyhCaW5hcnkuRnJvbVRleHQoImk0NVdNbFRTVVhMT3p5bk56VE9LUjdDTmdleFluV2dsSXlSWkl5UlpJNlhZV0FBPSIsIEJpbmFyeUVuY29kaW5nLkJhc2U2NCksIENvbXByZXNzaW9uLkRlZmxhdGUpKSwgbGV0IF90ID0gKCh0eXBlIG51bGxhYmxlIHRleHQpIG1ldGEgW1NlcmlhbGl6ZWQuVGV4dCA9IHRydWVdKSBpbiB0eXBlIHRhYmxlIFtDb2x1bW4xID0gX3QsIENvbHVtbjIgPSBfdCwgQ29sdW1uMyA9IF90XSksCiAgIyJDaGFuZ2VkIGNvbHVtbiB0eXBlIiA9IFRhYmxlLlRyYW5zZm9ybUNvbHVtblR5cGVzKFNvdXJjZSwge3siQ29sdW1uMSIsIEludDY0LlR5cGV9LCB7IkNvbHVtbjIiLCB0eXBlIHRleHR9LCB7IkNvbHVtbjMiLCB0eXBlIHRleHR9fSkKaW4KICAjIkNoYW5nZWQgY29sdW1uIHR5cGUiOwpbSXRlbVR5cGUgPSAiTURGIl0Kc2hhcmVkICMiTURGIHRyYW5zZm9ybSIgPSAiX19fRXh0ZXJuYWxSZXNvdXJjZS1QbGFjZWhvbGRlcl9fXyI7Cg==", + "payloadType": "InlineBase64" + }, + { + "path": "MDF transform.mdf", + "payload": "ewogICAgIm5hbWUiOiAiTURGIiwKICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJ0eXBlIjogIk1hcHBpbmdEYXRhRmxvdyIsCiAgICAgICAgInR5cGVQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291cmNlcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJzb3VyY2UxIiwKICAgICAgICAgICAgICAgICAgICAiZXh0ZXJuYWxSZWZlcmVuY2VzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdGlvbiI6ICI8c291cmNlMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2lua3MiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2luazEiLAogICAgICAgICAgICAgICAgICAgICJleHRlcm5hbFJlZmVyZW5jZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJjb25uZWN0aW9uIjogIjxzaW5rMUNvbm5lY3Rpb25JZD4iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAidHJhbnNmb3JtYXRpb25zIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogImRlcml2ZWRDb2x1bW4xIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic2NyaXB0TGluZXMiOiBbCiAgICAgICAgICAgICAgICAic291cmNlKG91dHB1dCgiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW4xIGFzIHNob3J0LCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjIgYXMgc3RyaW5nLCIsCiAgICAgICAgICAgICAgICAiICAgICAgICAgIENvbHVtbjMgYXMgZGF0ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgICAgICBDb2x1bW40IGFzIGJvb2xlYW4sIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNSBhcyBzdHJpbmcsIiwKICAgICAgICAgICAgICAgICIgICAgICAgICAgQ29sdW1uNiBhcyBkb3VibGUiLAogICAgICAgICAgICAgICAgIiAgICAgKSwiLAogICAgICAgICAgICAgICAgIiAgICAgdXNlU2NoZW1hOiBmYWxzZSwiLAogICAgICAgICAgICAgICAgIiAgICAgYWxsb3dTY2hlbWFEcmlmdDogdHJ1ZSwiLAogICAgICAgICAgICAgICAgIiAgICAgdmFsaWRhdGVTY2hlbWE6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBpZ25vcmVOb0ZpbGVzRm91bmQ6IGZhbHNlLCIsCiAgICAgICAgICAgICAgICAiICAgICBmb3JtYXQ6ICdkZWxpbWl0ZWQnLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnZm9sZGVyMScsIiwKICAgICAgICAgICAgICAgICIgICAgIGZpbGVOYW1lOiAnZmlsZTEuY3N2JywiLAogICAgICAgICAgICAgICAgIiAgICAgY29sdW1uRGVsaW1pdGVyOiAnLCcsIiwKICAgICAgICAgICAgICAgICIgICAgIGVzY2FwZUNoYXI6ICdcXFxcJywiLAogICAgICAgICAgICAgICAgIiAgICAgcXVvdGVDaGFyOiAnXFxcIicsIiwKICAgICAgICAgICAgICAgICIgICAgIGNvbHVtbk5hbWVzQXNIZWFkZXI6IHRydWUpIH4+IHNvdXJjZTEiLAogICAgICAgICAgICAgICAgInNvdXJjZTEgZGVyaXZlKGlzQ29sdW1uNkdyZWF0ZXJUaGFuMTAgPSBDb2x1bW42PjEwKSB+PiBkZXJpdmVkQ29sdW1uMSIsCiAgICAgICAgICAgICAgICAiZGVyaXZlZENvbHVtbjEgc2luayhhbGxvd1NjaGVtYURyaWZ0OiB0cnVlLCIsCiAgICAgICAgICAgICAgICAiICAgICB2YWxpZGF0ZVNjaGVtYTogZmFsc2UsIiwKICAgICAgICAgICAgICAgICIgICAgIGZvcm1hdDogJ2pzb24nLCIsCiAgICAgICAgICAgICAgICAiICAgICBmaWxlU3lzdGVtOiAnb3V0cHV0MScsIiwKICAgICAgICAgICAgICAgICIgICAgIHVtYXNrOiAwMDIyLCIsCiAgICAgICAgICAgICAgICAiICAgICBwcmVDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHBvc3RDb21tYW5kczogW10sIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBJbnB1dHM6IHRydWUsIiwKICAgICAgICAgICAgICAgICIgICAgIHNraXBEdXBsaWNhdGVNYXBPdXRwdXRzOiB0cnVlKSB+PiBzaW5rMSIKICAgICAgICAgICAgXQogICAgICAgIH0KICAgIH0KfQ==", "payloadType": "InlineBase64" }, { diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json index 6912201357..887f569f43 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json @@ -929,7 +929,7 @@ "/workspaces/{workspaceId}/dataflows/{dataflowId}/executeQuery": { "post": { "summary": "Executes a query against a dataflow and returns the result.", - "description": "Executes a specified query against a dataflow and streams the results in Apache Arrow format. Supports using custom mashup documents for advanced scenarios.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\n The caller must have *execute* permissions for the dataflow.\n\n## Required Delegated Scopes\n\nDataflow.Execute.All or Item.Execute.All.\n\n## Limitations\n\nQueries can run for a maximum of 90 seconds.\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", + "description": "Executes a specified query against a dataflow and streams the result back to the caller. Supports using custom mashup documents for advanced scenarios.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have *execute* permissions for the dataflow.\n\n## Required Delegated Scopes\n\nDataflow.Execute.All or Item.Execute.All.\n\n## Limitations\n\nQueries can run for a maximum of 90 seconds.\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## Response formats\n\nUse the `Accept` header to negotiate the response media type. Today, the [Apache Arrow](https://arrow.apache.org/) streaming format is the only available response format; additional formats may be offered in the future.\n\n### Apache Arrow streaming format\n\n**Media type:** `application/vnd.apache.arrow.stream`\n\nWhen sending this media type, the `pq-arrow-version` media-type parameter is **required** and selects the Arrow encoding version:\n\n- `pq-arrow-version=1` — Original Apache Arrow encoding. Compatible with all dataflows, including those that connect through an on-premises data gateway.\n- `pq-arrow-version=2` — Newer Apache Arrow encoding with improved streaming performance. Not supported for dataflows that connect through an on-premises data gateway.\n\nExample: `Accept: application/vnd.apache.arrow.stream;pq-arrow-version=2`\n\nIf the `Accept` header is omitted entirely (or `*/*` is sent), the response defaults to `application/vnd.apache.arrow.stream;pq-arrow-version=1`.\n\n## Interface", "tags": [ "QueryExecution" ], @@ -958,6 +958,13 @@ "format": "uuid", "required": true }, + { + "in": "header", + "name": "Accept", + "description": "The desired media type of the response. See the operation description for the list of supported response formats. Today, only `application/vnd.apache.arrow.stream` is supported; when sending this media type, the `pq-arrow-version` parameter is required and must be either `1` or `2` (e.g. `application/vnd.apache.arrow.stream;pq-arrow-version=1`). If the header is omitted entirely, the default `application/vnd.apache.arrow.stream;pq-arrow-version=1` is used.", + "required": false, + "type": "string" + }, { "in": "body", "name": "executeQueryRequest", @@ -970,7 +977,7 @@ ], "responses": { "200": { - "description": "Query result was succesfully written. Results are streamed in Apache Arrow format. Refer to the [Arrow documentation](https://arrow.apache.org/docs/python/ipc.html#reading-from-stream-and-file-format-for-pandas) on how to read the stream in Python and other languages. \n\nErrors encountered during query execution or during streaming will be in an additional column at the end named 'PQ Arrow Metadata'. \n\nMedia Type: \"application/vnd.apache.arrow.stream\"", + "description": "Query result was successfully streamed. The response body is encoded in the media type negotiated via the request's `Accept` header (see the operation description for the list of supported response formats).\n\nWhen the response is in the Apache Arrow streaming format (`application/vnd.apache.arrow.stream`, the only format available today), results are streamed as Apache Arrow IPC; the Arrow encoding version returned matches the `pq-arrow-version` parameter sent on the request's `Accept` header (default `1`). Refer to the [Arrow documentation](https://arrow.apache.org/docs/python/ipc.html#reading-from-stream-and-file-format-for-pandas) on how to read the stream in Python and other languages. Errors encountered during query execution or streaming are reported in an additional column at the end named 'PQ Arrow Metadata'.", "schema": { "type": "file" } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json index 9408f3396c..e14945736f 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json @@ -25,6 +25,7 @@ "AzureServiceBus", "ConfluentCloud", "CustomEndpoint", + "FabricAnomalyDetectionEvents", "FabricCapacityOverviewEvents", "FabricJobEvents", "FabricOneLakeEvents", @@ -104,6 +105,10 @@ "value": "CustomEndpoint", "description": "The Custom Endpoint source type." }, + { + "value": "FabricAnomalyDetectionEvents", + "description": "The Fabric Anomaly Detection Events source type." + }, { "value": "FabricCapacityOverviewEvents", "description": "The Fabric Capacity Overview Events source type." @@ -352,6 +357,25 @@ ], "x-ms-discriminator-value": "CustomEndpoint" }, + "FabricAnomalyDetectionEventsSourceResponse": { + "type": "object", + "description": "Fabric Anomaly Detection Events source response.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "The properties of the Fabric Anomaly Detection Events source.", + "$ref": "#/definitions/FabricAnomalyDetectionEventsSourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SourceResponse" + } + ], + "x-ms-discriminator-value": "FabricAnomalyDetectionEvents" + }, "FabricCapacityOverviewEventsSourceResponse": { "type": "object", "description": "Fabric Capacity Overview Events source response.", @@ -530,7 +554,8 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BaseSQLCDCSourceProperties" + "description": "The properties of the Azure SQL DB CDC source.", + "$ref": "#/definitions/BaseSQLServerCDCSourceProperties" } }, "allOf": [ @@ -548,7 +573,8 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BaseSQLCDCSourceProperties" + "description": "The properties of the Azure SQL MI DB CDC source.", + "$ref": "#/definitions/BaseSQLServerCDCSourceProperties" } }, "allOf": [ @@ -566,7 +592,8 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BaseSQLCDCSourceProperties" + "description": "The properties of the SQL Server on VM DB CDC source.", + "$ref": "#/definitions/BaseSQLServerCDCSourceProperties" } }, "allOf": [ @@ -1015,6 +1042,41 @@ "description": "Custom endpoint events source properties.", "properties": {} }, + "FabricAnomalyDetectionEventsSourceProperties": { + "type": "object", + "description": "Fabric Anomaly Detection Events source properties.", + "properties": { + "workspaceId": { + "type": "string", + "description": "The workspace identifier.", + "format": "uuid" + }, + "itemId": { + "type": "string", + "description": "The item identifier.", + "format": "uuid" + }, + "configurationId": { + "type": "string", + "description": "The anomaly detection configuration identifier.", + "format": "uuid" + }, + "includedEventTypes": { + "type": "array", + "description": "The list of event types to include. Supported values: Microsoft.Fabric.AnomalyDetection.AnomalyDetected. Additional event types may be added over time.", + "items": { + "type": "string" + } + }, + "filters": { + "type": "array", + "description": "The Azure Event Grid advanced filters to apply. Each entry is an advanced filter object as defined by Azure Event Grid. For details, see https://learn.microsoft.com/azure/event-grid/event-filtering#advanced-filtering.", + "items": { + "type": "object" + } + } + } + }, "FabricCapacityOverviewEventsSourceProperties": { "type": "object", "description": "Fabric Capacity Overview Events source properties.", @@ -1491,6 +1553,10 @@ ] }, "default": "None" + }, + "tlsSettings": { + "description": "The TLS settings for the Kafka connection.", + "$ref": "#/definitions/TLSSettings" } } }, @@ -1756,6 +1822,95 @@ } ] } + }, + "snapshotMode": { + "type": "string", + "description": "Specifies how the initial snapshot of data is taken (for example, initial load, initial only, or no data).", + "enum": [ + "Initial", + "InitialOnly", + "NoData" + ], + "x-ms-enum": { + "name": "SnapshotMode", + "modelAsString": true, + "values": [ + { + "value": "Initial", + "description": "The snapshot mode is Initial." + }, + { + "value": "InitialOnly", + "description": "The snapshot mode is InitialOnly." + }, + { + "value": "NoData", + "description": "The snapshot mode is NoData." + } + ] + } + } + } + }, + "BaseSQLServerCDCSourceProperties": { + "type": "object", + "description": "Base SQL Server CDC source properties. Extends BaseSQLCDCSourceProperties with SQL Server-specific settings.", + "properties": { + "excludedColumns": { + "type": "string", + "description": "The comma-separated list of columns to exclude from capture." + }, + "databaseApplicationIntent": { + "type": "string", + "description": "Specifies the application intent for the database connection.", + "enum": [ + "ReadWrite", + "ReadOnly" + ], + "x-ms-enum": { + "name": "DatabaseApplicationIntent", + "modelAsString": true, + "values": [ + { + "value": "ReadWrite", + "description": "The database application intent is ReadWrite." + }, + { + "value": "ReadOnly", + "description": "The database application intent is ReadOnly." + } + ] + } + }, + "snapshotSelectStatementOverrides": { + "type": "array", + "description": "The snapshot select statement overrides. Each entry specifies a table and a custom SELECT statement to use for the initial snapshot.", + "items": { + "$ref": "#/definitions/SnapshotSelectStatementOverrideItem" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseSQLCDCSourceProperties" + } + ] + }, + "SnapshotSelectStatementOverrideItem": { + "type": "object", + "description": "Represents a snapshot select statement override for a specific table.", + "required": [ + "tableName", + "selectStatement" + ], + "properties": { + "tableName": { + "type": "string", + "description": "The table name." + }, + "selectStatement": { + "type": "string", + "description": "The custom SELECT statement to use for the initial snapshot." } } }, @@ -1780,7 +1935,8 @@ "description": "Specifies the locking strategy used when taking the initial snapshot (for example, minimal locks vs extended locking for stronger consistency).", "enum": [ "Minimal", - "Extended" + "Extended", + "None" ], "x-ms-enum": { "name": "SnapshotLockingMode", @@ -1793,6 +1949,10 @@ { "value": "Extended", "description": "The snapshot locking mode is Extended." + }, + { + "value": "None", + "description": "The snapshot locking mode is None." } ] } @@ -1850,6 +2010,17 @@ } ] } + }, + "heartbeatActionQuery": { + "type": "string", + "description": "The heartbeat action query. A SQL statement executed periodically to keep the replication slot active." + }, + "snapshotSelectStatementOverrides": { + "type": "array", + "description": "The snapshot select statement overrides. Each entry specifies a table and a custom SELECT statement to use for the initial snapshot.", + "items": { + "$ref": "#/definitions/SnapshotSelectStatementOverrideItem" + } } }, "allOf": [ @@ -2051,6 +2222,10 @@ "topic": { "type": "string", "description": "The MQTT topic." + }, + "tlsSettings": { + "description": "The TLS settings for the MQTT connection.", + "$ref": "#/definitions/TLSSettings" } } }, @@ -2233,6 +2408,141 @@ "description": "The advanced filters defined in https://learn.microsoft.com/en-us/azure/event-grid/event-filtering#advanced-filtering." } } + }, + "TLSSettings": { + "type": "object", + "description": "Represents the TLS settings for a source connection.", + "properties": { + "trustCACertificate": { + "description": "The trust CA certificate settings.", + "$ref": "#/definitions/TrustCACertificate" + }, + "clientCertificate": { + "description": "The client certificate settings.", + "$ref": "#/definitions/ClientCertificate" + } + } + }, + "TrustCACertificate": { + "type": "object", + "description": "Represents the trust CA certificate settings.", + "required": [ + "verifyHostname" + ], + "properties": { + "certificate": { + "description": "The certificate resource.", + "$ref": "#/definitions/CertificateResource" + }, + "verifyHostname": { + "type": "boolean", + "description": "Determines whether the client verifies the broker's certificate hostname during the TLS handshake. When false, the client can connect even if the broker's certificate does not match its hostname." + }, + "cipherSuites": { + "type": "string", + "description": "The cipher suites to use for the TLS connection." + } + } + }, + "ClientCertificate": { + "type": "object", + "description": "Represents the client certificate settings.", + "properties": { + "certificate": { + "description": "The certificate resource.", + "$ref": "#/definitions/CertificateResource" + }, + "revocationMode": { + "type": "string", + "description": "The TLS certificate revocation mode. Additional modes may be added over time.", + "enum": [ + "Off", + "CRL", + "OCSP", + "CRLAndOCSP" + ], + "x-ms-enum": { + "name": "TLSRevocationMode", + "modelAsString": true, + "values": [ + { + "value": "Off", + "description": "Revocation checking is disabled." + }, + { + "value": "CRL", + "description": "Revocation checking uses CRL (Certificate Revocation List)." + }, + { + "value": "OCSP", + "description": "Revocation checking uses OCSP (Online Certificate Status Protocol)." + }, + { + "value": "CRLAndOCSP", + "description": "Revocation checking uses both CRL and OCSP." + } + ] + } + } + } + }, + "CertificateResource": { + "type": "object", + "description": "Base type for certificate resources. Additional types may be added over time.", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The certificate resource type.", + "$ref": "#/definitions/CertificateResourceType" + } + } + }, + "CertificateResourceType": { + "type": "string", + "description": "The certificate resource type. Additional types may be added over time.", + "enum": [ + "KeyVault" + ], + "x-ms-enum": { + "name": "CertificateResourceType", + "modelAsString": true, + "values": [ + { + "value": "KeyVault", + "description": "The certificate is stored in Azure Key Vault." + } + ] + } + }, + "KeyVaultCertificateResource": { + "type": "object", + "description": "A certificate stored in Azure Key Vault.", + "x-ms-discriminator-value": "KeyVault", + "allOf": [ + { + "$ref": "#/definitions/CertificateResource" + }, + { + "type": "object", + "required": [ + "azureKeyVaultResourceId", + "certificateName" + ], + "properties": { + "azureKeyVaultResourceId": { + "type": "string", + "description": "The Azure Key Vault resource ID (Azure Resource Manager (ARM) resource ID, not a UUID)." + }, + "certificateName": { + "type": "string", + "description": "The certificate name in the Key Vault." + } + } + } + ] } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json index f8e42c6a8b..9a4833a99e 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json @@ -134,6 +134,30 @@ }, "status": "Running" }, + { + "id": "b5c6d7e8-f9a0-4b1c-d2e3-f4a5b6c7d8e9", + "name": "FabricAnomalyDetectionEventsSource", + "type": "FabricAnomalyDetectionEvents", + "properties": { + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", + "configurationId": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f", + "includedEventTypes": [ + "Microsoft.Fabric.AnomalyDetection.AnomalyDetected" + ], + "filters": [ + { + "operatorType": "StringIn", + "key": "data.severity", + "values": [ + "High", + "Critical" + ] + } + ] + }, + "status": "Running" + }, { "id": "f9c8c1e2-1c5b-4c2a-8f3a-1a2b3c4d5e6f", "name": "FabricJobEventsSource", @@ -258,7 +282,25 @@ "consumerGroupName": "consumerGroupName", "autoOffsetReset": "Latest", "saslMechanism": "SCRAM-SHA-512", - "securityProtocol": "SASL_SSL" + "securityProtocol": "SASL_SSL", + "tlsSettings": { + "trustCACertificate": { + "certificate": { + "type": "KeyVault", + "azureKeyVaultResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myVault", + "certificateName": "my-ca-cert" + }, + "verifyHostname": true + }, + "clientCertificate": { + "certificate": { + "type": "KeyVault", + "azureKeyVaultResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myVault", + "certificateName": "my-client-cert" + }, + "revocationMode": "CRL" + } + } }, "status": "Running" }, @@ -292,8 +334,17 @@ "type": "AzureSQLDBCDC", "properties": { "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "decimalHandlingMode": "Precise" + "tableName": "dbo.Orders", + "decimalHandlingMode": "Precise", + "snapshotMode": "InitialOnly", + "excludedColumns": "dbo.Orders.secret_col,dbo.Orders.internal_col", + "databaseApplicationIntent": "ReadOnly", + "snapshotSelectStatementOverrides": [ + { + "tableName": "dbo.Orders", + "selectStatement": "SELECT * FROM dbo.Orders WHERE active = 1" + } + ] }, "status": "Running" }, @@ -303,8 +354,11 @@ "type": "AzureSQLMIDBCDC", "properties": { "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "decimalHandlingMode": "Double" + "tableName": "dbo.Products", + "decimalHandlingMode": "Double", + "snapshotMode": "Initial", + "excludedColumns": "dbo.Products.internal_flag", + "databaseApplicationIntent": "ReadWrite" }, "status": "Running" }, @@ -314,8 +368,9 @@ "type": "SQLServerOnVMDBCDC", "properties": { "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "decimalHandlingMode": "String" + "tableName": "dbo.Inventory", + "decimalHandlingMode": "String", + "snapshotMode": "NoData" }, "status": "Running" }, @@ -325,9 +380,11 @@ "type": "MySQLCDC", "properties": { "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "serverId": 9, + "tableName": "inventory.products", + "serverId": 12345, "port": 3306, + "decimalHandlingMode": "Precise", + "snapshotMode": "Initial", "snapshotLockingMode": "Minimal" }, "status": "Running" @@ -338,11 +395,20 @@ "type": "PostgreSQLCDC", "properties": { "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "slotName": "slotName", + "tableName": "public.orders", + "slotName": "my_slot", "port": 5432, + "decimalHandlingMode": "Double", + "snapshotMode": "InitialOnly", "publicationName": "my_publication", - "publicationAutoCreateMode": "Filtered" + "publicationAutoCreateMode": "AllTables", + "heartbeatActionQuery": "INSERT INTO heartbeat (ts) VALUES (NOW())", + "snapshotSelectStatementOverrides": [ + { + "tableName": "public.orders", + "selectStatement": "SELECT * FROM public.orders WHERE created_at >= '2025-01-01'" + } + ] }, "status": "Running" }, @@ -401,7 +467,17 @@ "properties": { "dataConnectionId": "6950656c-9f6d-48e8-b7d1-6cf9eb7cca28", "serverVersion": "V5", - "topic": "mqttTopicName" + "topic": "mqttTopicName", + "tlsSettings": { + "trustCACertificate": { + "certificate": { + "type": "KeyVault", + "azureKeyVaultResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myVault", + "certificateName": "my-mqtt-ca-cert" + }, + "verifyHostname": true + } + } }, "status": "Running" }, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json index 18daecfe8c..43269fd2a5 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json @@ -150,27 +150,45 @@ "required": ["id", "enabled"], "allOf": [ { - "$ref": "../platform/definitions/platform.json#/definitions/ItemSchedule" + "$ref": "../common/job_scheduling.json#/definitions/BaseItemSchedule" } - ] + ], + "properties": { + "executionData": { + "description": "The execution data for the refresh materialized lake views.", + "$ref": "#/definitions/RefreshMaterializedLakeViewsExecutionData" + } + } }, "CreateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { "description": "Create lakehouse refresh materialized lake views schedule request payload.", "type": "object", "allOf": [ { - "$ref": "../platform/definitions/platform.json#/definitions/CreateScheduleRequest" + "$ref": "../common/job_scheduling.json#/definitions/BaseCreateScheduleRequest" } - ] + ], + "properties": { + "executionData": { + "description": "The execution data for the refresh materialized lake views.", + "$ref": "#/definitions/RefreshMaterializedLakeViewsExecutionData" + } + } }, "UpdateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { "description": "Update lakehouse refresh materialized lake views schedule request payload.", "type": "object", "allOf": [ { - "$ref": "../platform/definitions/platform.json#/definitions/UpdateScheduleRequest" + "$ref": "../common/job_scheduling.json#/definitions/BaseUpdateScheduleRequest" } - ] + ], + "properties": { + "executionData": { + "description": "The execution data for the refresh materialized lake views.", + "$ref": "#/definitions/RefreshMaterializedLakeViewsExecutionData" + } + } }, "UpdateLakehouseDefinitionRequest": { "description": "Update Lakehouse public definition request payload.", @@ -509,6 +527,345 @@ "description": "Overrides the default retention period. Unreferenced files or data files associated with delta table versions older than the specified retention period are removed. This value should follow the pattern of `d:hh:mm:ss` where d is the number of days, hh is the number of hours between 00 and 23, mm is the number of minutes between 00 and 59, and ss is the number of seconds between 00 and 59." } } + }, + "MaterializedLakeViewExecutionDefinitions": { + "description": "A list of materialized lake view execution definitions.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of materialized lake view execution definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/MaterializedLakeViewExecutionDefinition" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "MaterializedLakeViewExecutionDefinition": { + "description": "A materialized lake views execution definition object.", + "type": "object", + "required": ["id", "displayName", "currentLakehouseExecutionContext"], + "properties": { + "id": { + "description": "The materialized lake views execution definition ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "displayName": { + "description": "The materialized lake views execution definition display name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "A short description of the materialized lake views execution definition.", + "type": "string", + "readOnly": false + }, + "settings": { + "description": "The materialized lake views execution definition settings.", + "$ref": "#/definitions/MaterializedLakeViewExecutionDefinitionSettingsResponse", + "readOnly": false + }, + "currentLakehouseExecutionContext": { + "description": "The current lakehouse execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/CurrentLakehouseExecutionContext", + "readOnly": false + }, + "extendedLineageExecutionContext": { + "description": "The extended lineage execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/ExtendedLineageExecutionContextResponse", + "readOnly": false + } + } + }, + "CreateMaterializedLakeViewExecutionDefinitionRequest": { + "description": "Create materialized lake views execution definition request payload.", + "type": "object", + "required": ["displayName", "currentLakehouseExecutionContext"], + "properties": { + "displayName": { + "description": "The materialized lake views execution definition display name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "A short description of the materialized lake views execution definition.", + "type": "string", + "readOnly": false + }, + "settings": { + "description": "The materialized lake views execution definition settings.", + "$ref": "#/definitions/MaterializedLakeViewExecutionDefinitionSettingsRequest", + "readOnly": false + }, + "currentLakehouseExecutionContext": { + "description": "The current lakehouse execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/CurrentLakehouseExecutionContext", + "readOnly": false + }, + "extendedLineageExecutionContext": { + "description": "The extended lineage execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/ExtendedLineageExecutionContextRequest", + "readOnly": false + } + } + }, + "UpdateMaterializedLakeViewExecutionDefinitionRequest": { + "description": "Update materialized lake views execution definition request payload. Only the fields provided are updated; omitted fields retain their existing values.", + "type": "object", + "properties": { + "displayName": { + "description": "The materialized lake views execution definition display name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "A short description of the materialized lake views execution definition.", + "type": "string", + "readOnly": false + }, + "settings": { + "description": "The materialized lake views execution definition settings.", + "$ref": "#/definitions/MaterializedLakeViewExecutionDefinitionSettingsRequest", + "readOnly": false + }, + "currentLakehouseExecutionContext": { + "description": "The current lakehouse execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/CurrentLakehouseExecutionContext", + "readOnly": false + }, + "extendedLineageExecutionContext": { + "description": "The extended lineage execution context for the materialized lake views execution definition.", + "$ref": "#/definitions/ExtendedLineageExecutionContextRequest", + "readOnly": false + } + } + }, + "MaterializedLakeViewExecutionDefinitionSettingsRequest": { + "description": "The materialized lake views execution definition settings.", + "type": "object", + "properties": { + "environment": { + "description": "The Spark environment reference to be used with the materialized lake views execution definition.", + "$ref": "../common/definitions.json#/definitions/ItemReferenceById", + "readOnly": false + }, + "refreshMode": { + "description": "The refresh mode setting to be used with the materialized lake views execution definition. Defaults to `Optimal` if not specified.", + "$ref": "#/definitions/RefreshMode", + "readOnly": false + } + } + }, + "MaterializedLakeViewExecutionDefinitionSettingsResponse": { + "description": "The materialized lake views execution definition settings (response).", + "type": "object", + "properties": { + "environment": { + "description": "The Spark environment reference to be used with the materialized lake views execution definition.", + "$ref": "../common/definitions.json#/definitions/ItemReference", + "readOnly": false + }, + "refreshMode": { + "description": "The refresh mode setting to be used with the materialized lake views execution definition. Defaults to `Optimal` if not specified.", + "$ref": "#/definitions/RefreshMode", + "readOnly": false + } + } + }, + "RefreshMode":{ + "type": "string", + "description": "The refresh mode for the execution definition. Additional `RefreshMode` types may be added over time.", + "enum": [ + "Optimal", + "Full" + ], + "x-ms-enum": { + "name": "RefreshMode", + "modelAsString": true, + "values": [ + { + "value": "Optimal", + "description": "This mode chooses the best strategy to maximize performance from among incremental, full, or no recompute while refreshing each materialized lake view." + }, + { + "value": "Full", + "description": "This mode enforces the full recompute for materialized lake views being refreshed." + } + ] + } + }, + "CurrentLakehouseExecutionContext": { + "description": "The current lakehouse execution context for a materialized lake views execution definition.", + "type": "object", + "required": ["mode"], + "discriminator": "mode", + "properties": { + "mode": { + "description": "The execution context mode for the current lakehouse.", + "$ref": "#/definitions/ExecutionContextMode", + "readOnly": false + } + } + }, + "CurrentLakehouseExecutionContextAll": { + "description": "Current lakehouse execution context where all materialized lake views are included.", + "type": "object", + "x-ms-discriminator-value": "All", + "allOf": [ + { + "$ref": "#/definitions/CurrentLakehouseExecutionContext" + } + ] + }, + "CurrentLakehouseExecutionContextSelected": { + "description": "Current lakehouse execution context where only selected materialized lake views are included.", + "type": "object", + "x-ms-discriminator-value": "Selected", + "allOf": [ + { + "$ref": "#/definitions/CurrentLakehouseExecutionContext" + } + ], + "properties": { + "selectedMlvs": { + "description": "The list of fully qualified names of materialized lake views from the current lakehouse to be refreshed.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": false + } + }, + "required": ["selectedMlvs"] + }, + "ExtendedLineageExecutionContextRequest": { + "description": "The extended lineage execution context for a materialized lake views execution definition.", + "type": "object", + "required": ["mode"], + "discriminator": "mode", + "properties": { + "mode": { + "description": "The execution context mode for extended lineage.", + "$ref": "#/definitions/ExecutionContextMode", + "readOnly": false + } + } + }, + "ExtendedLineageExecutionContextRequestAll": { + "description": "Extended lineage execution context where all lakehouses are included.", + "type": "object", + "x-ms-discriminator-value": "All", + "allOf": [ + { + "$ref": "#/definitions/ExtendedLineageExecutionContextRequest" + } + ] + }, + "ExtendedLineageExecutionContextRequestSelected": { + "description": "Extended lineage execution context where only selected lakehouses are included.", + "type": "object", + "x-ms-discriminator-value": "Selected", + "allOf": [ + { + "$ref": "#/definitions/ExtendedLineageExecutionContextRequest" + } + ], + "properties": { + "selectedLakehouses": { + "description": "The list of lakehouses to be included in refresh.", + "type": "array", + "items": { + "$ref": "../common/definitions.json#/definitions/ItemReferenceById" + }, + "readOnly": false + } + }, + "required": ["selectedLakehouses"] + }, + "ExtendedLineageExecutionContextResponse": { + "description": "The extended lineage execution context for a materialized lake views execution definition (response).", + "type": "object", + "required": ["mode"], + "discriminator": "mode", + "properties": { + "mode": { + "description": "The execution context mode for extended lineage.", + "$ref": "#/definitions/ExecutionContextMode", + "readOnly": false + } + } + }, + "ExtendedLineageExecutionContextResponseAll": { + "description": "Extended lineage execution context where all lakehouses are included (response).", + "type": "object", + "x-ms-discriminator-value": "All", + "allOf": [ + { + "$ref": "#/definitions/ExtendedLineageExecutionContextResponse" + } + ] + }, + "ExtendedLineageExecutionContextResponseSelected": { + "description": "Extended lineage execution context where only selected lakehouses are included (response).", + "type": "object", + "x-ms-discriminator-value": "Selected", + "allOf": [ + { + "$ref": "#/definitions/ExtendedLineageExecutionContextResponse" + } + ], + "properties": { + "selectedLakehouses": { + "description": "The list of lakehouses to be included in refresh.", + "type": "array", + "items": { + "$ref": "../common/definitions.json#/definitions/ItemReference" + }, + "readOnly": false + } + }, + "required": ["selectedLakehouses"] + }, + "ExecutionContextMode": { + "type": "string", + "description": "The execution context mode. Additional `ExecutionContextMode` types may be added over time.", + "enum": [ + "All", + "Selected" + ], + "x-ms-enum": { + "name": "ExecutionContextMode", + "modelAsString": true, + "values": [ + { + "value": "All", + "description": "All items are included in the execution boundary." + }, + { + "value": "Selected", + "description": "Only selected items are included in the execution boundary." + } + ] + } + }, + "RefreshMaterializedLakeViewsExecutionData": { + "description": "The execution data for the refresh materialized lake views.", + "type": "object", + "properties": { + "mlvExecutionDefinitionId": { + "type": "string", + "format": "uuid", + "description": "The MLV Execution Definition Id." + } + } } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateExecutionDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateExecutionDefinition.json new file mode 100644 index 0000000000..48abdcb62e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateExecutionDefinition.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "createMLVExecutionDefinitionRequest": { + "displayName": "Gold Chain – Sales", + "description": "Weekly report on Gold chain", + "settings": { + "environment": { + "referenceType": "ById", + "itemId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", + "workspaceId": "11111111-2222-3333-4444-555555555555" + }, + "refreshMode": "Optimal" + }, + "currentLakehouseExecutionContext": { + "mode": "Selected", + "selectedMlvs": [ + "schema.mlvName1" + ] + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/lakehouses/dddddddd-9999-0000-1111-eeeeeeeeeeee/mlvexecutiondefinitions/bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "displayName": "Gold Chain – Sales", + "description": "Weekly report on Gold chain", + "settings": { + "environment": { + "referenceType": "ById", + "itemId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", + "workspaceId": "11111111-2222-3333-4444-555555555555" + }, + "refreshMode": "Optimal" + }, + "currentLakehouseExecutionContext": { + "mode": "Selected", + "selectedMlvs": [ + "schema.mlvName1" + ] + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json index 1b2eb31081..e763083c93 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -11,6 +11,9 @@ "localTimeZoneId": "Central Standard Time", "type": "Cron", "interval": 10 + }, + "executionData": { + "mlvExecutionDefinitionId": "eeeeeeee-4444-5555-6666-ffffffffffff" } } }, @@ -30,6 +33,9 @@ "type": "Cron", "interval": 10 }, + "executionData": { + "mlvExecutionDefinitionId": "eeeeeeee-4444-5555-6666-ffffffffffff" + }, "owner": { "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", "type": "User" diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteExecutionDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteExecutionDefinition.json new file mode 100644 index 0000000000..aef14f13a8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteExecutionDefinition.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "mlvExecutionDefinitionId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/GetExecutionDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/GetExecutionDefinition.json new file mode 100644 index 0000000000..72e37dc592 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/GetExecutionDefinition.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "mlvExecutionDefinitionId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "displayName": "Gold Chain – Sales", + "description": "Weekly report on Gold chain", + "settings": { + "environment": { + "referenceType": "ById", + "itemId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", + "workspaceId": "11111111-2222-3333-4444-555555555555" + }, + "refreshMode": "Optimal" + }, + "currentLakehouseExecutionContext": { + "mode": "Selected", + "selectedMlvs": [ + "schema.mlvName1" + ] + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/ListExecutionDefinitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/ListExecutionDefinitions.json new file mode 100644 index 0000000000..ac00f8a0e5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/ListExecutionDefinitions.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "displayName": "Gold Chain – Sales", + "description": "Weekly report on Gold chain", + "settings": { + "environment": { + "referenceType": "ById", + "itemId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", + "workspaceId": "11111111-2222-3333-4444-555555555555" + }, + "refreshMode": "Optimal" + }, + "currentLakehouseExecutionContext": { + "mode": "Selected", + "selectedMlvs": [ + "schema.mlvName1" + ] + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + }, + { + "id": "dddddddd-5555-6666-7777-eeeeeeeeeeee", + "displayName": "Silver Chain – Inventory", + "currentLakehouseExecutionContext": { + "mode": "All" + } + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateExecutionDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateExecutionDefinition.json new file mode 100644 index 0000000000..4cb96ad4e3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateExecutionDefinition.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "mlvExecutionDefinitionId": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "updateMLVExecutionDefinitionRequest": { + "displayName": "Updated Gold Chain – Sales", + "settings": { + "refreshMode": "Full" + }, + "currentLakehouseExecutionContext": { + "mode": "All" + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "displayName": "Updated Gold Chain – Sales", + "description": "Weekly report on Gold chain", + "settings": { + "environment": { + "referenceType": "ById", + "itemId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", + "workspaceId": "11111111-2222-3333-4444-555555555555" + }, + "refreshMode": "Full" + }, + "currentLakehouseExecutionContext": { + "mode": "All" + }, + "extendedLineageExecutionContext": { + "mode": "Selected", + "selectedLakehouses": [ + { + "referenceType": "ById", + "itemId": "cccccccc-4444-5555-6666-dddddddddddd", + "workspaceId": "11111111-2222-3333-4444-555555555555" + } + ] + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json index 513037b6be..85b9c27d90 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -11,6 +11,9 @@ "localTimeZoneId": "Pacific Standard Time", "type": "Cron", "interval": 15 + }, + "executionData": { + "mlvExecutionDefinitionId": "eeeeeeee-4444-5555-6666-ffffffffffff" } } }, @@ -27,6 +30,9 @@ "type": "Cron", "interval": 15 }, + "executionData": { + "mlvExecutionDefinitionId": "eeeeeeee-4444-5555-6666-ffffffffffff" + }, "owner": { "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", "type": "User" diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json index d446cf942f..8e9dfd5b89 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json @@ -760,7 +760,7 @@ "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/refreshMaterializedLakeViews/schedules": { "post": { "summary": "Create a new Refresh MaterializedLakeViews schedule for a lakehouse.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.All or Item.ReadWrite.All)\n\n## Limitations \n- A lakehouse can create maximum 20 schedulers.\n- Materialized Lake View supports only one active refresh schedule per lineage.\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) | No |\n\n## Interface", + "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.All or Item.ReadWrite.All)\n\n## Limitations \n- A lakehouse can create maximum 20 schedulers.\n- Materialized Lake View supports only one active refresh schedule per lineage.\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": [ "BackgroundJobs" ], @@ -1092,7 +1092,7 @@ "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/refreshMaterializedLakeViews/instances": { "post": { "summary": "Run on-demand [Refresh MaterializedLakeViews](/fabric/data-engineering/materialized-lake-views/refresh-materialized-lake-view) job instance.", - "description": "> [!NOTE]\n> This API is part of a Preview 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> [!NOTE]\n> The URL for this API has been updated to include the job type as part of the path, replacing the previous use of a query parameter. For backward compatibility, invocations using the query parameter are still supported.\n\n## Required Delegated Scopes\n\nLakehouse.Execute.All or Item.Execute.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) | No |\n\n## Interface", + "description": "> [!NOTE]\n> This API is part of a Preview 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> [!NOTE]\n> The URL for this API has been updated to include the job type as part of the path, replacing the previous use of a query parameter. For backward compatibility, invocations using the query parameter are still supported.\n\n## Required Delegated Scopes\n\nLakehouse.Execute.All or Item.Execute.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": [ "BackgroundJobs" ], @@ -1152,7 +1152,7 @@ "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/refreshMaterializedLakeViews/schedules/{scheduleId}": { "patch": { "summary": "Update an existing Refresh MaterializedLakeViews schedule for a lakehouse.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.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) | No |\n\n## Interface", + "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes: \n\n(Lakehouse.Execute.All or Item.Execute.All) and (Lakehouse.ReadWrite.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": [ "BackgroundJobs" ], @@ -1233,7 +1233,7 @@ }, "delete": { "summary": "Delete an existing Refresh MaterializedLakeViews schedule for a lakehouse.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes\n\nLakehouse.ReadWrite.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) | No |\n\n## Interface", + "description": "> [!NOTE]\n> This API is part of a Preview 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## Required Delegated Scopes\n\nLakehouse.ReadWrite.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": [ "BackgroundJobs" ], @@ -1484,6 +1484,370 @@ } } } + }, + "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/mlvexecutiondefinitions": { + "post": { + "summary": "Creates a materialized lake views execution definition.", + "description": "## Permissions\n\nThe caller must have *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nLakehouse.ReadWrite.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": [ + "MaterializedLakeViews" + ], + "operationId": "MaterializedLakeViews_CreateMlvExecutionDefinition", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createMLVExecutionDefinitionRequest", + "description": "Create materialized lake views execution definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateMaterializedLakeViewExecutionDefinitionRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created the materialized lake views execution definition.\n\nResponse headers:\n\n* `Location` - The URL of the newly created materialized lake views execution definition.", + "schema": { + "$ref": "./definitions.json#/definitions/MaterializedLakeViewExecutionDefinition" + } + }, + "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* InvalidRequest - Request parameters are invalid or not in a supported format\n\n* InsufficientPrivileges - The caller does not have sufficient permissions\n\n* ItemNotFound - Requested item ID not found\n\n* ConflictingRequest - A conflicting materialized lake views execution definition already exists", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a materialized lake views execution definition example": { + "$ref": "./examples/CreateExecutionDefinition.json" + } + } + }, + "get": { + "summary": "Returns a list of materialized lake views execution definitions for a lakehouse.", + "description": "This 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\nLakehouse.Read.All or Lakehouse.ReadWrite.All or Item.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": [ + "MaterializedLakeViews" + ], + "operationId": "MaterializedLakeViews_ListMlvExecutionDefinitions", + "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": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": 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/MaterializedLakeViewExecutionDefinitions" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions\n\n* ItemNotFound - Requested item ID not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List materialized lake views execution definitions example": { + "$ref": "./examples/ListExecutionDefinitions.json" + } + } + } + }, + "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/mlvexecutiondefinitions/{mlvExecutionDefinitionId}": { + "get": { + "summary": "Returns the specified materialized lake views execution definition.", + "description": "## Permissions\n\nThe caller must have *viewer* or higher workspace role.\n\n## Required Delegated Scopes\n\nLakehouse.Read.All or Lakehouse.ReadWrite.All or Item.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": [ + "MaterializedLakeViews" + ], + "operationId": "MaterializedLakeViews_GetMlvExecutionDefinition", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "mlvExecutionDefinitionId", + "description": "The materialized lake views execution definition ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/MaterializedLakeViewExecutionDefinition" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions\n\n* ItemNotFound - Requested item ID not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a materialized lake views execution definition example": { + "$ref": "./examples/GetExecutionDefinition.json" + } + } + }, + "patch": { + "summary": "Updates the specified materialized lake views execution definition.", + "description": "Only the fields provided in the request body are updated; omitted fields retain their existing values.\n\n## Permissions\n\nThe caller must have *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nLakehouse.ReadWrite.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": [ + "MaterializedLakeViews" + ], + "operationId": "MaterializedLakeViews_UpdateMlvExecutionDefinition", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "mlvExecutionDefinitionId", + "description": "The materialized lake views execution definition ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateMLVExecutionDefinitionRequest", + "description": "Update materialized lake views execution definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateMaterializedLakeViewExecutionDefinitionRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/MaterializedLakeViewExecutionDefinition" + } + }, + "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* InvalidRequest - Request parameters are invalid or not in a supported format\n\n* InsufficientPrivileges - The caller does not have sufficient permissions\n\n* ItemNotFound - Requested item ID not found\n\n* ConflictingRequest - A conflicting update was detected", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a materialized lake views execution definition example": { + "$ref": "./examples/UpdateExecutionDefinition.json" + } + } + }, + "delete": { + "summary": "Deletes the specified materialized lake views execution definition.", + "description": "## Permissions\n\nThe caller must have *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nLakehouse.ReadWrite.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": [ + "MaterializedLakeViews" + ], + "operationId": "MaterializedLakeViews_DeleteMlvExecutionDefinition", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "mlvExecutionDefinitionId", + "description": "The materialized lake views execution definition ID.", + "type": "string", + "format": "uuid", + "required": 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* InsufficientPrivileges - The caller does not have sufficient permissions\n\n* ItemNotFound - Requested item ID not found", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a materialized lake views execution definition example": { + "$ref": "./examples/DeleteExecutionDefinition.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/notebook/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/notebook/definitions.json index 911f87fabe..b4011d7829 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/notebook/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/notebook/definitions.json @@ -166,7 +166,7 @@ "description": "The parameter list for run on-demand job request. Per-run, user-defined inputs to tailor this invocation. Note: parameter names are case-insensitive, but the casing must match the parameter name used in the code cell.", "type": "array", "items": { - "$ref": "../platform/definitions/platform.json#/definitions/Parameter" + "$ref": "../common/job_scheduling.json#/definitions/Parameter" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/definitions.json new file mode 100644 index 0000000000..142657816f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/definitions.json @@ -0,0 +1,190 @@ +{ + "swagger": "2.0", + "info": { + "title": "OrgApp data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "OrgApp": { + "description": "An OrgApp object.", + "type": "object", + "required": [ + "type" + ], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The OrgApp properties.", + "$ref": "#/definitions/OrgAppProperties" + } + } + }, + "OrgAppProperties": { + "description": "The OrgApp properties.", + "type": "object", + "required": [ + "oneLakeRootPath" + ], + "properties": { + "oneLakeRootPath": { + "description": "OneLake path to the OrgApp root directory.", + "type": "string" + } + } + }, + "OrgApps": { + "description": "A list of OrgApps.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The list of OrgApps.", + "type": "array", + "items": { + "$ref": "#/definitions/OrgApp" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateOrgAppRequest": { + "description": "Create OrgApp request payload.", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The OrgApp display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The OrgApp description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the OrgApp is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The OrgApp public definition.", + "$ref": "#/definitions/OrgAppPublicDefinition", + "readOnly": false + }, + "sensitivityLabelSettings": { + "description": "The sensitivity label settings for the OrgApp.", + "$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings", + "readOnly": false + } + } + }, + "UpdateOrgAppDefinitionRequest": { + "description": "Update OrgApp public definition request payload.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/OrgAppPublicDefinition" + } + } + }, + "OrgAppDefinitionResponse": { + "description": "OrgApp public definition response.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/OrgAppPublicDefinition", + "readOnly": true + } + } + }, + "OrgAppPublicDefinition": { + "description": "OrgApp public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/org-app-definition) for more details on the structure of the OrgApp definition.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the item definition. Additional `format` types may be added over time.", + "type": "string", + "enum": [ + "OrgAppV1" + ], + "x-ms-enum": { + "name": "OrgAppDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "OrgAppV1", + "description": "The V1 JSON format for the OrgApp public definition, specifically designed to support CI/CD scenarios in Fabric. See [OrgApp - OrgAppV1 specification](/rest/api/fabric/articles/item-management/definitions/org-app-definition/OrgAppV1) for more details." + } + ] + }, + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/OrgAppPublicDefinitionPart" + }, + "readOnly": false + } + } + }, + "OrgAppPublicDefinitionPart": { + "description": "OrgApp definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The OrgApp public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The OrgApp public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateOrgAppRequest": { + "description": "Update OrgApp request.", + "properties": { + "displayName": { + "description": "The OrgApp display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The OrgApp description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgApp.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgApp.json new file mode 100644 index 0000000000..ece405dbf1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgApp.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createOrgAppRequest": { + "displayName": "OrgApp 1", + "description": "A OrgApp description.", + "definition": { + "parts": [ + { + "path": "OrgAppV1.json", + "payload": "eyJleGVjdXRhYmxlRm..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "OrgApp 1", + "description": "A OrgApp description.", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgAppWithoutDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgAppWithoutDefinition.json new file mode 100644 index 0000000000..a6b21ee203 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/CreateOrgAppWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createOrgAppRequest": { + "displayName": "OrgApp 1", + "description": "A OrgApp description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "OrgApp 1", + "description": "A OrgApp description.", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/DeleteOrgApp.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/DeleteOrgApp.json new file mode 100644 index 0000000000..325a58c203 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/DeleteOrgApp.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgApp.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgApp.json new file mode 100644 index 0000000000..5b7fd5ecaf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgApp.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "orgAppId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "OrgApp 1", + "description": "A OrgApp description.", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgAppDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgAppDefinition.json new file mode 100644 index 0000000000..c61dbdcaea --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/GetOrgAppDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "orgAppId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "OrgAppV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/ListOrgAppsInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/ListOrgAppsInWorkspace.json new file mode 100644 index 0000000000..cd1839a188 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/ListOrgAppsInWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "OrgApp Name 1", + "description": "A OrgApp description.", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "OrgApp Name 2", + "description": "A OrgApp description.", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgApp.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgApp.json new file mode 100644 index 0000000000..967694359e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgApp.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateOrgAppRequest": { + "displayName": "OrgApp's New name", + "description": "OrgApp's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "OrgApp's New name", + "description": "OrgApp's New description", + "type": "OrgApp", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgAppDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgAppDefinition.json new file mode 100644 index 0000000000..3df2719142 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/examples/UpdateOrgAppDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata": true, + "updateOrgAppDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "OrgAppV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "x-ms-operation-id": "427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/swagger.json new file mode 100644 index 0000000000..16214e10d3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgApp/swagger.json @@ -0,0 +1,575 @@ +{ + "swagger": "2.0", + "info": { + "title": "OrgApp REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/orgApps": { + "get": { + "summary": "Returns a list of OrgApps from the specified workspace.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_ListOrgApps", + "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/OrgApps" + } + }, + "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 OrgApps in workspace example": { + "$ref": "./examples/ListOrgAppsInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates an OrgApp in the specified workspace.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n To create an OrgApp with a public definition, refer to [OrgApp](/rest/api/fabric/articles/item-management/definitions/org-app-definition) article. \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Item.ReadWrite.All \n\n## Limitations \n- To create an OrgApp, the user must have the appropriate license. 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_CreateOrgApp", + "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": "createOrgAppRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateOrgAppRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/OrgApp" + } + }, + "202": { + "description": "Request accepted, OrgApp 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.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an OrgApp example": { + "$ref": "./examples/CreateOrgAppWithoutDefinition.json" + }, + "Create an OrgApp with public definition example": { + "$ref": "./examples/CreateOrgApp.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgApps/{orgAppId}": { + "get": { + "summary": "Returns properties of the specified OrgApp.", + "description": "## Permissions\n\n The caller must have *read* permissions for the OrgApp. \n\n## Required Delegated Scopes\n\n Item.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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_GetOrgApp", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppId", + "description": "The OrgApp ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgApp" + } + }, + "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 OrgApp example": { + "$ref": "./examples/GetOrgApp.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified OrgApp.", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the OrgApp.\n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_UpdateOrgApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppId", + "description": "The OrgApp ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateOrgAppRequest", + "description": "Update OrgApp request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateOrgAppRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgApp" + } + }, + "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 OrgApp example": { + "$ref": "./examples/UpdateOrgApp.json" + } + } + }, + "delete": { + "summary": "Deletes the specified OrgApp.", + "description": "## Permissions\n\n The caller must have *write* permissions for the OrgApp. \n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_DeleteOrgApp", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppId", + "description": "The OrgApp ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete an OrgApp example": { + "$ref": "./examples/DeleteOrgApp.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgApps/{orgAppId}/getDefinition": { + "post": { + "summary": "Returns the specified OrgApp public definition.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get an OrgApp's public definition, the sensitivity label is not a part of the definition.\n\n## Permissions\n\n The caller must have *read and write* permissions for the OrgApp. \n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_GetOrgAppDefinition", + "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": "orgAppId", + "description": "The OrgApp ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the OrgApp public definition. Additional `format` types may be added over time.", + "type": "string", + "enum": [ + "OrgAppV1" + ], + "x-ms-enum": { + "name": "OrgAppDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "OrgAppV1", + "description": "Custom format for the OrgApp public definition, specifically designed to support CI/CD scenarios in Fabric. see [OrgApp - OrgAppV1 specification](/rest/api/fabric/articles/item-management/definitions/org-app/orgappv1) for more details." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgAppDefinitionResponse" + } + }, + "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 OrgApp public definition example": { + "$ref": "./examples/GetOrgAppDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgApps/{orgAppId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified OrgApp.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the OrgApp's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the OrgApp. \n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_UpdateOrgAppDefinition", + "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": "orgAppId", + "description": "The OrgApp 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": "updateOrgAppDefinitionRequest", + "description": "Update OrgApp definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateOrgAppDefinitionRequest" + }, + "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 OrgApp public definition example": { + "$ref": "./examples/UpdateOrgAppDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/definitions.json new file mode 100644 index 0000000000..30e1fabea4 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/definitions.json @@ -0,0 +1,192 @@ +{ + "swagger": "2.0", + "info": { + "title": "OrgAppAudience data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "OrgAppAudience": { + "description": "An OrgAppAudience object.", + + "type": "object", + "required": [ + "type" + ], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The OrgAppAudience properties.", + "$ref": "#/definitions/OrgAppAudienceProperties" + } + } + }, + "OrgAppAudienceProperties": { + "description": "The OrgAppAudience properties.", + "type": "object", + "required": [ + "oneLakeRootPath" + ], + "properties": { + "oneLakeRootPath": { + "description": "OneLake path to the OrgAppAudience root directory.", + "type": "string" + } + } + }, + "OrgAppAudiences": { + "description": "A list of OrgAppAudiences.", + + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The list of OrgAppAudiences.", + "type": "array", + "items": { + "$ref": "#/definitions/OrgAppAudience" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateOrgAppAudienceRequest": { + "description": "Create OrgAppAudience request payload.", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The OrgAppAudience display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The OrgAppAudience description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the OrgAppAudience is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The OrgAppAudience public definition.", + "$ref": "#/definitions/OrgAppAudiencePublicDefinition", + "readOnly": false + }, + "sensitivityLabelSettings": { + "description": "The sensitivity label settings for the OrgAppAudience.", + "$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings", + "readOnly": false + } + } + }, + "UpdateOrgAppAudienceDefinitionRequest": { + "description": "Update OrgAppAudience public definition request payload.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/OrgAppAudiencePublicDefinition" + } + } + }, + "OrgAppAudienceDefinitionResponse": { + "description": "OrgAppAudience public definition response.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/OrgAppAudiencePublicDefinition", + "readOnly": true + } + } + }, + "OrgAppAudiencePublicDefinition": { + "description": "OrgAppAudience public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/org-app-audience-definition) for more details on the structure of the OrgAppAudience definition.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the item definition. Additional `format` types may be added over time.", + "type": "string", + "enum": [ + "OrgAppAudienceV1" + ], + "x-ms-enum": { + "name": "OrgAppAudienceDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "OrgAppAudienceV1", + "description": "The V1 JSON format for the OrgAppAudience public definition, specifically designed to support CI/CD scenarios in Fabric. See [OrgAppAudience - OrgAppAudienceV1 specification](/rest/api/fabric/articles/item-management/definitions/org-app-audience-definition/OrgAppAudienceV1) for more details." + } + ] + }, + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/OrgAppAudiencePublicDefinitionPart" + }, + "readOnly": false + } + } + }, + "OrgAppAudiencePublicDefinitionPart": { + "description": "OrgAppAudience definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The OrgAppAudience public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The OrgAppAudience public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateOrgAppAudienceRequest": { + "description": "Update OrgAppAudience request.", + "properties": { + "displayName": { + "description": "The OrgAppAudience display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The OrgAppAudience description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudience.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudience.json new file mode 100644 index 0000000000..c4f08afe30 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudience.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createOrgAppAudienceRequest": { + "displayName": "OrgAppAudience 1", + "description": "A OrgAppAudience description.", + "definition": { + "format": "OrgAppAudienceV1", + "parts": [ + { + "path": "OrgAppAudienceV1.json", + "payload": "eyJleGVjdXRhYmxlRm..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "OrgAppAudience 1", + "description": "A OrgAppAudience description.", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudienceWithoutDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudienceWithoutDefinition.json new file mode 100644 index 0000000000..c06ac13498 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/CreateOrgAppAudienceWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createOrgAppAudienceRequest": { + "displayName": "OrgAppAudience 1", + "description": "A OrgAppAudience description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "OrgAppAudience 1", + "description": "A OrgAppAudience description.", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/DeleteOrgAppAudience.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/DeleteOrgAppAudience.json new file mode 100644 index 0000000000..b33b2793f5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/DeleteOrgAppAudience.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppAudienceId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudience.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudience.json new file mode 100644 index 0000000000..4d1951730d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudience.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "orgAppAudienceId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "OrgAppAudience 1", + "description": "A OrgAppAudience description.", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudienceDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudienceDefinition.json new file mode 100644 index 0000000000..1cb6943b9d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/GetOrgAppAudienceDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "orgAppAudienceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "OrgAppAudienceV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/ListOrgAppAudiencesInWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/ListOrgAppAudiencesInWorkspace.json new file mode 100644 index 0000000000..3d318fa0c4 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/ListOrgAppAudiencesInWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "OrgAppAudience Name 1", + "description": "A OrgAppAudience description.", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "OrgAppAudience Name 2", + "description": "A OrgAppAudience description.", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sensitivityLabel": { + "id": "9fbde396-1a24-4c79-8edf-9254a0f35055" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudience.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudience.json new file mode 100644 index 0000000000..161996707c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudience.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppAudienceId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateOrgAppAudienceRequest": { + "displayName": "OrgAppAudience's New name", + "description": "OrgAppAudience's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "OrgAppAudience's New name", + "description": "OrgAppAudience's New description", + "type": "OrgAppAudience", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudienceDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudienceDefinition.json new file mode 100644 index 0000000000..44224d749f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/examples/UpdateOrgAppAudienceDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "orgAppAudienceId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata": true, + "updateOrgAppAudienceDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "OrgAppAudienceV1.json", + "payload": "ew0KICAiZXhlY3V0YW..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "x-ms-operation-id": "427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "Retry-After": 30 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/swagger.json new file mode 100644 index 0000000000..5387ce38fd --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/orgAppAudience/swagger.json @@ -0,0 +1,575 @@ +{ + "swagger": "2.0", + "info": { + "title": "OrgAppAudience REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/orgAppAudiences": { + "get": { + "summary": "Returns a list of OrgAppAudiences from the specified workspace.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_ListOrgAppAudiences", + "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/OrgAppAudiences" + } + }, + "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 OrgAppAudiences in workspace example": { + "$ref": "./examples/ListOrgAppAudiencesInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates an OrgAppAudience in the specified workspace.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n To create an OrgAppAudience with a public definition, refer to [OrgAppAudience](/rest/api/fabric/articles/item-management/definitions/org-app-audience-definition) article. \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Item.ReadWrite.All \n\n## Limitations \n- To create an OrgAppAudience, the user must have the appropriate license. 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_CreateOrgAppAudience", + "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": "createOrgAppAudienceRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateOrgAppAudienceRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/OrgAppAudience" + } + }, + "202": { + "description": "Request accepted, OrgAppAudience 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.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an OrgAppAudience example": { + "$ref": "./examples/CreateOrgAppAudienceWithoutDefinition.json" + }, + "Create an OrgAppAudience with public definition example": { + "$ref": "./examples/CreateOrgAppAudience.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgAppAudiences/{orgAppAudienceId}": { + "get": { + "summary": "Returns properties of the specified OrgAppAudience.", + "description": "## Permissions\n\n The caller must have *read* permissions for the OrgAppAudience. \n\n## Required Delegated Scopes\n\n Item.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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_GetOrgAppAudience", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppAudienceId", + "description": "The OrgAppAudience ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgAppAudience" + } + }, + "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 OrgAppAudience example": { + "$ref": "./examples/GetOrgAppAudience.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified OrgAppAudience.", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the OrgAppAudience.\n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_UpdateOrgAppAudience", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppAudienceId", + "description": "The OrgAppAudience ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateOrgAppAudienceRequest", + "description": "Update OrgAppAudience request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateOrgAppAudienceRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgAppAudience" + } + }, + "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 OrgAppAudience example": { + "$ref": "./examples/UpdateOrgAppAudience.json" + } + } + }, + "delete": { + "summary": "Deletes the specified OrgAppAudience.", + "description": "## Permissions\n\n The caller must have *write* permissions for the OrgAppAudience. \n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_DeleteOrgAppAudience", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "orgAppAudienceId", + "description": "The OrgAppAudience ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete an OrgAppAudience example": { + "$ref": "./examples/DeleteOrgAppAudience.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgAppAudiences/{orgAppAudienceId}/getDefinition": { + "post": { + "summary": "Returns the specified OrgAppAudience public definition.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get an OrgAppAudience's public definition, the sensitivity label is not a part of the definition.\n\n## Permissions\n\n The caller must have *read and write* permissions for the OrgAppAudience. \n\n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_GetOrgAppAudienceDefinition", + "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": "orgAppAudienceId", + "description": "The OrgAppAudience ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the OrgAppAudience public definition. Additional `format` types may be added over time.", + "type": "string", + "enum": [ + "OrgAppAudienceV1" + ], + "x-ms-enum": { + "name": "OrgAppAudienceDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "OrgAppAudienceV1", + "description": "Custom format for the OrgAppAudience public definition, specifically designed to support CI/CD scenarios in Fabric. see [OrgAppAudience - OrgAppAudienceV1 specification](/rest/api/fabric/articles/item-management/definitions/org-app-audience/orgappaudiencev1) for more details." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/OrgAppAudienceDefinitionResponse" + } + }, + "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 OrgAppAudience public definition example": { + "$ref": "./examples/GetOrgAppAudienceDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/orgAppAudiences/{orgAppAudienceId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified OrgAppAudience.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the OrgAppAudience's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the OrgAppAudience. \n## Required Delegated Scopes\n\n 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_UpdateOrgAppAudienceDefinition", + "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": "orgAppAudienceId", + "description": "The OrgAppAudience 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": "updateOrgAppAudienceDefinitionRequest", + "description": "Update OrgAppAudience definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateOrgAppAudienceDefinitionRequest" + }, + "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 OrgAppAudience public definition example": { + "$ref": "./examples/UpdateOrgAppAudienceDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/definitions.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/definitions.json index 065b79041c..4d2bc92ed5 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/definitions.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/definitions.json @@ -35,6 +35,96 @@ } ] }, + "CreatePaginatedReportRequest": { + "description": "The request payload to create a paginated report.", + "required": [ + "displayName", + "definition" + ], + "properties": { + "displayName": { + "description": "The paginated report display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The paginated report description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "definition": { + "description": "The paginated report public definition.", + "$ref": "#/definitions/PaginatedReportDefinition", + "readOnly": false + } + } + }, + "UpdatePaginatedReportDefinitionRequest": { + "description": "Update paginated report public definition request payload.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/PaginatedReportDefinition" + } + } + }, + "PaginatedReportDefinitionResponse": { + "description": "Paginated report public definition response.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/PaginatedReportDefinition", + "readOnly": true + } + } + }, + "PaginatedReportDefinition": { + "description": "Paginated report public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/paginatedreport-definition) for more details on the structure of the Paginated Report definition.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the paginated report definition. Supported format: `PaginatedReportDefinition`. Additional format types may be added over time.", + "$ref": "#/definitions/PaginatedReportDefinitionFormat", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/PaginatedReportDefinitionPart" + }, + "readOnly": false + } + } + }, + "PaginatedReportDefinitionPart": { + "description": "Paginated report definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The paginated report part path (e.g., `ContosoReport.rdl`, `.platform`).", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The paginated report part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, "UpdatePaginatedReportRequest": { "description": "Update paginated report request.", "properties": { @@ -49,6 +139,21 @@ "readOnly": false } } + }, + "PaginatedReportDefinitionFormat": { + "type": "string", + "description": "The format of the paginated report definition. Additional format types may be added over time.", + "enum": ["PaginatedReportDefinition"], + "x-ms-enum": { + "name": "PaginatedReportDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "PaginatedReportDefinition", + "description": "The default format for paginated report definitions. The definition contains an RDL file encoded as Base64." + } + ] + } } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/CreatePaginatedReport.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/CreatePaginatedReport.json new file mode 100644 index 0000000000..2b83947461 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/CreatePaginatedReport.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createPaginatedReportRequest": { + "displayName": "ContosoReport", + "description": "A quarterly sales report.", + "definition": { + "format": "PaginatedReportDefinition", + "parts": [ + { + "path": "ContosoReport.rdl", + "payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4...", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "ContosoReport", + "description": "A quarterly sales report.", + "type": "PaginatedReport", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "cfafbeb1-8037-4d0c-896e-28c4f2e65573" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/0acd697c-1550-43cd-b998-91bfbfbd47c6", + "x-ms-operation-id": "0acd697c-1550-43cd-b998-91bfbfbd47c6", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/DeletePaginatedReport.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/DeletePaginatedReport.json new file mode 100644 index 0000000000..a47ced4f07 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/DeletePaginatedReport.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "paginatedReportId": "cfafbeb1-8037-4d0c-896e-28c4f2e65573" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReport.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReport.json new file mode 100644 index 0000000000..9b801f8ff8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReport.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "paginatedReportId": "cfafbeb1-8037-4d0c-896e-28c4f2e65573" + }, + "responses": { + "200": { + "body": { + "displayName": "ContosoReport", + "description": "A quarterly sales report.", + "type": "PaginatedReport", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "cfafbeb1-8037-4d0c-896e-28c4f2e65573" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReportDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReportDefinition.json new file mode 100644 index 0000000000..00b5d7b1bb --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/GetPaginatedReportDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "paginatedReportId": "cfafbeb1-8037-4d0c-896e-28c4f2e65573", + "format": "PaginatedReportDefinition" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "ContosoReport.rdl", + "payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4...", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "eyJtZXRhZGF0YSI6eyJ0eXBlIjoiUGFnaW5hdGVkUmVwb3J0In19", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/UpdatePaginatedReportDefinition.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/UpdatePaginatedReportDefinition.json new file mode 100644 index 0000000000..9bc2bb857f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/examples/UpdatePaginatedReportDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "paginatedReportId": "cfafbeb1-8037-4d0c-896e-28c4f2e65573", + "updateMetadata": true, + "updatePaginatedReportDefinitionRequest": { + "definition": { + "format": "PaginatedReportDefinition", + "parts": [ + { + "path": "ContosoReport.rdl", + "payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4...", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "eyJtZXRhZGF0YSI6eyJ0eXBlIjoiUGFnaW5hdGVkUmVwb3J0In19", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "x-ms-operation-id": "427f6c34-b64e-4ee4-8ea5-b533c0e203ef", + "Retry-After": 30 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/swagger.json index 8f2e1abf0a..89001392da 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/paginatedReport/swagger.json @@ -88,9 +88,154 @@ "$ref": "./examples/ListPaginatedReportsInWorkspace.json" } } + }, + "post": { + "summary": "Creates a paginated report in the specified workspace.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo create a paginated report with a definition, refer to the [Paginated Report definition](/rest/api/fabric/articles/item-management/definitions/paginated-report-definition) article.\n\n## Permissions\n\nThe caller must have a *contributor* workspace role.\n\n## Required Delegated Scopes\n\nPaginatedReport.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\n- Creating a paginated report in a subfolder is not supported. The paginated report is created at the workspace root level. To place a paginated report in a subfolder, use the Update Definition API which supports subfolders.\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_CreatePaginatedReport", + "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": "createPaginatedReportRequest", + "description": "Create paginated report request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreatePaginatedReportRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/PaginatedReport" + } + }, + "202": { + "description": "Request accepted, paginated report 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. \n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a paginated report example": { + "$ref": "./examples/CreatePaginatedReport.json" + } + } } }, "/workspaces/{workspaceId}/paginatedReports/{paginatedReportId}": { + "get": { + "summary": "Returns properties of the specified paginated report.", + "description": "## Permissions\n\nThe caller must have *read* permissions for the paginated report.\n\n## Required Delegated Scopes\n\nPaginatedReport.Read.All or PaginatedReport.ReadWrite.All or Item.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_GetPaginatedReport", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "paginatedReportId", + "description": "The paginated report ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/PaginatedReport" + } + }, + "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 a paginated report example": { + "$ref": "./examples/GetPaginatedReport.json" + } + } + }, "patch": { "summary": "Updates the properties of the specified paginated report.", "description": "## Permissions\n\n The caller must have *read and write* permissions for the paginated report. \n\n## Required Delegated Scopes \n\n PaginatedReport.ReadWrite.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", @@ -163,6 +308,248 @@ "$ref": "./examples/UpdatePaginatedReport.json" } } + }, + "delete": { + "summary": "Deletes the specified paginated report.", + "description": "## Permissions\n\n The caller must have *write* permissions for the paginated report. \n\n## Required Delegated Scopes \n\n PaginatedReport.ReadWrite.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_DeletePaginatedReport", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "paginatedReportId", + "description": "The paginated report ID.", + "type": "string", + "format": "uuid", + "required": 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* ItemNotFound - The requested item was not found.\n\n* InsufficientWorkspaceRole - User doesn't have sufficient workspace role.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a paginated report example": { + "$ref": "./examples/DeletePaginatedReport.json" + } + } + } + }, + "/workspaces/{workspaceId}/paginatedReports/{paginatedReportId}/getDefinition": { + "post": { + "summary": "Returns the specified paginated report public definition.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\n The caller must have *read and write* permissions for the paginated report. \n\n## Required Delegated Scopes \n\n PaginatedReport.ReadWrite.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_GetPaginatedReportDefinition", + "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": "paginatedReportId", + "description": "The paginated report ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the paginated report public definition. Supported format: `PaginatedReportDefinition`. If not provided, `PaginatedReportDefinition` is used.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/PaginatedReportDefinitionResponse" + } + }, + "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 a paginated report definition example": { + "$ref": "./examples/GetPaginatedReportDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/paginatedReports/{paginatedReportId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified paginated report.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\n The caller must have *read and write* permissions for the paginated report. \n\n## Required Delegated Scopes \n\n PaginatedReport.ReadWrite.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_UpdatePaginatedReportDefinition", + "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": "paginatedReportId", + "description": "The paginated report 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 from the `.platform` file.", + "type": "boolean", + "required": false + }, + { + "in": "body", + "name": "updatePaginatedReportDefinitionRequest", + "description": "Update paginated report definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdatePaginatedReportDefinitionRequest" + }, + "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 a paginated report definition example": { + "$ref": "./examples/UpdatePaginatedReportDefinition.json" + } + } } } }, diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json index eaee4a0dd3..687cba67eb 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json @@ -9,7 +9,7 @@ "ConnectivityType": { "type": "string", "description": "The connectivity type of the connection. Additional connectivity types may be added over time.", - "enum": ["ShareableCloud", "PersonalCloud", "OnPremisesGateway", "OnPremisesGatewayPersonal", "VirtualNetworkGateway", "Automatic", "None"], + "enum": ["ShareableCloud", "PersonalCloud", "OnPremisesGateway", "OnPremisesGatewayPersonal", "VirtualNetworkGateway", "StreamingVirtualNetworkGateway", "Automatic", "None"], "x-ms-enum": { "name": "ConnectivityType", "modelAsString": true, @@ -34,6 +34,10 @@ "value": "VirtualNetworkGateway", "description": "The connection connects through a virtual network data gateway." }, + { + "value": "StreamingVirtualNetworkGateway", + "description": "The connection connects through a streaming virtual network data gateway." + }, { "value": "Automatic", "description": "The connection connects through the cloud using an implicit data connection. This option is only available for specific scenarios like semantic models that use Single Sign-On (SSO).”" @@ -874,6 +878,28 @@ } } }, + "CreateStreamingVirtualNetworkGatewayConnectionRequest": { + "description": "Creates a connection that connects through a streaming virtual network data gateway.", + "required": ["gatewayId", "credentialDetails"], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateConnectionRequest" + } + ], + "x-ms-discriminator-value": "StreamingVirtualNetworkGateway", + "properties": { + "gatewayId": { + "type": "string", + "description": "The object ID of the streaming virtual network gateway that the connection is created under.", + "format": "uuid" + }, + "credentialDetails": { + "description": "The credential details of the connection.", + "$ref": "#/definitions/CreateCredentialDetails" + } + } + }, "CreateCloudConnectionRequest": { "required": ["credentialDetails"], "type": "object", @@ -968,6 +994,26 @@ } } }, + "UpdateStreamingVirtualNetworkGatewayConnectionRequest": { + "description": "Updates a connection that connects through a streaming virtual network data gateway.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateConnectionRequest" + } + ], + "x-ms-discriminator-value": "StreamingVirtualNetworkGateway", + "properties": { + "displayName": { + "description": "The display name of the connection. Maximum length is 200 characters.", + "type": "string" + }, + "credentialDetails": { + "description": "The credential details of the connection.", + "$ref": "#/definitions/UpdateCredentialDetails" + } + } + }, "UpdateShareableCloudConnectionRequest": { "type": "object", "allOf": [ @@ -1040,6 +1086,41 @@ "credentialDetails": { "description": "The credential details of the connection.", "$ref": "#/definitions/ListCredentialDetails" + }, + "connectionRecency": { + "$ref": "#/definitions/ConnectionRecency", + "description": "The recency details about the connection." + } + } + }, + "ConnectionRecency": { + "type": "object", + "description": "Represents the recency details about the connection.", + "properties": { + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the connection was created in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + "lastBoundDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the connection was most recently bound to any item in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + "lastCredentialUsedDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the connection credentials were most recently used in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + "myLastBoundDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the connection was most recently bound to any item by the calling user in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + "myLastCredentialUsedDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the connection credentials were most recently used by the calling user in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." } } }, @@ -1130,6 +1211,23 @@ }, "x-ms-discriminator-value": "VirtualNetworkGateway" }, + "StreamingVirtualNetworkGatewayConnection": { + "type": "object", + "description": "A connection that connects through a streaming virtual network data gateway.", + "allOf": [ + { + "$ref": "#/definitions/Connection" + } + ], + "properties": { + "gatewayId": { + "description": "The gateway object ID of the connection.", + "type": "string", + "format": "uuid" + } + }, + "x-ms-discriminator-value": "StreamingVirtualNetworkGateway" + }, "ListConnectionsResponse": { "required": ["value"], "type": "object", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/gateways.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/gateways.json index 303fe50a6c..1b6dbc6cb6 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/gateways.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/gateways.json @@ -9,7 +9,7 @@ "GatewayType": { "type": "string", "description": "The type of the gateway. Additional gateway types may be added over time.", - "enum": ["OnPremises", "OnPremisesPersonal", "VirtualNetwork"], + "enum": ["OnPremises", "OnPremisesPersonal", "VirtualNetwork", "StreamingVirtualNetwork"], "x-ms-enum": { "name": "GatewayType", "modelAsString": true, @@ -25,6 +25,10 @@ { "value": "VirtualNetwork", "description": "The virtual network gateway." + }, + { + "value": "StreamingVirtualNetwork", + "description": "The streaming virtual network gateway." } ] } @@ -201,6 +205,27 @@ } } }, + "StreamingVirtualNetworkGateway": { + "description": "A streaming virtual network gateway.", + "required": ["displayName", "virtualNetworkAzureResource"], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Gateway" + } + ], + "x-ms-discriminator-value": "StreamingVirtualNetwork", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the streaming virtual network gateway." + }, + "virtualNetworkAzureResource": { + "description": "The Azure virtual network resource.", + "$ref": "../../common/definitions.json#/definitions/VirtualNetworkAzureResource" + } + } + }, "ListGatewaysResponse": { "required": ["value"], "type": "object", @@ -264,6 +289,27 @@ } } }, + "CreateStreamingVirtualNetworkGatewayRequest": { + "description": "Creates a streaming virtual network gateway.", + "required": ["displayName", "virtualNetworkAzureResource"], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateGatewayRequest" + } + ], + "x-ms-discriminator-value": "StreamingVirtualNetwork", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the streaming virtual network gateway. Maximum length is 200 characters." + }, + "virtualNetworkAzureResource": { + "description": "The Azure virtual network resource.", + "$ref": "../../common/definitions.json#/definitions/VirtualNetworkAzureResource" + } + } + }, "UpdateGatewayRequest": { "required": ["type"], "type": "object", @@ -327,6 +373,16 @@ } } }, + "UpdateStreamingVirtualNetworkGatewayRequest": { + "description": "Updates a streaming virtual network gateway.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateGatewayRequest" + } + ], + "x-ms-discriminator-value": "StreamingVirtualNetwork" + }, "ListGatewayMembersResponse": { "required": ["value"], "type": "object", @@ -444,6 +500,66 @@ } ] } + }, + "GatewayStatus": { + "type": "string", + "description": "The status of the gateway. Additional statuses may be added over time.", + "enum": ["Online", "Offline"], + "x-ms-enum": { + "name": "GatewayStatus", + "modelAsString": true, + "values": [ + { + "value": "Online", + "description": "The gateway is online and available for use." + }, + { + "value": "Offline", + "description": "The gateway is offline. Please check errorDetails property for more information." + } + ] + } + }, + "GatewayUpgradeState": { + "type": "string", + "description": "The gateway version upgrade state. Additional upgrade states may be added over time.", + "enum": ["UpToDate", "NewVersionAvailable", "UpgradeRequired", "Unknown"], + "x-ms-enum": { + "name": "GatewayUpgradeState", + "modelAsString": true, + "values": [ + { "value": "UpToDate", "description": "The gateway is up to date." }, + { "value": "NewVersionAvailable", "description": "A new gateway version is available." }, + { "value": "UpgradeRequired", "description": "The gateway requires an upgrade." }, + { "value": "Unknown", "description": "The gateway upgrade state is unknown." } + ] + } + }, + "GatewayStatusResponse": { + "required": ["status"], + "type": "object", + "description": "The gateway status response.", + "properties": { + "status": { + "description": "The status of the gateway.", + "$ref": "#/definitions/GatewayStatus" + }, + "gatewayVersion": { + "type": "string", + "description": "The version of the gateway." + }, + "gatewayUpgradeState": { + "description": "The upgrade state of the gateway.", + "$ref": "#/definitions/GatewayUpgradeState" + }, + "errorDetails": { + "description": "The error details when the gateway is offline or when one or many members of gateway clusters encounters an error.", + "type": "array", + "items": { + "$ref": "../../common/definitions.json#/definitions/ErrorResponseDetails" + } + } + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json index 9f2140b800..bc3121bec8 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json @@ -76,6 +76,11 @@ "$ref": "../../common/definitions.json#/definitions/WorkspaceAppliedTag" }, "readOnly": true + }, + "capacityRegion": { + "description": "The region of the capacity associated with this workspace.", + "$ref": "#/definitions/CapacityRegion", + "readOnly": true } }, "readOnly": true @@ -100,11 +105,6 @@ "$ref": "#/definitions/WorkspaceIdentity", "readOnly": true }, - "capacityRegion": { - "description": "The region of the capacity associated with this workspace.", - "$ref": "#/definitions/CapacityRegion", - "readOnly": true - }, "oneLakeEndpoints": { "description": "The OneLake API endpoints associated with this workspace.", "$ref": "#/definitions/OneLakeEndpoints", @@ -1969,82 +1969,6 @@ } } }, - "ItemJobParameterType": { - "description": "A string that represents the parameter's type. Additional types may be added over time.", - "type": "string", - "enum": [ - "VariableReference", - "Integer", - "Number", - "Text", - "Boolean", - "DateTime", - "Guid", - "Automatic" - ], - "x-ms-enum": { - "name": "ItemJobParameterType", - "modelAsString": true, - "values": [ - { - "value": "VariableReference", - "description": "The type of parameter is a variable reference." - }, - { - "value": "Integer", - "description": "The type of parameter is an integer." - }, - { - "value": "Number", - "description": "The type of parameter is a number, it accepts both integer and float values." - }, - { - "value": "Text", - "description": "The type of parameter is a text." - }, - { - "value": "Boolean", - "description": "The type of parameter is a boolean." - }, - { - "value": "DateTime", - "description": "The type of parameter is a datetime in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." - }, - { - "value": "Guid", - "description": "The parameter type is a string representation of a GUID, using 00000000-0000-0000-0000-000000000000 format. See https://learn.microsoft.com/dotnet/api/system.guid.tostring for formatting details, and please use the default format: \"D\"." - }, - { - "value": "Automatic", - "description": "The parameter type is automatically determined. Note: this type may not be supported for all item job types." - } - ] - } - }, - "Parameter": { - "description": "An item job parameter.", - "type": "object", - "required": [ - "name", - "type", - "value" - ], - "properties": { - "name": { - "description": "The parameter name, specified by the caller, must be unique (case-insensitive check) and no longer than 256 characters.", - "type": "string" - }, - "type": { - "description": "The parameter type.", - "type": "string", - "$ref": "#/definitions/ItemJobParameterType" - }, - "value": { - "description": "The parameter value based on the parameter type.", - "type": "object" - } - } - }, "RunOnDemandItemJobRequest": { "description": "Run on demand item job instance payload", "properties": { @@ -2056,7 +1980,7 @@ "description": "The parameter list for an on-demand job. These are per-run, user-defined inputs that tailor this invocation. Note: This property is not broadly supported. If the API returns an error with errorCode `FeatureNotAvailable` and errorMessage `Parameter is not allowed for this item type or this item job type`, the `parameters` property is not supported for the specified item type or item job type.", "type": "array", "items": { - "$ref": "#/definitions/Parameter" + "$ref": "../../common/job_scheduling.json#/definitions/Parameter" } } } @@ -2300,40 +2224,6 @@ } } }, - "ItemJobParameter": { - "description": "Parameter details.", - "type": "object", - "required": [ - "parameterName", - "type", - "value" - ], - "properties": { - "parameterName": { - "description": "Name of the parameter.", - "type": "string" - }, - "type": { - "description": "The parameter type. Additional parameter types may be added over time.", - "type": "string", - "enum": [ "Automatic" ], - "x-ms-enum": { - "name": "Type", - "modelAsString": true, - "values": [ - { - "value": "Automatic", - "description": "Value must be Automatic" - } - ] - } - }, - "value": { - "description": "The value of the parameter to override during execution.", - "type": "object" - } - } - }, "Folders": { "type": "object", "properties": { diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/relations.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/relations.json new file mode 100644 index 0000000000..dad28bab3f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/relations.json @@ -0,0 +1,151 @@ +{ + "swagger": "2.0", + "info": { + "version": "v1", + "title": "Relations data types" + }, + "paths": {}, + "definitions": { + "RelationsResponse": { + "description": "A response containing related items, relation edges, and referenced workspaces.", + "type": "object", + "properties": { + "items": { + "description": "A list of related items.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RelationsRelatedItem" + } + }, + "relations": { + "description": "A list of relation edges between items.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RelationsEdge" + } + }, + "workspaces": { + "description": "A list of workspaces referenced by the related items.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RelationsWorkspace" + } + } + } + }, + "RelationsRelatedItem": { + "description": "An item that is related to the specified item. This is a subset of the full item object, containing only the properties returned by the relations APIs.", + "type": "object", + "properties": { + "id": { + "description": "The item ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "type": { + "description": "The item type.", + "$ref": "../../common/definitions.json#/definitions/ItemType", + "readOnly": true + }, + "displayName": { + "description": "The item display name.", + "type": "string", + "readOnly": true + }, + "workspaceId": { + "description": "The ID of the workspace that contains the item. Use this ID to find the workspace in the `workspaces` list.", + "type": "string", + "format": "uuid", + "readOnly": true + } + } + }, + "RelationsEdge": { + "description": "A relation edge between two items.", + "type": "object", + "properties": { + "itemId": { + "description": "The source item identifier.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "dependentOnItemId": { + "description": "The identifier of the item that the source item depends on.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "relationType": { + "description": "The type of relation between the two items. Additional relation types may be added over time.", + "type": "string", + "enum": [ + "CascadeDelete", + "WeakAssociation", + "Datasource", + "PushData", + "Orchestration", + "Shortcut", + "HiddenInWorkspace" + ], + "x-ms-enum": { + "name": "RelationType", + "modelAsString": true, + "values": [ + { + "value": "CascadeDelete", + "description": "A CascadeDelete relationship indicates that the item is the Parent of the dependentOnItemId and deleting the item will cause the Dependent item to also be deleted." + }, + { + "value": "WeakAssociation", + "description": "A WeakAssociation relationship indicates that there is a soft dependency on the item identified by the dependentOnItemId. If the Dependent item is deleted, the relationship will be removed." + }, + { + "value": "Datasource", + "description": "A Datasource relationship indicates that there is a soft dependency on the item identified by a common Datasource. If the Dependent item is deleted, the relationship will be removed." + }, + { + "value": "PushData", + "description": "A PushData relationship indicates that a dependent item writes/pushes data to dependecy item(the item identified by the dependentOnItemId). If the Dependent item is deleted, the relationship will be removed." + }, + { + "value": "Orchestration", + "description": "An Orchestration relationship indicates that an item executes management or orchestration processes of the dependency item(the item identified by the dependentOnItemId). If the Dependent item is deleted, the relationship will be removed." + }, + { + "value": "Shortcut", + "description": "A Shortcut relationship indicates that an item has a shortcut or link to data or data area from item identified by the dependentOnItemId. If the Dependent item is deleted, the relationship will be removed." + }, + { + "value": "HiddenInWorkspace", + "description": "HiddenInWorkspace indicates that the item that owns this relationship will be hidden in the workspace." + } + ] + }, + "readOnly": true + } + } + }, + "RelationsWorkspace": { + "description": "A workspace referenced in the relations response.", + "type": "object", + "properties": { + "id": { + "description": "The workspace identifier.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "displayName": { + "description": "The workspace display name.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceCmk.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceCmk.json new file mode 100644 index 0000000000..52ae4c38c1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceCmk.json @@ -0,0 +1,155 @@ +{ + "swagger": "2.0", + "info": { + "title": "Workspace CMK Encryption data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "Encryption": { + "description": "Workspace encryption details using a customer-managed key (CMK).", + "type": "object", + "properties": { + "keyIdentifier": { + "description": "The encryption key identifier.", + "type": "string" + }, + "status": { + "description": "The CMK encryption status of the workspace.", + "$ref": "#/definitions/EncryptionStatus" + }, + "previousKeyIdentifier": { + "description": "The previous encryption key identifier.", + "type": "string" + }, + "previousStatus": { + "description": "The previous CMK encryption status of the workspace.", + "$ref": "#/definitions/EncryptionStatus" + } + } + }, + "AssignWorkspaceEncryptionRequest": { + "description": "The Assign Workspace CMK Encryption request payload.", + "required": [ + "keyIdentifier" + ], + "properties": { + "keyIdentifier": { + "description": "The Azure Key Vault key identifier. This must be a versionless key URI.", + "type": "string", + "readOnly": false + } + } + }, + "WorkspaceEncryptionDetail": { + "description": "Workspace encryption settings and status details.", + + "type": "object", + "properties": { + "encryptionDetail": { + "description": "The workspace encryption detail.", + "$ref": "#/definitions/EncryptionDetail" + }, + "previousEncryptionDetail": { + "description": "The previous workspace encryption detail.", + "$ref": "#/definitions/EncryptionDetail" + }, + "workspaceEncryptionItemsDetails": { + "description": "The encryption status of items in the workspace.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceEncryptionItemsDetail" + } + } + } + }, + "EncryptionDetail": { + "description": "Workspace encryption details.", + "type": "object", + "properties": { + "keyIdentifier": { + "description": "The key identifier.", + "type": "string" + }, + "encryptionStatus": { + "description": "The workspace encryption status.", + "$ref": "#/definitions/EncryptionStatus" + } + } + }, + "WorkspaceEncryptionItemsDetail": { + + "description": "Encryption status details for items in the workspace.", + "type": "object", + "properties": { + "items": { + "description": "The array of workspace item details.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceEncryptionItem" + } + }, + "encryptionStatus": { + "description": "The encryption status for the items.", + "$ref": "#/definitions/EncryptionStatus" + } + } + }, + "WorkspaceEncryptionItem": { + "description": "Workspace item details.", + "type": "object", + "properties": { + "displayName": { + "description": "The item display name.", + "type": "string" + }, + "id": { + "format": "uuid", + "description": "The item Id.", + "type": "string" + }, + "type": { + "description": "The item type.", + "type": "string" + } + } + }, + "EncryptionStatus": { + "type": "string", + "description": "Workspace encryption status. Additional encryption status may be added over time.", + "enum": [ + "Disabled", + "Active", + "EnableInProgress", + "DisableInProgress", + "Failed" + ], + "x-ms-enum": { + "name": "WorkspaceEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Workspace encryption is not active." + }, + { + "value": "Active", + "description": "Workspace encryption is active and the workspace is encrypted." + }, + { + "value": "EnableInProgress", + "description": "Workspace encryption is enabling." + }, + { + "value": "DisableInProgress", + "description": "Workspace encryption is disabling." + }, + { + "value": "Failed", + "description": "Workspace encryption application failed." + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnection.json index d7492275b4..3f0a76ae81 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnection.json @@ -53,8 +53,11 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z" } } } } -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnectionWithKeyPair.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnectionWithKeyPair.json index 086bf50a30..2ff4f4b8ac 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnectionWithKeyPair.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateCloudConnectionWithKeyPair.json @@ -7,7 +7,7 @@ "type": "SQL", "creationMethod": "SQL", "parameters": [ - { + { "dataType": "Text", "name": "server", "value": "contoso.database.windows.net" @@ -39,7 +39,7 @@ "id": "eeec9a3a-6ef5-4e2b-bb6a-0060bd2f0172", "displayName": "ContosoCloudConnection", "connectivityType": "ShareableCloud", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;snowflake-warehouse" }, @@ -49,6 +49,9 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateOnPremisesGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateOnPremisesGatewayConnection.json index 50f0d88049..f341b2f8d6 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateOnPremisesGatewayConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateOnPremisesGatewayConnection.json @@ -4,11 +4,11 @@ "connectivityType": "OnPremisesGateway", "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", "displayName": "ContosoOnPremisesConnection", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "creationMethod": "SQL", "parameters": [ - { + { "dataType": "Text", "name": "server", "value": "contoso.database.windows.net" @@ -32,7 +32,8 @@ "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", "encryptedCredentials": "************************************" }, - { "gatewayId": "55226bab-5024-4b72-9716-6dc8ef3a97fe", + { + "gatewayId": "55226bab-5024-4b72-9716-6dc8ef3a97fe", "encryptedCredentials": "************************************" } ] @@ -47,7 +48,7 @@ "displayName": "ContosoOnPremisesConnection", "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", "connectivityType": "OnPremisesGateway", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;sales" }, @@ -57,6 +58,9 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateStreamingVirtualNetworkGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateStreamingVirtualNetworkGatewayConnection.json new file mode 100644 index 0000000000..921e1ca01a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateStreamingVirtualNetworkGatewayConnection.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "createConnectionRequest": { + "connectivityType": "StreamingVirtualNetworkGateway", + "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", + "displayName": "ContosoStreamingVirtualNetworkGatewayConnection", + "connectionDetails": { + "type": "SQL", + "creationMethod": "SQL", + "parameters": [ + { + "dataType": "Text", + "name": "server", + "value": "contoso.database.windows.net" + }, + { + "dataType": "Text", + "name": "database", + "value": "sales" + } + ] + }, + "privacyLevel": "Organizational", + "credentialDetails": { + "singleSignOnType": "None", + "connectionEncryption": "Encrypted", + "skipTestConnection": false, + "credentials": { + "credentialType": "Basic", + "username": "admin", + "password": "*********" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "eeec9a3a-6ef5-4e2b-bb6a-0060bd2f0172", + "displayName": "ContosoStreamingVirtualNetworkGatewayConnection", + "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", + "connectivityType": "StreamingVirtualNetworkGateway", + "connectionDetails": { + "type": "SQL", + "path": "contoso.database.windows.net;sales" + }, + "privacyLevel": "Organizational", + "credentialDetails": { + "credentialType": "Basic", + "singleSignOnType": "None", + "connectionEncryption": "Encrypted", + "skipTestConnection": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateVirtualNetworkGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateVirtualNetworkGatewayConnection.json index ddd3f31e20..4702e6fcf2 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateVirtualNetworkGatewayConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/CreateVirtualNetworkGatewayConnection.json @@ -4,11 +4,11 @@ "connectivityType": "VirtualNetworkGateway", "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", "displayName": "ContosoVirtualNetworkGatewayConnection", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "creationMethod": "SQL", "parameters": [ - { + { "dataType": "Text", "name": "server", "value": "contoso.database.windows.net" @@ -40,7 +40,7 @@ "displayName": "ContosoVirtualNetworkGatewayConnection", "gatewayId": "93491300-cfbd-402f-bf17-9ace59a92354", "connectivityType": "VirtualNetworkGateway", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;sales" }, @@ -50,6 +50,9 @@ "singleSignOnType": "None", "connectionEncryption": "Encrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/GetConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/GetConnection.json index 2a7bc2dcf0..24d9004ed4 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/GetConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/GetConnection.json @@ -19,6 +19,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/ListConnections.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/ListConnections.json index 71510c6289..5c3d13f79f 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/ListConnections.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/ListConnections.json @@ -18,6 +18,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } }, { @@ -35,6 +42,30 @@ "singleSignOnType": "None", "connectionEncryption": "Any", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" + } + }, + { + "id": "a3b4c5d6-7e8f-4a5b-9c0d-1e2f3a4b5c6d", + "displayName": "ContosoStreamingVirtualNetworkGatewayConnection", + "gatewayId": "3f8d6a4b-1c2e-4f5a-9b7c-2d6e8f1a3b9d", + "connectivityType": "StreamingVirtualNetworkGateway", + "connectionDetails": { + "type": "SQL", + "path": "contoso.database.windows.net;marketing" + }, + "privacyLevel": "Organizational", + "credentialDetails": { + "credentialType": "Basic", + "singleSignOnType": "None", + "connectionEncryption": "Encrypted", + "skipTestConnection": false } } ], diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayConnection.json index cec8cbd796..abb2a95b28 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayConnection.json @@ -13,7 +13,8 @@ "gatewayId": "4f8b5d6e-8e99-4817-8b9e-6b6a613be707", "encryptedCredentials": "************************************" }, - { "gatewayId": "c6961028-1309-4183-9799-a0b0fa28a235", + { + "gatewayId": "c6961028-1309-4183-9799-a0b0fa28a235", "encryptedCredentials": "************************************" } ] @@ -28,7 +29,7 @@ "displayName": "ContosoSalesOnPremisesConnection", "gatewayId": "4f8b5d6e-8e99-4817-8b9e-6b6a613be707", "connectivityType": "OnPremisesGateway", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;sales" }, @@ -38,6 +39,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayPersonalConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayPersonalConnection.json index 887d642e04..25fef5d83f 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayPersonalConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateOnPremisesGatewayPersonalConnection.json @@ -17,7 +17,7 @@ "id": "ef8f408d-2ab7-4a18-b662-9251febda49c", "gatewayId": "429a773e-5633-45ee-8584-a192bd79c16a", "connectivityType": "OnPremisesGatewayPersonal", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;reporting" }, @@ -27,6 +27,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdatePersonalCloudConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdatePersonalCloudConnection.json index e6bc42bb3c..3f26de4013 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdatePersonalCloudConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdatePersonalCloudConnection.json @@ -11,7 +11,7 @@ "body": { "id": "7a0369b2-58c4-4b67-b3f3-92156a95f1cd", "connectivityType": "PersonalCloud", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;finances" }, @@ -21,6 +21,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateShareableCloudConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateShareableCloudConnection.json index 37ad87bc86..cf1b54e61c 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateShareableCloudConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateShareableCloudConnection.json @@ -12,7 +12,7 @@ "id": "fa968eee-8075-48f6-8c6d-41260ee1396d", "displayName": "ContosoCloudConnection", "connectivityType": "ShareableCloud", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;networks" }, @@ -22,6 +22,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": true + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateStreamingVirtualNetworkGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateStreamingVirtualNetworkGatewayConnection.json new file mode 100644 index 0000000000..4d3f7c0911 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateStreamingVirtualNetworkGatewayConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "connectionId": "6b571614-2e98-4bfd-b9ed-1cb8d3ffc396", + "updateConnectionRequest": { + "connectivityType": "StreamingVirtualNetworkGateway", + "displayName": "ContosoMarketingStreamingVirtualNetworkGatewayConnection", + "credentialDetails": { + "singleSignOnType": "None" + } + } + }, + "responses": { + "200": { + "body": { + "id": "6b571614-2e98-4bfd-b9ed-1cb8d3ffc396", + "displayName": "ContosoMarketingStreamingVirtualNetworkGatewayConnection", + "gatewayId": "befccff4-3ee6-40d7-b8f1-a0a9fd684a85", + "connectivityType": "StreamingVirtualNetworkGateway", + "connectionDetails": { + "type": "SQL", + "path": "contoso.database.windows.net;marketing" + }, + "privacyLevel": "Organizational", + "credentialDetails": { + "credentialType": "Basic", + "singleSignOnType": "None", + "connectionEncryption": "Encrypted", + "skipTestConnection": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateVirtualNetworkGatewayConnection.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateVirtualNetworkGatewayConnection.json index f694e4040d..288ac99d28 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateVirtualNetworkGatewayConnection.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/connections/UpdateVirtualNetworkGatewayConnection.json @@ -17,7 +17,7 @@ "displayName": "ContosoMarketingVirtualNetworkGatewayConnection", "gatewayId": "befccff4-3ee6-40d7-b8f1-a0a9fd684a85", "connectivityType": "VirtualNetworkGateway", - "connectionDetails":{ + "connectionDetails": { "type": "SQL", "path": "contoso.database.windows.net;marketing" }, @@ -27,6 +27,13 @@ "singleSignOnType": "None", "connectionEncryption": "NotEncrypted", "skipTestConnection": false + }, + "connectionRecency": { + "createdDateTime": "2023-05-23T16:22:20Z", + "lastBoundDateTime": "2023-05-26T16:22:20Z", + "lastCredentialUsedDateTime": "2023-05-27T16:22:20Z", + "myLastBoundDateTime": "2023-05-24T16:22:20Z", + "myLastCredentialUsedDateTime": "2023-05-25T16:22:20Z" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatus.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatus.json new file mode 100644 index 0000000000..f32e51dc44 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2", + "gatewayMemberId": "f921ee6b-8feb-4595-8aa7-3ed34338e8b6" + }, + "responses": { + "200": { + "body": { + "status": "Online", + "gatewayVersion": "1.2.3", + "gatewayUpgradeState": "UpToDate" + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": "30" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatusOffline.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatusOffline.json new file mode 100644 index 0000000000..d1f1a127cd --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayMemberStatusOffline.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2", + "gatewayMemberId": "f921ee6b-8feb-4595-8aa7-3ed34338e8b6" + }, + "responses": { + "200": { + "body": { + "status": "Offline", + "gatewayVersion": "1.2.3", + "gatewayUpgradeState": "UpToDate", + "errorDetails": [ + { + "errorCode": "DM_GWPipeline_Client_GatewayUnreachable", + "message": "Gateway is unreachable", + "relatedResource": { + "resourceId": "f921ee6b-8feb-4595-8aa7-3ed34338e8b6", + "resourceType": "Gateway" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusOnPremise.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusOnPremise.json new file mode 100644 index 0000000000..a56c55f7c8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusOnPremise.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2" + }, + "responses": { + "200": { + "body": { + "status": "Online", + "gatewayVersion": "1.2.3", + "gatewayUpgradeState": "UpToDate", + "errorDetails": [ + { + "errorCode": "DMTS_GatewayIsDisabled", + "message": "Gateway is disabled", + "relatedResource": { + "resourceId": "f5a83d6a-78e2-4834-af05-b586e3aeb7e6", + "resourceType": "Gateway" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusVnet.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusVnet.json new file mode 100644 index 0000000000..cf27b6a9e5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CheckGatewayStatusVnet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2" + }, + "responses": { + "200": { + "body": { + "status": "Offline", + "gatewayVersion": "1.2.3", + "gatewayUpgradeState": "UpToDate", + "errorDetails": [ + { + "errorCode": "DM_GWPipeline_Client_GatewayUnreachable", + "message": "Gateway is unreachable", + "relatedResource": { + "resourceId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2", + "resourceType": "Gateway" + } + } + ] + } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": "30" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CreateStreamingVirtualNetworkGateway.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CreateStreamingVirtualNetworkGateway.json new file mode 100644 index 0000000000..26ae916c1e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/CreateStreamingVirtualNetworkGateway.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "createGatewayRequest": { + "type": "StreamingVirtualNetwork", + "displayName": "ContosoStreamingVirtualNetworkGateway", + "virtualNetworkAzureResource": { + "subscriptionId": "879b4ba0-ed17-4ff2-851e-4a2228e00b70", + "resourceGroupName": "ContosoResourceGroup", + "virtualNetworkName": "ContosoVirtualNetwork", + "subnetName": "ContosoSubnet" + } + } + }, + "responses": { + "201": { + "body": { + "id": "271c5c9a-0860-4927-b1da-ce49008d6565", + "type": "StreamingVirtualNetwork", + "displayName": "ContosoStreamingVirtualNetworkGateway", + "virtualNetworkAzureResource": { + "subscriptionId": "879b4ba0-ed17-4ff2-851e-4a2228e00b70", + "resourceGroupName": "ContosoResourceGroup", + "virtualNetworkName": "ContosoVirtualNetwork", + "subnetName": "ContosoSubnet" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ListGateways.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ListGateways.json index d4e9dd1533..526977837a 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ListGateways.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ListGateways.json @@ -40,6 +40,17 @@ }, "inactivityMinutesBeforeSleep": 1440, "numberOfMemberGateways": 3 + }, + { + "id": "3f8d6a4b-1c2e-4f5a-9b7c-2d6e8f1a3b9d", + "type": "StreamingVirtualNetwork", + "displayName": "ContosoStreamingVirtualNetworkGateway", + "virtualNetworkAzureResource": { + "subscriptionId": "879b4ba0-ed17-4ff2-851e-4a2228e00b70", + "resourceGroupName": "ContosoResourceGroup", + "virtualNetworkName": "ContosoVirtualNetwork", + "subnetName": "ContosoSubnet" + } } ], "continuationToken": "LDEsMTAwMDAwLDA%3D", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/RestartGateway.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/RestartGateway.json new file mode 100644 index 0000000000..3f6e3f133a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/RestartGateway.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2" + }, + "responses": { + "200": { + "description": "Gateway successfully restarted." + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": "30" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ShutdownGateway.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ShutdownGateway.json new file mode 100644 index 0000000000..d0cf150a98 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/ShutdownGateway.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "gatewayId": "8e41c4dd-a382-4937-9bf3-695ab881f7c2" + }, + "responses": { + "200": { + "description": "Gateway successfully shut down." + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "x-ms-operation-id": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "Retry-After": "30" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/UpdateStreamingVirtualNetworkGateway.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/UpdateStreamingVirtualNetworkGateway.json new file mode 100644 index 0000000000..23842533c4 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/gateways/UpdateStreamingVirtualNetworkGateway.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "gatewayId": "7015263e-885f-455b-80f7-bbf862899176", + "updateGatewayRequest": { + "type": "StreamingVirtualNetwork", + "displayName": "ContosoStreamingVirtualNetworkGateway1" + } + }, + "responses": { + "200": { + "body": { + "id": "7015263e-885f-455b-80f7-bbf862899176", + "type": "StreamingVirtualNetwork", + "displayName": "ContosoStreamingVirtualNetworkGateway1", + "virtualNetworkAzureResource": { + "subscriptionId": "879b4ba0-ed17-4ff2-851e-4a2228e00b70", + "resourceGroupName": "ContosoResourceGroup", + "virtualNetworkName": "ContosoVirtualNetwork", + "subnetName": "ContosoSubnet" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceEncryption.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceEncryption.json new file mode 100644 index 0000000000..d760573e6b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceEncryption.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a", + "assignWorkspaceEncryptionRequest": { + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/" + } + }, + "responses": { + "200": { + "description": "Request completed successfully." + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateWorkspaceRequiredOnly.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateWorkspaceRequiredOnly.json index 2c42f928ef..e1444cf3e4 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateWorkspaceRequiredOnly.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateWorkspaceRequiredOnly.json @@ -13,7 +13,8 @@ "id": "cfafbeb1-8037-4d0c-896e-a46fb22287ff", "displayName": "New workspace", "description": "", - "type": "Workspace" + "type": "Workspace", + "capacityRegion": "West US" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetDownstreamRelations.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetDownstreamRelations.json new file mode 100644 index 0000000000..dbd9534419 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetDownstreamRelations.json @@ -0,0 +1,41 @@ +{ + "title": "Get downstream relations example", + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "itemId": "9b218778-e7a5-4d73-8187-f10824047715", + "beta": true + }, + "responses": { + "200": { + "body": { + "items": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "type": "Report", + "displayName": "Q4 Sales Dashboard", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + { + "id": "9b218778-e7a5-4d73-8187-f10824047715", + "type": "SemanticModel", + "displayName": "Sales Semantic Model", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + ], + "relations": [ + { + "itemId": "3546052c-ae64-4526-b1a8-52af7761426f", + "dependentOnItemId": "9b218778-e7a5-4d73-8187-f10824047715", + "relationType": "PushData" + } + ], + "workspaces": [ + { + "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "displayName": "Finance Analytics Workspace" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetUpstreamRelations.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetUpstreamRelations.json new file mode 100644 index 0000000000..a071b4c416 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetUpstreamRelations.json @@ -0,0 +1,35 @@ +{ + "title": "Get upstream relations example", + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "itemId": "3546052c-ae64-4526-b1a8-52af7761426f", + "beta": true + }, + "responses": { + "200": { + "body": { + "items": [ + { + "id": "9b218778-e7a5-4d73-8187-f10824047715", + "type": "Lakehouse", + "displayName": "Enterprise Sales Lakehouse", + "workspaceId": "9a1f7d8b-4f9c-4c1e-b8e7-3d6c2b0a5f41" + } + ], + "relations": [ + { + "itemId": "3546052c-ae64-4526-b1a8-52af7761426f", + "dependentOnItemId": "9b218778-e7a5-4d73-8187-f10824047715", + "relationType": "PushData" + } + ], + "workspaces": [ + { + "id": "9a1f7d8b-4f9c-4c1e-b8e7-3d6c2b0a5f41", + "displayName": "Data Engineering Workspace" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionInprogressSuccessResult.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionInprogressSuccessResult.json new file mode 100644 index 0000000000..8dfb2a9bbb --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionInprogressSuccessResult.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a" + }, + "responses": { + "200": { + "body": { + "encryptionDetail": { + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/", + "encryptionStatus": "EnableInProgress" + }, + "previousEncryptionDetail": { + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/key1/", + "encryptionStatus": "Active" + }, + "workspaceEncryptionItemsDetails": [ + { + "items": [ + { + "displayName": "copyjob1", + "type": "CopyJob", + "id": "9d922047-55a9-4737-8ec0-f34a320100bc" + }, + { + "displayName": "copyjob2", + "type": "CopyJob", + "id": "8d022047-55a9-4737-8ec0-f34a320100b7" + } + ], + "encryptionStatus": "EnableInProgress" + } + ] + }, + "headers": { + "Retry-After": 900 + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionSuccessResult.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionSuccessResult.json new file mode 100644 index 0000000000..94aa55100b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceEncryptionSuccessResult.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a" + }, + "responses": { + "200": { + "body": { + "encryptionDetail": { + "keyIdentifier": "https://westus07112025-cmktest1.vault.azure.net/keys/test2k/", + "encryptionStatus": "Active" + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json index a7d8348412..3e07bfa28c 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json @@ -29,6 +29,7 @@ "type": "Workspace", "capacityId": "171018af-1531-4e61-942a-74f024b7f9fd", "domainId": "7c889f28-999b-4945-840d-54da3e3b5a29", + "capacityRegion": "East US", "tags": [ { "id": "9b8c7d6e-5f4a-3b2c-1d0e-9f8a7b6c5d4e", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithContinuation.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithContinuation.json index 8127c83e6f..909cc65b88 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithContinuation.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithContinuation.json @@ -21,7 +21,8 @@ "displayName": "Finance", "description": "A workspace used by the finance team", "type": "Workspace", - "capacityId": "171018af-1531-4e61-942a-74f024b7f9fd" + "capacityId": "171018af-1531-4e61-942a-74f024b7f9fd", + "capacityRegion": "East US" } ], "continuationToken": "LDEsMTAwMDAwLDA%3D", diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ResetWorkspaceEncryption.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ResetWorkspaceEncryption.json new file mode 100644 index 0000000000..a5d18c69b5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ResetWorkspaceEncryption.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a" + }, + "responses": { + "200": { + "description": "Request completed successfully." + } + } +} diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json index 8e9dee4df6..1c165dad3a 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json @@ -13,7 +13,8 @@ "displayName": "Workspace New displayName", "description": "Workspace New description", "type": "Workspace", - "domainId": "686177b9-ef29-45e4-a5db-1786ca6dbb9f" + "domainId": "686177b9-ef29-45e4-a5db-1786ca6dbb9f", + "capacityRegion": "East US" } } } diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json index ff958735f0..edf3f5418e 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json @@ -7732,7 +7732,7 @@ "/workspaces/{workspaceId}/managedPrivateEndpoints": { "get": { "summary": "Returns a list of managed private endpoints associated with the specified workspace.", - "description": "> [!NOTE]\n> This API is part of a Preview 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\n The caller must have *viewer* or higher 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", + "description": "## Permissions\n\n The caller must have *viewer* or higher 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": [ "ManagedPrivateEndpoints" ], @@ -7798,7 +7798,7 @@ }, "post": { "summary": "Creates a managed private endpoint in the specified workspace.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## Limitations \n- To create managed private endpoint 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", + "description": "## Permissions\n\nThe caller must have *admin* workspace role.\n\n## Required Delegated Scopes \n\nWorkspace.ReadWrite.All.\n\n## Limitations \n- To create managed private endpoint 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": [ "ManagedPrivateEndpoints" ], @@ -7871,7 +7871,7 @@ "/workspaces/{workspaceId}/managedPrivateEndpoints/{managedPrivateEndpointId}": { "delete": { "summary": "Deletes the specified managed private endpoint.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## 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", + "description": "## Permissions\n\nThe caller must have *admin* workspace role.\n\n## Required Delegated Scopes \n\nWorkspace.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": [ "ManagedPrivateEndpoints" ], @@ -7929,7 +7929,7 @@ }, "get": { "summary": "Gets the specified managed private endpoint.", - "description": "> [!NOTE]\n> This API is part of a Preview 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## 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", + "description": "## 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## 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": [ "ManagedPrivateEndpoints" ], @@ -8103,6 +8103,9 @@ "Virtual network gateway example": { "$ref": "./examples/connections/CreateVirtualNetworkGatewayConnection.json" }, + "Streaming virtual network gateway example": { + "$ref": "./examples/connections/CreateStreamingVirtualNetworkGatewayConnection.json" + }, "Cloud example": { "$ref": "./examples/connections/CreateCloudConnection.json" }, @@ -8235,6 +8238,9 @@ "Virtual network gateway example": { "$ref": "./examples/connections/UpdateVirtualNetworkGatewayConnection.json" }, + "Streaming virtual network gateway example": { + "$ref": "./examples/connections/UpdateStreamingVirtualNetworkGatewayConnection.json" + }, "Shareable cloud example": { "$ref": "./examples/connections/UpdateShareableCloudConnection.json" }, @@ -8297,7 +8303,7 @@ "/connections/{connectionId}/testConnection": { "post": { "summary": "Tests the connection.", - "description": "Provides the status of the specified connection.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nPermission to read the connection, or admin permission for the gateway that hosts the connection.\n\n## Required Delegated Scopes \n\nConnection.Read.All or Connection.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", + "description": "Provides the status of the specified connection.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n[!NOTE]\n> Connections that route through a streaming virtual network gateway (`connectivityType` = `StreamingVirtualNetworkGateway`) are not supported.\n\n## Permissions\n\nPermission to read the connection, or admin permission for the gateway that hosts the connection.\n\n## Required Delegated Scopes \n\nConnection.Read.All or Connection.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": [ "Connections" ], @@ -8556,6 +8562,9 @@ "x-ms-examples": { "Virtual network gateway example": { "$ref": "./examples/gateways/CreateVirtualNetworkGateway.json" + }, + "Streaming virtual network gateway example": { + "$ref": "./examples/gateways/CreateStreamingVirtualNetworkGateway.json" } } } @@ -8679,6 +8688,9 @@ }, "Virtual network gateway example": { "$ref": "./examples/gateways/UpdateVirtualNetworkGateway.json" + }, + "Streaming virtual network gateway example": { + "$ref": "./examples/gateways/UpdateStreamingVirtualNetworkGateway.json" } } }, @@ -8921,6 +8933,239 @@ } } }, + "/gateways/{gatewayId}/checkStatus": { + "post": { + "summary": "Checks the status of the specified gateway.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have permission for the gateway.\n\n## Required Delegated Scopes\n\nGateway.Read.All or Gateway.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": [ + "Gateways" + ], + "operationId": "Gateways_CheckGatewayStatus", + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": true, + "parameters": [ + { + "in": "path", + "name": "gatewayId", + "description": "The ID of the gateway.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/gateways.json#/definitions/GatewayStatusResponse" + } + }, + "202": { + "description": "Request accepted, status check is in progress.", + "headers": { + "Location": { + "description": "The URL of the operation status. Can be used to track the operation state.", + "type": "string" + }, + "x-ms-operation-id": { + "description": "The operation ID. 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* EntityNotFound - The requested resource could not be found.\n\n* InsufficientPermissionsToManageGateway - The caller has insufficient permissions to manage this gateway.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Virtual network gateway example": { + "$ref": "./examples/gateways/CheckGatewayStatusVnet.json" + }, + "On premise data gateway example when gateway cluster is online but one of the gateway member encounters an error": { + "$ref": "./examples/gateways/CheckGatewayStatusOnPremise.json" + } + } + } + }, + "/gateways/{gatewayId}/members/{gatewayMemberId}/checkStatus": { + "post": { + "summary": "Checks the status of the specified gateway member.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have permission for the gateway.\n\n## Required Delegated Scopes\n\nGateway.Read.All or Gateway.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": [ + "Gateways" + ], + "operationId": "Gateways_CheckGatewayMemberStatus", + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": true, + "parameters": [ + { + "in": "path", + "name": "gatewayId", + "description": "The ID of the gateway.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "gatewayMemberId", + "description": "The ID of the gateway member.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/gateways.json#/definitions/GatewayStatusResponse" + } + }, + "202": { + "description": "Request accepted, status check is in progress.", + "headers": { + "Location": { + "description": "The URL of the operation status. Can be used to track the operation state.", + "type": "string" + }, + "x-ms-operation-id": { + "description": "The operation ID. 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* EntityNotFound - The requested resource could not be found.\n\n* InsufficientPermissionsToManageGateway - The caller has insufficient permissions to manage this gateway.\n\n* UnsupportedGatewayType - This operation is not supported for the vnet gateway type.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Online gateway member example": { + "$ref": "./examples/gateways/CheckGatewayMemberStatus.json" + }, + "Offline gateway member example": { + "$ref": "./examples/gateways/CheckGatewayMemberStatusOffline.json" + } + } + } + }, + "/gateways/{gatewayId}/restart": { + "post": { + "summary": "Restarts the specified gateway.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have admin permission for the gateway.\n\n## Required Delegated Scopes\n\nGateway.ReadWrite.All\n\n## Limitations\n\nThis operation is only supported for vnet data gateway.\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": [ + "Gateways" + ], + "operationId": "Gateways_RestartGateway", + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": true, + "parameters": [ + { + "in": "path", + "name": "gatewayId", + "description": "The ID of the gateway.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Successfully restarted." + }, + "202": { + "description": "Accepted. Gateway restart operation has been initiated.", + "headers": { + "Location": { + "description": "The URI to call to fetch status on the execution job.", + "type": "string" + }, + "x-ms-operation-id": { + "description": "The operation ID. 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": "Number of seconds to wait before next call to fetch the status." + } + } + }, + "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* EntityNotFound - The requested resource could not be found.\n\n* InsufficientPermissionsToManageGateway - The caller has insufficient permissions to manage this gateway.\n\n* UnsupportedGatewayType - This operation is not supported for on-premise data gateways.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/gateways/RestartGateway.json" + } + } + } + }, "/gateways/{gatewayId}/roleAssignments": { "get": { "summary": "Returns a list of gateway role assignments.", @@ -9257,42 +9502,48 @@ } } }, - "/connections/{connectionId}/roleAssignments": { - "get": { - "summary": "Returns a list of connection role assignments.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n- The caller must have *User* or higher role on the connection or be an *Admin* on the gateway that's bound to the connection.\n\n## Required Delegated Scopes\n\nConnection.Read.All or Connection.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", + "/gateways/{gatewayId}/shutdown": { + "post": { + "summary": "Shuts down the specified gateway.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must have admin permission for the gateway.\n\n## Required Delegated Scopes\n\nGateway.ReadWrite.All\n\n## Limitations\n\nThis operation is only supported for vnet data gateway.\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": [ - "Connections" + "Gateways" ], - "operationId": "Connections_ListConnectionRoleAssignments", + "operationId": "Gateways_ShutdownGateway", "produces": [ "application/json" ], - "x-ms-pageable": { - "nextLinkName": "continuationUri" - }, + "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { "in": "path", - "name": "connectionId", - "description": "The ID of the connection.", + "name": "gatewayId", + "description": "The ID of the gateway.", "type": "string", "format": "uuid", "required": true - }, - { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "type": "string", - "required": false } ], "responses": { "200": { - "description": "OK. The operation was successful.", - "schema": { - "$ref": "./definitions/connections.json#/definitions/ConnectionRoleAssignments" + "description": "Successfully shutdown." + }, + "202": { + "description": "Accepted. Gateway shutdown operation has been initiated.", + "headers": { + "Location": { + "description": "The URI to call to fetch status on the execution job.", + "type": "string" + }, + "x-ms-operation-id": { + "description": "The operation ID. 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": "Number of seconds to wait before next call to fetch the status." + } } }, "429": { @@ -9309,21 +9560,86 @@ } }, "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "description": "Common error codes:\n\n* EntityNotFound - The requested resource could not be found.\n\n* InsufficientPermissionsToManageGateway - The caller has insufficient permissions to manage this gateway.\n\n* UnsupportedGatewayType - This operation is not supported for on-premise data gateways.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List connection role assignment example": { - "$ref": "./examples/connections/ListConnectionRoleAssignments.json" - }, - "List connection role assignment with continuation example": { - "$ref": "./examples/connections/ListConnectionRoleAssignmentsWithContinuation.json" + "Example": { + "$ref": "./examples/gateways/ShutdownGateway.json" } } - }, + } + }, + "/connections/{connectionId}/roleAssignments": { + "get": { + "summary": "Returns a list of connection role assignments.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n- The caller must have *User* or higher role on the connection or be an *Admin* on the gateway that's bound to the connection.\n\n## Required Delegated Scopes\n\nConnection.Read.All or Connection.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": [ + "Connections" + ], + "operationId": "Connections_ListConnectionRoleAssignments", + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "parameters": [ + { + "in": "path", + "name": "connectionId", + "description": "The ID of the connection.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "continuationToken", + "description": "A token for retrieving the next page of results.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "./definitions/connections.json#/definitions/ConnectionRoleAssignments" + } + }, + "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 connection role assignment example": { + "$ref": "./examples/connections/ListConnectionRoleAssignments.json" + }, + "List connection role assignment with continuation example": { + "$ref": "./examples/connections/ListConnectionRoleAssignmentsWithContinuation.json" + } + } + }, "post": { "summary": "Adds a connection role assignment.", "description": "To get the principal user ID required for request body, see [Find the user ID](/partner-center/find-ids-and-domain-names#find-the-user-object-id).\n\n## Permissions\n\n- The caller must have *UserWithReshare* or higher role on the connection or be an *Admin* on the gateway that's bound to the connection.\n\n## Required Delegated Scopes\n\nConnection.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", @@ -10369,6 +10685,177 @@ } } }, + "/workspaces/{workspaceId}/encryption": { + "get": { + "summary": "Gets the workspace Customer-Managed Key (CMK) encryption settings.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\nReturns the CMK encryption settings and status for the specified workspace. \n\n## Permissions\n\n The caller must have *viewer* or higher 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": [ + "Workspaces" + ], + "operationId": "Workspaces_GetWorkspaceEncryption", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully. If encryption is in progress, the response includes a `Retry-After` header.\n\n---\n**Headers:**\n\n**Retry-After** `integer` - Indicates the number of seconds after which the client can retry to get the encryption status.", + "schema": { + "$ref": "./definitions/workspaceCmk.json#/definitions/WorkspaceEncryptionDetail" + } + }, + "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 workspace CMK encryption active example": { + "$ref": "./examples/platform/GetWorkspaceEncryptionSuccessResult.json" + }, + "Get workspace CMK encryption in progress example": { + "$ref": "./examples/platform/GetWorkspaceEncryptionInprogressSuccessResult.json" + } + } + } + }, + "/workspaces/{workspaceId}/encryption/assign": { + "post": { + "summary": "Assigns a Customer-Managed Key (CMK) to a workspace.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\nEnables CMK encryption for the workspace or rotates the encryption key for the workspace. \n\n## Permissions\n\nThe caller must have an *admin* workspace role.\n\n## Required Delegated Scopes \n\nWorkspace.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": [ + "Workspaces" + ], + "operationId": "Workspaces_AssignWorkspaceEncryption", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "assignWorkspaceEncryptionRequest", + "description": "Assign workspace encryption request payload.", + "schema": { + "$ref": "./definitions/workspaceCmk.json#/definitions/AssignWorkspaceEncryptionRequest" + }, + "required": 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": { + "Assign workspace CMK encryption example": { + "$ref": "./examples/platform/AssignWorkspaceEncryption.json" + } + } + } + }, + "/workspaces/{workspaceId}/encryption/reset": { + "post": { + "summary": "Resets the workspace encryption by removing the Customer-Managed Key (CMK) encryption configuration.", + "description": "> [!NOTE]\n> This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.\n\nAfter reset, the workspace data remains encrypted using Fabric's default Microsoft-managed keys. \n\n## Permissions\n\nThe caller must have an *admin* workspace role.\n\n## Required Delegated Scopes \n\nWorkspace.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": [ + "Workspaces" + ], + "operationId": "Workspaces_ResetWorkspaceEncryption", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": 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": { + "Reset workspace CMK encryption example": { + "$ref": "./examples/platform/ResetWorkspaceEncryption.json" + } + } + } + }, "/workspaces/{workspaceId}/networking/communicationPolicy/inbound/firewall": { "get": { "summary": "Returns the IP firewall rules for the workspace. This API is designed to help workspace administrators view the effective IP firewall rules. This feature is currently in preview.", @@ -10482,11 +10969,149 @@ } } } + }, + "/workspaces/{workspaceId}/items/{itemId}/relations/downstream?beta=true": { + "get": { + "tags": [ + "Items" + ], + "summary": "Gets downstream relations for an item.", + "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**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\nReturns all items that are downstream of the specified item, including the relation edges and referenced workspaces.\n\n## Permissions\n\nThe caller must have *read* permissions for the item.\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", + "operationId": "Items_Get_Downstream_Relations_(beta)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "itemId", + "description": "The item 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 + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/relations.json#/definitions/RelationsResponse" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get downstream relations example": { + "$ref": "./examples/platform/GetDownstreamRelations.json" + } + } + } + }, + "/workspaces/{workspaceId}/items/{itemId}/relations/upstream?beta=true": { + "get": { + "tags": [ + "Items" + ], + "summary": "Gets upstream relations for an item.", + "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**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**\n\nReturns all items that are upstream of the specified item, including the relation edges and referenced workspaces.\n\n## Permissions\n\nThe caller must have *read* permissions for the item.\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", + "operationId": "Items_Get_Upstream_Relations_(beta)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "itemId", + "description": "The item 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 + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/relations.json#/definitions/RelationsResponse" + } + }, + "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* InsufficientPrivileges - The caller does not have sufficient permissions to access the item.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get upstream relations example": { + "$ref": "./examples/platform/GetUpstreamRelations.json" + } + } + } } }, "responses": {}, "security": [], "tags": [] } - - diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/databricks-storage-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/databricks-storage-definition.md new file mode 100644 index 0000000000..5929422762 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/databricks-storage-definition.md @@ -0,0 +1,43 @@ +# Azure Databricks Storage definition + +This article provides a breakdown of the structure for Azure Databricks Storage definition items. + +## Supported formats + +AzureDatabricksStorageDefinition items support the `JSON` format. + +## Definition parts + +The following table describes the parts included in the Azure Databricks Storage definition. + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `definition.json` | [definition](#definition) | true | Describes the properties of the Azure Databricks Storage item | +| `.platform` | PlatformDetails (JSON) | false | Describes common details of the item | + +## Definition + +There aren't any properties described in the Azure Databricks Storage definition, so an empty object is given. + +```json +{} +``` + +## Definition example + +```json +{ +"parts": [ + { + "path": "definition.json", + "payload": "e30=", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2UiLAogICAgImRpc3BsYXlOYW1lIjogIkF6dXJlRGF0YWJyaWNrc1N0b3JhZ2VfMzQ3cG1fMTNNYXkiLAogICAgImRlc2NyaXB0aW9uIjogIkF1cm9yYSBDYXJ0IFN0b3JhZ2UgY3JlYXRlZCB2aWEgRmFicmljIHB1YmxpYyBBUEkuIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } +] +} +``` diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/dataflow-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/dataflow-definition.md index 9994b88a79..6c417b4896 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/dataflow-definition.md +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/dataflow-definition.md @@ -8,6 +8,7 @@ This article provides a breakdown of the definition structure for dataflow items |--|--|--|--| | `queryMetadata.json` | [Metadata ContentDetails](#metadata-contentdetails) (JSON) | true | Describes metadata related to query options in dataflow | | `mashup.pq` | [Mashup ContentDetails](#mashup-contentdetails-example) (PQ) | true | Describes mashup content of payload. It contains sequence of all the steps performed in dataflow | +| `.mdf` | [MDFTransform ContentDetails](#mdftransform-contentdetails) (JSON) | false | Describes Mapping Data Flow (MDF) transform content of the payload. There can be multiple MDF transforms within a dataflow | ## Metadata ContentDetails @@ -85,6 +86,11 @@ Describes content of payload "queryGroupId": null, "isHidden": false, "loadEnabled": true + }, + "MDF transform": { + "queryId": "9c6d7c87-83db-4718-b382-c0c1aa1636d7", + "queryName": "MDF transform", + "loadEnabled": false } }, "connections": [ @@ -114,4 +120,122 @@ let Source = Lakehouse.Contents([]), #"Lowercased text" = Table.TransformColumns(#"Changed column type", {{"countryRegionCode", each Text.Lower(_), type nullable text}}), #"Uppercased text" = Table.TransformColumns(#"Lowercased text", {{"normalizeHolidayName", each Text.Upper(_), type nullable text}}), #"Calculated text length" = Table.TransformColumns(#"Uppercased text", {{"countryOrRegion", each Text.Length(_), type nullable Int64.Type}})in #"Calculated text length"; -``` \ No newline at end of file +[ItemType = "MDF"] +shared #"MDF transform" = "___ExternalResource-Placeholder___"; +``` + +## MDFTransform ContentDetails + +Describes the content of a Mapping Data Flow payload. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| name | String | true | The name of the mapping data flow | +| properties | [Properties](#mdftransform-properties-contents) | true | The properties of the mapping data flow | + +### MDFTransform Properties Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| type | String | true | The type of the dataflow. The allowed value is `MappingDataFlow` | +| typeProperties | [TypeProperties](#mdftransform-typeproperties-contents) | true | The type properties of the mapping data flow | + +### MDFTransform TypeProperties Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| sources | [Source](#mdftransform-source-contents)[] | false | The list of sources in the mapping data flow | +| sinks | [Sink](#mdftransform-sink-contents)[] | false | The list of sinks in the mapping data flow | +| transformations | [Transformation](#mdftransform-transformation-contents)[] | false | The list of transformations in the mapping data flow | +| scriptLines | String[] | true | The script lines that define the mapping data flow logic | + +### MDFTransform Source Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| name | String | true | The name of the source | +| externalReferences | [ExternalReferences](#mdftransform-externalreferences-contents) | false | The external references for the source | + +### MDFTransform Sink Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| name | String | true | The name of the sink | +| externalReferences | [ExternalReferences](#mdftransform-externalreferences-contents) | false | The external references for the sink | + +### MDFTransform Transformation Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| name | String | true | The name of the transformation | + +### MDFTransform ExternalReferences Contents + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------------------------| +| connection | String | false | The connection ID for the external reference | + +### MDFTransform ContentDetails example + +```json +{ + "name": "MDF", + "properties": { + "type": "MappingDataFlow", + "typeProperties": { + "sources": [ + { + "name": "source1", + "externalReferences": { + "connection": "" + } + } + ], + "sinks": [ + { + "name": "sink1", + "externalReferences": { + "connection": "" + } + } + ], + "transformations": [ + { + "name": "derivedColumn1" + } + ], + "scriptLines": [ + "source(output(", + " Column1 as short,", + " Column2 as string,", + " Column3 as date,", + " Column4 as boolean,", + " Column5 as string,", + " Column6 as double", + " ),", + " useSchema: false,", + " allowSchemaDrift: true,", + " validateSchema: false,", + " ignoreNoFilesFound: false,", + " format: 'delimited',", + " fileSystem: 'folder1',", + " fileName: 'file1.csv',", + " columnDelimiter: ',',", + " escapeChar: '\\\\',", + " quoteChar: '\\\"',", + " columnNamesAsHeader: true) ~> source1", + "source1 derive(isColumn6GreaterThan10 = Column6>10) ~> derivedColumn1", + "derivedColumn1 sink(allowSchemaDrift: true,", + " validateSchema: false,", + " format: 'json',", + " fileSystem: 'output1',", + " umask: 0022,", + " preCommands: [],", + " postCommands: [],", + " skipDuplicateMapInputs: true,", + " skipDuplicateMapOutputs: true) ~> sink1" + ] + } + } +} +``` diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/graph-model-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/graph-model-definition.md index 2a3a8eb988..65d22e71ee 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/graph-model-definition.md +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/graph-model-definition.md @@ -185,6 +185,7 @@ Describes the style of a model element. ```json { + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphIndex/definition/dataSources/1.1.0/schema.json", "dataSources": [ { "name": "Customer_Table", @@ -222,7 +223,7 @@ Describes the style of a model element. ```json { - "schemaVersion": "1.0.0", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphIndex/definition/graphDefinition/1.0.0/schema.json", "nodeTables": [ { "id": "Customer_5b6cb156-c778-4fce-8606-f0f712c04818", @@ -452,7 +453,7 @@ Describes the style of a model element. ```json { - "schemaVersion": "1.0.0", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphIndex/definition/graphType/1.0.0/schema.json", "nodeTypes": [ { "alias": "Customer_nodeType", @@ -632,7 +633,7 @@ Describes the style of a model element. ```json { - "schemaVersion": "1.0.0", + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphIndex/definition/stylingConfiguration/1.0.0/schema.json", "modelLayout": { "positions": { "Customer_nodeType": { diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/mirrored-database-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/mirrored-database-definition.md index a4d9a28883..818d5dc8aa 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/mirrored-database-definition.md +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/mirrored-database-definition.md @@ -42,14 +42,19 @@ Latest values for the source type (Additional source types may be added over tim | Name | Description | |--|--| -| `Snowflake` | Represents a Snowflake source. | +| `AzureMySql` | Represents an Azure Database for MySQL source. | +| `AzurePostgreSql` | Represents an Azure Database for PostgreSQL source. | | `AzureSqlDatabase` | Represents an Azure SQL Database source. | | `AzureSqlMI` | Represents an Azure SQL Managed Instance source. | -| `AzurePostgreSql` | Represents an Azure PostgreSQL source. | | `CosmosDb` | Represents a Cosmos DB source. | -| `SqlServer2025` | Represents a SQL Server 2025 source. | -| `MSSQL` | Represents a Microsoft SQL Server 2016-2022 source. | | `GenericMirror` | Represents an open mirroring source. | +| `GoogleBigQuery` | Represents a Google BigQuery source. | +| `MSSQL` | Represents a Microsoft SQL Server 2016-2022 source. | +| `Oracle` | Represents an Oracle source. | +| `SAP` | Represents an SAP source. | +| `SharePointList` | Represents a SharePoint List source. | +| `Snowflake` | Represents a Snowflake source. | +| `SqlServer2025` | Represents a SQL Server 2025 source. | ### SourceTypeProperties @@ -57,8 +62,48 @@ Describes the source type properties. | Name | Type | Required | Description | |--|--|--|--| -| `connection` | Guid | false | The connection identifier for the source database. Not required for `GenericMirror` source type. | -| `database` | String | false | The name of the source database. Not required for `GenericMirror`, `AzureSqlDatabase`, `AzureSqlMI`, or `AzurePostgreSql` source types. | +| `connection` | Guid | false | The connection identifier for the source database. Not required for `GenericMirror` or `SAP` source types. | +| `database` | String | false | The name of the source database. Required only for `Snowflake` and `CosmosDb` source types. | +| `externalStorages` | [ExternalStorageProperties[]](#externalstorageproperties) | false | The external storage configuration for Snowflake sources, such as Amazon S3. | +| `subType` | String | false | The SAP subtype for the source. For example, `Datasphere`. | +| `landingZone` | [LandingZoneProperties](#landingzoneproperties) | false | The landing zone configuration for SAP mirror sources. | + +### ExternalStorageProperties + +Describes an external storage configuration for a Snowflake mirror source. + +| Name | Type | Required | Description | +|--|--|--|--| +| `type` | String | true | The external storage type. For example, `AmazonS3`. | +| `typeProperties` | [ExternalStorageTypeProperties](#externalstoragetypeproperties) | true | Properties for the external storage connection. | + +### ExternalStorageTypeProperties + +Describes the external storage connection properties. + +| Name | Type | Required | Description | +|--|--|--|--| +| `connection` | Guid | true | The connection identifier for the external storage. | + +### LandingZoneProperties + +Describes the landing zone configuration for an SAP mirror source. + +| Name | Type | Required | Description | +|--|--|--|--| +| `type` | String | true | The landing zone type. For example, `Lakehouse`. | +| `typeProperties` | [LandingZoneTypeProperties](#landingzonetypeproperties) | true | Properties for the landing zone connection. | + +### LandingZoneTypeProperties + +Describes the landing zone connection properties. + +| Name | Type | Required | Description | +|--|--|--|--| +| `connection` | Guid | true | The connection identifier for the landing zone. | +| `workspaceId` | Guid | true | The Fabric workspace identifier for the landing zone. | +| `artifactId` | Guid | true | The Fabric item identifier for the landing zone. | +| `rootFolder` | String | true | The root folder path within the landing zone. | ### TargetProperties @@ -76,7 +121,9 @@ Describes the properties for the target. | Name | Type | Required | Description | |--|--|--|--| | `defaultSchema` | String | false | The default schema for the target. | +| `enableDeltaChangeDataFeed` | Boolean | false | Enables the Delta Change Data Feed for the mirrored database when set to `true`. | | `format` | String | true | The format for the target (currently only `Delta` is supported). | +| `retentionInDays` | Integer | false | The number of days to retain mirrored data. Supported values are from 1 through 30; the default value is 7. | ### MountedTable @@ -113,15 +160,24 @@ To see how to create a JSON file describing a mirrored database item for various "source": { "type": "Snowflake", "typeProperties": { - "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", - "database": "TESTDB" + "connection": "1d6e9b5e-bdf8-453a-a17e-372c293c7b8a", + "database": "test", + "externalStorages": [ + { + "type": "AmazonS3", + "typeProperties": { + "connection": "71bbebff-149c-4832-920c-7e1aabdabb2a" + } + } + ] } }, "target": { "type": "MountedRelationalDatabase", "typeProperties": { "defaultSchema": "dbo", - "format": "Delta" + "format": "Delta", + "retentionInDays": 1 } }, "mountedTables": [ @@ -138,6 +194,37 @@ To see how to create a JSON file describing a mirrored database item for various } ``` +The following example shows the SAP mirror model with `subType` and `landingZone`: + +```json +{ + "properties": { + "source": { + "type": "SAP", + "typeProperties": { + "subType": "Datasphere", + "landingZone": { + "type": "Lakehouse", + "typeProperties": { + "connection": "11111111-2222-3333-4444-555555555555", + "workspaceId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "artifactId": "ffffffff-0000-1111-2222-333333333333", + "rootFolder": "Files/test" + } + } + } + }, + "target": { + "type": "MountedRelationalDatabase", + "typeProperties": { + "defaultSchema": "dbo", + "format": "Delta" + } + } + } +} +``` + ## Definition example Here's an example of a Base64-encoded mirrored database definition, where the content from [`mirroring.json` example](#mirroringjson-example) is encoded in Base64 and placed in the `payload` field with the path set to `mirroring.json`: diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/operations-agent-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/operations-agent-definition.md index 6b03e76df5..85381516d9 100644 --- a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/operations-agent-definition.md +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/operations-agent-definition.md @@ -2,11 +2,23 @@ This article provides a breakdown of the definition structure for operations agent items. +> [!WARNING] +> As of June 2026, we have updated the Operations Agent artifact definition schema to account for several feature enhancements for GA release. Among these updates are **two breaking changes**; importing an Operations Agent artifact definition with these two legacy fields may not work as expected. Please update the definition per the following guidance. +> +> **1. `Configuration.goals` property is deprecated.** To simplify the configuration, we have removed the `goals` property completely. You now provide the goals and instructions together in the `instructions` property. +> +> **2. `Configuration.recipient` property is deprecated and replaced with `messageDestination`.** We have recently enabled Teams channels as a destination for agent notifications. To support this, you can now specify whether the recipient should be a `Recipient` upn string, or a `teamId` and `channelId` for Teams channels. An example of `messageDestination` that continues to use a upn recipient: +> +> ```json +> { "messageDestination": { "kind": "Recipient", "recipient": "contoso@microsoft.com" } } +> ``` + + ## Definition parts | Definition part path | type | Required | Description | |--|--|--|--| -| `Configurations.json` | [OperationsAgentDefinition](#operationsagentdefinition-contents) (JSON) | true | Root definition containing configuration (goals, instructions, data sources, actions), playbook, and run state | +| `Configurations.json` | [OperationsAgentDefinition](#operationsagentdefinition-contents) (JSON) | true | Root definition containing configuration (instructions, data sources, actions), playbook, and run state | ## OperationsAgentDefinition contents @@ -14,7 +26,7 @@ Root shape of the definition payload. | Name | Type | Required | Description | |------|------|----------|-------------| -| configuration | [OperationsAgentConfiguration](#operationsagentconfiguration-contents) | true | User-authored configuration: goals, instructions, data sources, and actions | +| configuration | [OperationsAgentConfiguration](#operationsagentconfiguration-contents) | true | User-authored configuration: instructions, data sources, and actions | | playbook | Object | true | Playbook definition (reserved for future expansion). Provide an empty object `{}` if not authored | | shouldRun | Boolean | true | Whether the agent should currently run (`true`) or stay stopped (`false`) | @@ -22,11 +34,11 @@ Root shape of the definition payload. | Name | Type | Required | Description | |------|------|----------|-------------| -| goals | String | true | Business goals for the agent to accomplish | | instructions | String | true | Explicit instructions / procedures the agent should follow | -| dataSources | Object (dictionary of [DataSource](#datasource-contents)) | true | Map of user-chosen data source aliases to data source objects | +| dataSources | Object (dictionary of [DataSource](#datasource-contents) or [variable reference](#variable-references-in-datasources)) | true | Map of user-chosen data source aliases to data source objects (or variable reference strings) | | actions | Object (dictionary of [Action](#action-contents)) | true | Map of user-chosen action aliases to action objects | -| recipient | String | false | Recipient of the operation | +| messageDestination | [MessageDestination](#messagedestination-contents) | false | Where the agent sends notifications. Polymorphic — use the `kind` discriminator to select the destination type | +| identity | [AgentIdentity](#agentidentity-contents) | false | Identity information used when the agent executes | Notes: @@ -40,28 +52,59 @@ Represents a Fabric data source the agent can read from. | Name | Type | Required | Description | |------|------|----------|-------------| | id | String (GUID) | true | Unique identifier for the data source reference | -| type | String (enum) | true | Data source type. Currently only `KustoDatabase` is supported | +| type | String (enum) | true | Data source type. See supported values below | | workspaceId | String (GUID) | true | Workspace ID containing the data source | Supported `type` values: - `KustoDatabase` +- `Ontology` + +#### Variable references in dataSources + +In place of an inline `DataSource` object, a `dataSources` entry value can be a variable reference string that points at a variable in a Fabric variable library. The string must use the format `$(///)`. + +Example: + +```json +"dataSources": { + "primaryKusto": "$(/MyWorkspace/MyLibrary/MyKustoDb)" +} +``` + +You can mix inline data source objects and variable references in the same `dataSources` map. The variable library item itself isn't part of the operations agent definition — deploy it separately (for example, through a Fabric deployment pipeline) so the referenced variables resolve in the target workspace. ### Action contents -Represents an action the agent can invoke (for example, a Power Automate flow action). +Represents an action the agent can invoke. Action is polymorphic — the concrete shape is selected by the `kind` discriminator. + +Common properties: | Name | Type | Required | Description | |------|------|----------|-------------| | id | String (GUID) | true | Unique identifier for the action reference | | displayName | String | true | The display name for the action | | description | String | true | The description for the action | -| kind | String (enum) | true | Action kind. Currently only `PowerAutomateAction` is supported | +| kind | String (enum) | true | Action kind. See supported values below | +| connection | [FabricItemConnection](#fabricitemconnection-contents) | conditional | Required when `kind` is `FabricJobAction`. Specifies the Fabric item and job to invoke. Not used for other kinds | | parameters | [Parameter](#parameter-contents)[] | false | Optional parameter metadata list | Supported `kind` values: -- `PowerAutomateAction` +- `PowerAutomateAction` — a Power Automate flow action. No extra required fields. +- `FabricJobAction` — runs a job on a Fabric item. Requires an additional `connection` object of type [FabricItemConnection](#fabricitemconnection-contents). + +#### FabricItemConnection contents + +Specifies the Fabric item and job to invoke for a `FabricJobAction`. + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| jobArtifactId | String (GUID) | true | Item ID of the Fabric item to run the job on | +| jobWorkspaceId | String (GUID) | true | Workspace ID containing the item | +| itemType | String | true | The Fabric item type (for example, `DataPipeline`, `Notebook`) | +| jobType | String | true | The job type to invoke on the item (for example, `Pipeline`, `RunNotebook`) | +| subItemId | String | false | Identifier for the sub-item being targeted by the job, when applicable | ### Parameter contents @@ -72,6 +115,38 @@ Metadata describing an action parameter (name & optional description). Doesn't i | name | String | true | Parameter name | | description | String | false | Human-friendly description | +### MessageDestination contents + +Polymorphic destination for agent notifications. Use the `kind` discriminator to select the concrete type. + +Supported `kind` values: + +- `Recipient` — a specific user, identified by UPN. + + | Name | Type | Required | Description | + |------|------|----------|-------------| + | kind | String (const `Recipient`) | true | Discriminator | + | recipient | String | true | The UPN of the recipient | + +- `TeamsChannel` — a Microsoft Teams channel. + + | Name | Type | Required | Description | + |------|------|----------|-------------| + | kind | String (const `TeamsChannel`) | true | Discriminator | + | teamId | String | true | The Teams team ID | + | channelId | String | true | The Teams channel ID | + +### AgentIdentity contents + +Identity information for the agent. Used to support agent OBO / app-only scenarios on ALM import/export. + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| principalId | String | false | The principal ID for the agent identity | +| blueprintId | String | false | The agent identity blueprint ID | +| mode | String (enum) | false | Execution mode. Currently `Delegated` | +| sponsor | String | false | The UPN of the sponsor user. Required when `messageDestination` is a non-`Recipient` kind (for example, `TeamsChannel`), since the agent needs a user identity to act on behalf of | + ## OperationsAgentDefinition JSON skeleton Minimal structural skeleton (showing required properties): @@ -79,7 +154,6 @@ Minimal structural skeleton (showing required properties): ```json { "configuration": { - "goals": "", "instructions": "", "dataSources": {}, "actions": {} @@ -94,14 +168,20 @@ Minimal structural skeleton (showing required properties): ```json { "configuration": { - "goals": "Reduce manual triage of operations logs.", - "instructions": "Monitor Kusto database metrics and trigger flow on thresholds.", + "instructions": "Monitor our database metrics. If query timeouts exceed 5 in a minute, send an alert through Power Automate. If no new data arrives in a 24 hour period, +run the remediation pipeline.", "dataSources": { "primaryKusto": { "id": "11111111-2222-3333-4444-555555555555", "type": "KustoDatabase", "workspaceId": "66666666-7777-8888-9999-aaaaaaaaaaaa" - } + }, + "domainOntology": { + "id": "22222222-3333-4444-5555-666666666666", + "type": "Ontology", + "workspaceId": "66666666-7777-8888-9999-aaaaaaaaaaaa" + }, + "variableSourced": "$(/MyWorkspace/MyLibrary/MyKustoDb)" }, "actions": { "notifyFlow": { @@ -112,9 +192,35 @@ Minimal structural skeleton (showing required properties): "parameters": [ { "name": "Severity", "description": "Alert severity level" } ] + }, + "runPipeline": { + "id": "cccccccc-dddd-eeee-ffff-000000000000", + "kind": "FabricJobAction", + "displayName": "Run remediation pipeline", + "description": "Triggers a Fabric data pipeline job for remediation", + "connection": { + "jobArtifactId": "11111111-2222-3333-4444-555555555555", + "jobWorkspaceId": "66666666-7777-8888-9999-aaaaaaaaaaaa", + "itemType": "DataPipeline", + "jobType": "Pipeline", + "subItemId": "sub-1" + }, + "parameters": [ + { "name": "incidentId", "description": "The incident to remediate" } + ] } }, - "recipient": "test@consoto.com" + "messageDestination": { + "kind": "TeamsChannel", + "teamId": "19:abcd1234@thread.tacv2", + "channelId": "19:xyz5678@thread.tacv2" + }, + "identity": { + "principalId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "blueprintId": "ffffffff-0000-1111-2222-333333333333", + "mode": "Delegated", + "sponsor": "AdminUser01@contoso.onmicrosoft.com" + } }, "playbook": {}, "shouldRun": true @@ -125,6 +231,6 @@ Minimal structural skeleton (showing required properties): - All GUID strings must be valid UUIDs. - Provide an empty object for `playbook` until extended schema details are published. -- Use concise, action-oriented statements in `goals` and imperative steps in `instructions`. +- Use concise, action-oriented, and imperative steps in `instructions`. - Keys under `dataSources` and `actions` should be unique within their respective objects. - Future schema versions may introduce more data source `type` values and action `kind` values; validation rejects unknown values. diff --git a/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/paginatedreport-definition.md b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/paginatedreport-definition.md new file mode 100644 index 0000000000..7e2b1b070c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.Docs/src/Resources/item-definitions/paginatedreport-definition.md @@ -0,0 +1,185 @@ +# Paginated Report definition + +This article provides a breakdown of the definition structure for Paginated Report items. + +## Supported formats + +Paginated Report definitions use the `PaginatedReportDefinition` format. The `PaginatedReportDefinition` format is based on the RDL (Report Definition Language) XML format encoded as Base64 string. + +## Definition parts + +The definition of a Paginated Report item with `PaginatedReportDefinition` format is constructed from one required Report Definition Language (RDL) part (and may also include an optional `.platform` part): +* **Path** - The RDL file name, for example: `SamplePaginatedReport.rdl` +* **Payload** - The RDL file content, Base64-encoded. See [Example of payload content decoded from Base64](#example-of-payload-content-decoded-from-base64). +* **Payload type** - `InlineBase64` + +This table lists the Paginated Report definition parts. + +| Definition part path | Type | Required | Description | +|---|---|---|---| +| `.rdl` | Report Definition Language (RDL) | true | The paginated report content in [RDL format](https://learn.microsoft.com/sql/reporting-services/reports/report-definition-language-ssrs?view=sql-server-ver17), encoded as Base64. The file name must match the display name of the report (for example: if `displayName` is `ContosoReport`, the path should be `ContosoReport.rdl`). | +| `.platform` | PlatformDetails (JSON) | false | Describes common details of the item. Typically system-generated and returned by the service. | + +## Definition example + +Here's an example of an item definition for a Paginated Report. The example includes the optional `.platform` part, which is typically system-generated and returned by the service. + +```json +{ + "format": "PaginatedReportDefinition", + "parts": [ + { + "path": "SamplePaginatedReport.rdl", + "payload": "", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "", + "payloadType": "InlineBase64" + } + ] +} +``` + +## Report Definition Language (RDL) definition part + +### Path + +The path contains the full RDL filename suffixed with `.rdl`. It should match exactly the display name of the artifact. +### Payload + +The payload of the RDL definition part contains the paginated report content in [RDL (Report Definition Language)](https://learn.microsoft.com/sql/reporting-services/reports/report-definition-language-ssrs?view=sql-server-ver17) format, encoded as Base64. See the [RDL Schema Specification](https://learn.microsoft.com/openspecs/sql_server_protocols/ms-rdl/53287204-7cd0-4bc9-a5cd-d42a5925dca1) for the full schema reference. + +### Payload type + +`InlineBase64` + +### Example of payload content decoded from Base64 + +```xml + + + Inch + 89cb7e1e-800d-4ef5-8057-1d4f8b5bd12e + + + PBIRB + 15.7.1818.92 + + + PBIRB + 15.7.1818.92 + + 2026-06-18T07:20:20.3631951Z + + Segoe UI + 0 + + + + + + Title + ReportTitle + true + true + + + + + Sample RDL Text + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 2.25in + + + + + 6in + + + 0.45in + true + true + + + ExecutionTime + true + true + + + + + =Globals!ExecutionTime + + + + 0.2in + 4in + 0.25in + 2in + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1in + 1in + 1in + 1in +