From f7b5b9e056ea302ba175859b0101d4b84ea06b93 Mon Sep 17 00:00:00 2001 From: Amos Hersch <39293413+AmosHersch@users.noreply.github.com> Date: Tue, 21 Oct 2025 19:38:59 +0300 Subject: [PATCH] Update Fabric MCP static resources (#901) * Update static resources * item definitions * Make links absolute * Make links absolute 2 * Remove locale --- .../contents/admin/definitions.json | 6 + .../contents/admin/definitions/domains.json | 133 +- .../contents/admin/definitions/tags.json | 9 +- .../admin/examples/AdminListTags.json | 38 +- .../AdminListTagsWithContinuation.json | 38 +- .../admin/examples/GetWorkspaceById.json | 3 +- .../admin/examples/ListWorkspaces.json | 3 +- .../admin/examples/domains/CreateDomain.json | 6 +- .../examples/domains/CreateDomainPreview.json | 21 + .../admin/examples/domains/GetDomainById.json | 5 +- .../domains/GetDomainByIdPreview.json | 17 + .../domains/ListDomainRoleAssignments.json | 36 + .../admin/examples/domains/ListDomains.json | 32 +- .../examples/domains/ListDomainsPreview.json | 61 + .../examples/domains/ListNonEmptyDomains.json | 20 +- .../domains/ListNonEmptyDomainsPreview.json | 41 + .../SyncRoleAssignmentsToSubdomains.json | 11 + .../admin/examples/domains/UpdateDomain.json | 7 +- .../examples/domains/UpdateDomainPreview.json | 22 + .../admin/examples/tags/CreateDomainTags.json | 37 + .../admin/examples/tags/CreateTenantTags.json | 31 + .../tags/CreateTenantTagsExplicit.json | 34 + .../admin/examples/tags/UpdateTag.json | 5 +- .../contents/admin/swagger.json | 602 ++- .../contents/anomalyDetector/definitions.json | 171 + .../examples/CreateAnomalyDetector.json | 42 + ...reateAnomalyDetectorWithoutDefinition.json | 27 + .../examples/DeleteAnomalyDetector.json | 9 + .../examples/GetAnomalyDetector.json | 20 + .../GetAnomalyDetectorDefinition.json | 34 + .../ListAnomalyDetectorsInWorkspace.json | 33 + .../examples/UpdateAnomalyDetector.json | 21 + .../UpdateAnomalyDetectorDefinition.json | 35 + .../contents/anomalyDetector/swagger.json | 469 ++ .../contents/common/definitions.json | 148 +- .../contents/dataflow/definitions.json | 245 +- .../examples/DiscoverDataflowParameters.json | 77 + .../contents/dataflow/swagger.json | 78 +- .../contents/digitalTwinBuilder/swagger.json | 30 +- .../digitalTwinBuilderFlow/swagger.json | 30 +- .../contents/environment/definitions.json | 329 +- .../examples/CreateEnvironment.json | 43 +- .../CreateEnvironmentWithoutDefinition.json | 27 + .../examples/DeleteCustomLibrary.json | 11 + .../examples/DeleteCustomLibraryPreview.json | 11 + .../ExportPublishedExternalLibraries.json | 10 + .../ExportStagingExternalLibraries.json | 10 + .../examples/GetEnvironmentDefinition.json | 58 + .../examples/GetEnvironmentPreview.json | 34 + .../examples/GetEnvironmentSparkCompute.json | 12 +- .../GetEnvironmentSparkComputePreview.json | 31 + .../examples/GetPublishedLibraries.json | 48 +- .../GetPublishedLibrariesPreview.json | 28 + .../examples/GetStagingLibraries.json | 48 +- .../examples/GetStagingLibrariesPreview.json | 28 + .../examples/ImportExternalLibraries.json | 10 + .../examples/PublishCancellation.json | 7 +- .../examples/PublishEnvironment.json | 10 +- .../examples/PublishEnvironmentPreview.json | 26 + .../examples/RemoveExternalLibraries.json | 14 + .../examples/UpdateEnvironmentDefinition.json | 59 + .../UpdateEnvironmentSparkCompute.json | 25 +- ...ronmentSparkComputeInstancePoolWithId.json | 39 + .../UpdateEnvironmentSparkComputePreview.json | 51 + .../examples/UploadCustomLibrary.json | 11 + .../examples/UploadCustomLibraryPreview.json | 10 + .../contents/environment/swagger.json | 1105 ++++- .../definitions/operatorCommon.json | 8 +- .../eventstream/definitions/source.json | 10 +- .../examples/GetEventstreamDestination.json | 44 +- .../GetEventstreamDestinationConnection.json | 18 +- .../examples/GetEventstreamSource.json | 30 +- .../GetEventstreamSourceConnection.json | 16 +- .../examples/GetEventstreamTopology.json | 1218 ++--- .../contents/eventstream/swagger.json | 26 +- .../contents/graphQLApi/swagger.json | 6 +- .../contents/lakehouse/definitions.json | 1056 ++-- ...eRefreshMaterializedLakeViewsSchedule.json | 40 + ...eRefreshMaterializedLakeViewsSchedule.json | 10 + ...andRefreshMaterializedLakeViewsNoBody.json | 15 + ...eRefreshMaterializedLakeViewsSchedule.json | 37 + .../contents/lakehouse/swagger.json | 468 +- .../contents/map/definitions.json | 141 + .../contents/map/examples/CreateMap.json | 41 + .../examples/CreateMapWithoutDefinition.json | 27 + .../contents/map/examples/DeleteMap.json | 9 + .../contents/map/examples/GetMap.json | 17 + .../map/examples/GetMapDefinition.json | 33 + .../map/examples/ListMapsInWorkspace.json | 27 + .../contents/map/examples/UpdateMap.json | 21 + .../map/examples/UpdateMapDefinition.json | 34 + .../contents/map/swagger.json | 456 ++ .../swagger.json | 46 +- .../mirroredDatabase/definitions.json | 5 + .../examples/GetTablesMirroringStatus.json | 3 +- .../contents/mirroredDatabase/swagger.json | 8 +- .../contents/mlModel/definitions.json | 555 ++- .../ActivateMLModelEndpointVersion.json | 19 + .../examples/DeactivateMLModelEndpoint.json | 18 + .../DeactivateMLModelEndpointVersion.json | 19 + .../mlModel/examples/GetMLModelEndpoint.json | 78 + .../examples/GetMLModelEndpointVersion.json | 75 + .../examples/ListMLModelEndpointVersions.json | 82 + .../examples/ScoreMLModelEndpoint.json | 69 + .../examples/ScoreMLModelEndpointVersion.json | 70 + .../examples/UpdateMLModelEndpoint.json | 82 + .../UpdateMLModelEndpointVersion.json | 78 + .../contents/mlModel/swagger.json | 650 ++- .../notebook/examples/CreateNotebook.json | 42 + .../examples/GetNotebookDefinition.json | 33 + .../examples/UpdateNotebookDefinition.json | 34 + .../platform/definitions/connections.json | 102 +- .../definitions/deploymentPipelines.json | 8 +- .../definitions/externaldatasharing.json | 2 +- .../definitions/managedPrivateEndpoint.json | 29 +- .../platform/definitions/platform.json | 4257 ++++++++++------- .../workspaceNetworkingPolicy.json | 73 + ...DeploymentPipelineGroupRoleAssignment.json | 11 +- ...ipelineServicePrincipalRoleAssignment.json | 11 +- ...dDeploymentPipelineUserRoleAssignment.json | 11 +- .../AddGroupRoleAssignment.json | 15 + .../AddServicePrincipalRoleAssignment.json | 15 + .../AddUserRoleAssignment.json | 15 + .../deploymentPipelines/AssignWorkspace.json | 12 + .../deploymentPipelines/CreatePipeline.json | 17 + .../deploymentPipelines/DeletePipeline.json | 8 + .../DeletePipelineUserGroupAccess.json | 9 + .../DeletePipelineUserPrincipalAccess.json | 9 + .../deploymentPipelines/GetPipeline.json | 14 + .../GetPipelineOperation.json | 96 + .../GetPipelineOperations.json | 35 + .../deploymentPipelines/GetPipelineUsers.json | 32 + ...ListDeploymentPipelineRoleAssignments.json | 3 + ...pelineRoleAssignmentsWithContinuation.json | 3 + .../ListPipelineStageItems.json | 41 + ...istPipelineStageItemsWithContinuation.json | 43 + .../ListPipelineStages.json | 37 + .../ListPipelineStagesWithContinuation.json | 39 + .../deploymentPipelines/ListPipelines.json | 21 + .../ListPipelinesWithContinuation.json | 23 + .../UnassignWorkspace.json | 9 + .../deploymentPipelines/UpdatePipeline.json | 18 + .../platform/examples/domains/GetDomain.json | 15 + .../examples/domains/ListDomains.json | 23 + .../domains/ListDomainsWithContinuation.json | 25 + ...CreateManagedPrivateEndpointWithFQDNs.json | 27 + .../ListFQDNsInManagedPrivateEndpoint.json | 16 + .../platform/AssignWorkspaceToDomain.json | 11 + .../platform/BulkMoveItemsIntoFolder.json | 49 + ...lkMoveItemsWithWorkspaceAsDestination.json | 44 + ...rtcutOneLakeTargetCsvToDeltaTransform.json | 140 + ...rUpdateDataAccessRolesWithConstraints.json | 69 + ...iagnosticSettingWithDiagnosticSetting.json | 22 + ...nosticSettingWithoutDiagnosticSetting.json | 14 + .../GetShortcutTransformOneLakeTarget.json | 32 + .../examples/platform/GetWorkspace.json | 1 + ...orkspaceNetworkingCommunicationPolicy.json | 24 + ...eWithPreferWorkspaceSpecificEndpoints.json | 28 + ...DefaultDataAccessRolesWithConstraints.json | 70 + .../platform/ListItemConnections.json | 4 +- .../ListItemConnectionsWithContinuation.json | 4 +- .../ListShortcutsWithShortcutTransforms.json | 41 + .../examples/platform/ListWorkspaces.json | 3 +- ...sWithPreferWorkspaceSpecificEndpoints.json | 27 + .../ModifyOneLakeDiagnosticSettingCreate.json | 19 + ...ModifyOneLakeDiagnosticSettingDisable.json | 11 + .../ModifyOneLakeDiagnosticSettingRemove.json | 14 + ...ModifyOneLakeDiagnosticSettingReplace.json | 19 + .../examples/platform/MoveItemIntoFolder.json | 33 + .../MoveItemWithWorkspaceAsDestination.json | 30 + ...orkspaceNetworkingCommunicationPolicy.json | 24 + .../platform/UnassignWorkspaceFromDomain.json | 8 + .../examples/platform/UpdateWorkspace.json | 3 +- .../platform/examples/tags/ListTags.json | 38 +- .../tags/ListTagsWithContinuation.json | 38 +- .../contents/platform/swagger.json | 1875 +++++--- .../contents/report/swagger.json | 7 - .../contents/semanticModel/definitions.json | 33 +- .../examples/BindSemanticModelConnection.json | 19 + .../UnbindSemanticModelConnection.json | 18 + .../contents/semanticModel/swagger.json | 59 + .../contents/sqlDatabase/swagger.json | 20 +- .../contents/sqlEndpoint/definitions.json | 24 +- .../examples/GetConnectionString.json | 15 + .../examples/GetSqlAuditSettings.json | 17 + .../RefreshAllTablesInSqlEndpoint.json | 57 +- .../examples/SetAuditActionsAndGroups.json | 14 + .../examples/UpdateSqlAuditSettings.json | 19 + .../contents/sqlEndpoint/swagger.json | 340 +- .../userDataFunction/definitions.json | 152 + .../examples/CreateUserDataFunction.json | 43 + ...eateUserDataFunctionWithoutDefinition.json | 28 + .../examples/DeleteUserDataFunction.json | 10 + .../examples/GetUserDataFunction.json | 21 + .../GetUserDataFunctionDefinition.json | 34 + .../ListUserDataFunctionsInWorkspace.json | 34 + .../examples/UpdateUserDataFunction.json | 22 + .../UpdateUserDataFunctionDefinition.json | 35 + .../contents/userDataFunction/swagger.json | 506 ++ .../contents/warehouse/definitions.json | 124 + .../examples/CreateRestorePoint.json | 38 + .../examples/DeleteRestorePoint.json | 10 + .../examples/GetConnectionString.json | 15 + .../warehouse/examples/GetRestorePoint.json | 28 + .../examples/GetSqlAuditSettings.json | 17 + .../warehouse/examples/ListRestorePoints.json | 41 + .../examples/RestoreToRestorePoint.json | 17 + .../examples/SetAuditActionsAndGroups.json | 14 + .../examples/UpdateRestorePoint.json | 32 + .../examples/UpdateSqlAuditSettings.json | 21 + .../contents/warehouse/swagger.json | 654 ++- .../anomalydetector-definition.md | 263 + .../datapipeline-definition.md | 1103 ++++- .../digital-twin-builder-definition.md | 7 - .../digital-twin-builder-flow-definition.md | 7 - .../environment-definition.md | 7 - .../item-definitions/eventhouse-definition.md | 8 - .../eventschemaset-definition.md | 204 + .../eventstream-definition.md | 8 - .../graph-queryset-definition.md | 116 + .../item-definition-overview.md | 54 - .../kql-database-definition.md | 7 - .../item-definitions/map-definition.md | 279 ++ ...azuredatabricks-unitycatalog-definition.md | 117 +- .../item-definitions/notebook-definition.md | 10 - .../sql-database-definition.md | 52 + .../user-data-function-definition.md | 458 ++ .../variable-library-definition.md | 3 +- 228 files changed, 19165 insertions(+), 4451 deletions(-) create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomainPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainByIdPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainRoleAssignments.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainsPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomainsPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/SyncRoleAssignmentsToSubdomains.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomainPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateDomainTags.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTags.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTagsExplicit.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetector.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetectorWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/DeleteAnomalyDetector.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetector.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetectorDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/ListAnomalyDetectorsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetector.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetectorDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/DiscoverDataflowParameters.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironmentWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibrary.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibraryPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportPublishedExternalLibraries.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportStagingExternalLibraries.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkComputePreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibrariesPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibrariesPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ImportExternalLibraries.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironmentPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/RemoveExternalLibraries.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputeInstancePoolWithId.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputePreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibrary.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibraryPreview.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/RunOnDemandRefreshMaterializedLakeViewsNoBody.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMap.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMapWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/DeleteMap.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMap.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMapDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/ListMapsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMap.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMapDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ActivateMLModelEndpointVersion.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpointVersion.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpointVersion.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ListMLModelEndpointVersions.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpointVersion.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpointVersion.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/CreateNotebook.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/GetNotebookDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/UpdateNotebookDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceNetworkingPolicy.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddGroupRoleAssignment.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddServicePrincipalRoleAssignment.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddUserRoleAssignment.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AssignWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/CreatePipeline.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipeline.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserGroupAccess.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserPrincipalAccess.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipeline.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperation.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperations.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineUsers.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItems.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItemsWithContinuation.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStages.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStagesWithContinuation.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelines.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelinesWithContinuation.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UnassignWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UpdatePipeline.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/GetDomain.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomains.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomainsWithContinuation.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/CreateManagedPrivateEndpointWithFQDNs.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/ListFQDNsInManagedPrivateEndpoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceToDomain.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsIntoFolder.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsWithWorkspaceAsDestination.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateBulkShortcutOneLakeTargetCsvToDeltaTransform.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateOrUpdateDataAccessRolesWithConstraints.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithDiagnosticSetting.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithoutDiagnosticSetting.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetShortcutTransformOneLakeTarget.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceNetworkingCommunicationPolicy.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceWithPreferWorkspaceSpecificEndpoints.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListDefaultDataAccessRolesWithConstraints.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListShortcutsWithShortcutTransforms.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithPreferWorkspaceSpecificEndpoints.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingCreate.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingDisable.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingRemove.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingReplace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemIntoFolder.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemWithWorkspaceAsDestination.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/SetWorkspaceNetworkingCommunicationPolicy.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UnassignWorkspaceFromDomain.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/BindSemanticModelConnection.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/UnbindSemanticModelConnection.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetConnectionString.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetSqlAuditSettings.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/SetAuditActionsAndGroups.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/UpdateSqlAuditSettings.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/definitions.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunction.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunctionWithoutDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/DeleteUserDataFunction.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunction.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunctionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/ListUserDataFunctionsInWorkspace.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunction.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunctionDefinition.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/swagger.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/CreateRestorePoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/DeleteRestorePoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetConnectionString.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetRestorePoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetSqlAuditSettings.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/ListRestorePoints.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/RestoreToRestorePoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/SetAuditActionsAndGroups.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateRestorePoint.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateSqlAuditSettings.json create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/anomalydetector-definition.md create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventschemaset-definition.md create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/graph-queryset-definition.md delete mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/item-definition-overview.md create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/map-definition.md create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/sql-database-definition.md create mode 100644 tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/user-data-function-definition.md diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json index c210df496..eff664c51 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions.json @@ -54,6 +54,12 @@ "format": "uuid", "readOnly": true, "description": "The capacity ID of the workspace." + }, + "domainId": { + "type": "string", + "format": "uuid", + "readOnly": true, + "description": "The domain ID of the workspace." } } }, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/domains.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/domains.json index 30f6bb870..85da978a2 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/domains.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/domains.json @@ -6,13 +6,12 @@ }, "paths": {}, "definitions": { - "Domain": { + "DomainBase": { "type": "object", "description": "Represents a domain or subdomain.", "required": [ "id", - "displayName", - "contributorsScope" + "displayName" ], "properties": { "id": { @@ -32,11 +31,46 @@ "type": "string", "description": "The domain parent object ID.", "format": "uuid" - }, + } + } + }, + "DomainPreview": { + "properties": { "contributorsScope": { "description": "The domain contributors scope.", "$ref": "#/definitions/ContributorsScopeType" } + }, + "allOf": [ + { + "$ref": "#/definitions/DomainBase" + } + ] + }, + "Domain": { + "properties": { + "defaultLabelId": { + "type": "string", + "description": "The domain default sensitivity label.", + "format": "uuid" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DomainBase" + } + ] + }, + "DomainsResponsePreview": { + "description": "This is a response wrapper for a list of all domains.", + "properties": { + "domains": { + "type": "array", + "description": "The list of domains.", + "items": { + "$ref": "#/definitions/DomainPreview" + } + } } }, "DomainsResponse": { @@ -87,7 +121,8 @@ } ] }, - "UpdateDomainRequest": { + "UpdateDomainRequestBase": { + "type": "object", "description": "The request payload for updating a domain.", "properties": { "displayName": { @@ -99,12 +134,35 @@ "type": "string", "description": "The domain description.\nThe description cannot contain more than 256 characters.", "readOnly": false - }, + } + } + }, + "UpdateDomainRequestPreview": { + "properties": { "contributorsScope": { "description": "The domain contributors scope.", "$ref": "#/definitions/ContributorsScopeType" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateDomainRequestBase" + } + ] + }, + "UpdateDomainRequest": { + "properties": { + "defaultLabelId": { + "type": "string", + "description": "The domain default sensitivity label.\n\nTo remove the defaultLabelId from a domain, set its value to an empty UUID in your request: \"00000000-0000-0000-0000-000000000000\".", + "format": "uuid" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateDomainRequestBase" + } + ] }, "DomainRoleUnassignmentRequest": { "description": "The request payload for unassigning domain members by principal.", @@ -144,6 +202,18 @@ } } }, + "SyncRoleAssignmentsToSubdomainsRequest": { + "description": "The request payload for syncing domain members to subdomains.", + "required": [ + "role" + ], + "properties": { + "role": { + "description": "Specifies the role of members to be synchronized with subdomains.", + "$ref": "#/definitions/DomainRole" + } + } + }, "AssignDomainWorkspacesByPrincipalsRequest": { "description": "The request payload for assigning workspaces to a domain by principal.", "properties": { @@ -222,20 +292,20 @@ "type": "string", "description": "Represents the domain members by the principal's request type. Additional request types may be added over time.", "enum": [ - "Admins", - "Contributors" + "Admin", + "Contributor" ], "x-ms-enum": { "name": "DomainRole", "modelAsString": true, "values": [ { - "value": "Admins", - "description": "Domain admins request type." + "value": "Admin", + "description": "Domain admin." }, { - "value": "Contributors", - "description": "Domain contributors request type." + "value": "Contributor", + "description": "Domain contributor." } ] } @@ -266,6 +336,41 @@ } ] } + }, + "DomainRoleAssignment": { + "type": "object", + "description": "Represents a domain role assignment.", + "required": [ + "role", + "principal" + ], + "properties": { + "role": { + "description": "The domain role of the principal.", + "$ref": "#/definitions/DomainRole" + }, + "principal": { + "description": "The principal.", + "$ref": "../../common/definitions.json#/definitions/Principal" + } + } + }, + "DomainRoleAssignments": { + "description": "A response wrapper for a list of domain role assignments with a continuation token.", + "properties": { + "value": { + "type": "array", + "description": "The list of the domain role assignments.", + "items": { + "$ref": "#/definitions/DomainRoleAssignment" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/tags.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/tags.json index 6af9bb287..2cb24758b 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/tags.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/definitions/tags.json @@ -26,6 +26,9 @@ ], "description": "This is a request wrapper for a creating a list of tags.", "properties": { + "scope": { + "$ref": "../../common/definitions.json#/definitions/TagScope" + }, "createTagsRequest": { "type": "array", "description": "An array of createTagRequest", @@ -70,7 +73,8 @@ "description": "Represents a tag.", "required": [ "id", - "displayName" + "displayName", + "scope" ], "properties": { "id": { @@ -81,6 +85,9 @@ "displayName": { "type": "string", "description": "The name of the tag." + }, + "scope": { + "$ref": "../../common/definitions.json#/definitions/TagScope" } } }, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTags.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTags.json index 61d86221f..516db9f26 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTags.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTags.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ] } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTagsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTagsWithContinuation.json index e8b791703..e7db0781e 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTagsWithContinuation.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/AdminListTagsWithContinuation.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ], "continuationToken": "LDEsMTAwMDAwLDA%3D", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/GetWorkspaceById.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/GetWorkspaceById.json index 09db44bd6..e1bc56c97 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/GetWorkspaceById.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/GetWorkspaceById.json @@ -9,7 +9,8 @@ "name": "test report", "type": "Workspace", "state": "Active", - "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84" + "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84", + "domainId": "8badadb6-9945-4e07-8134-00e0defec00b" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspaces.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspaces.json index 359473f11..953caed98 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspaces.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/ListWorkspaces.json @@ -9,7 +9,8 @@ "name": "test report", "type": "Workspace", "state": "Active", - "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84" + "capacityId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e84", + "domainId": "039bd896-b39c-4540-93e3-e9926de135f9" } ], "continuationUri": "https://api.fabric.microsoft.com/v1/admin/workspaces?continuationToken='LDEsMTAwMDAwLDA%3D'", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomain.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomain.json index 4ac803cb0..e59eeaf8e 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomain.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomain.json @@ -4,7 +4,8 @@ "displayName": "Finance", "description": "This domain is used for identifying financial data and reports.", "parentDomainId": "5f6552c3-816c-43e7-8289-842f8b35f9df" - } + }, + "preview": "false" }, "responses": { "201": { @@ -12,8 +13,7 @@ "id": "9eba6944-daff-4441-b9b5-630ce34238fd", "displayName": "Finance", "description": "This domain is used for identifying financial data and reports.", - "parentDomainId": "5f6552c3-816c-43e7-8289-842f8b35f9df", - "contributorsScope": "AllTenant" + "parentDomainId": "5f6552c3-816c-43e7-8289-842f8b35f9df" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomainPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomainPreview.json new file mode 100644 index 000000000..f887040a9 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/CreateDomainPreview.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "createDomainRequest": { + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": "5f6552c3-816c-43e7-8289-842f8b35f9df" + }, + "preview": true + }, + "responses": { + "201": { + "body": { + "id": "9eba6944-daff-4441-b9b5-630ce34238fd", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": "5f6552c3-816c-43e7-8289-842f8b35f9df", + "contributorsScope": "AllTenant" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainById.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainById.json index 4a8b028a1..e1b4ef3ab 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainById.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainById.json @@ -1,6 +1,7 @@ { "parameters": { - "domainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529" + "domainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", + "preview": "false" }, "responses": { "200": { @@ -9,7 +10,7 @@ "displayName": "Finance", "description": "This domain is used for identifying financial data and reports.", "parentDomainId": null, - "contributorsScope": "SpecificUsersAndGroups" + "defaultLabelId": "b2b6fdcc-f8d9-44d9-ae14-2d1fccc0a38f" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainByIdPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainByIdPreview.json new file mode 100644 index 000000000..eaee3cff0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/GetDomainByIdPreview.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "domainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", + "preview": true + }, + "responses": { + "200": { + "body": { + "id": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": null, + "contributorsScope": "SpecificUsersAndGroups" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainRoleAssignments.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainRoleAssignments.json new file mode 100644 index 000000000..fa31f143d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainRoleAssignments.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "domainId": "00cb3785-58b5-408e-9e5f-7a26d28f0b9b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "role": "Admin", + "principal": { + "displayName": "Eric Solomon", + "id": "81fac5e1-2a81-421b-a168-110b1c72fa11", + "type": "User", + "userDetails": { + "userPrincipalName": "eric@microsoft.com" + } + } + }, + { + "role": "Contributor", + "principal": { + "id": "f51b705f-a409-4d40-9197-c5d5f349e2f0", + "displayName": "TestSecurityGroup", + "type": "Group", + "groupDetails": { + "groupType": "SecurityGroup" + } + } + } + + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomains.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomains.json index 6364e17ea..0f8e19a46 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomains.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomains.json @@ -1,5 +1,7 @@ { - "parameters": {}, + "parameters": { + "preview": "false" + }, "responses": { "200": { "body": { @@ -9,51 +11,45 @@ "displayName": "Finance", "description": "This domain is used for identifying financial data and reports.", "parentDomainId": null, - "contributorsScope": "AdminsOnly" + "defaultLabelId": "e9d82d27-a651-49e6-a000-068f4c40dd30" }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", "displayName": "Human resources", - "description": null, - "parentDomainId": null, - "contributorsScope": "AllTenant" + "description": "", + "parentDomainId": null }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", "displayName": "HR Sales", - "description": null, - "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "contributorsScope": "AllTenant" + "description": "", + "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff" }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", "displayName": "Marketing", - "parentDomainId": null, - "contributorsScope": "SpecificUsersAndGroups" + "parentDomainId": null }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", "displayName": "AdminsOnly", "description": "Admins only", - "parentDomainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", - "contributorsScope": "AllTenant" + "parentDomainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529" }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", "displayName": "Root", - "description": null, - "parentDomainId": null, - "contributorsScope": "AllTenant" + "description": "", + "parentDomainId": null }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", "displayName": "Legal", "description": "This domain is used for identifying legal data and reports.", - "parentDomainId": null, - "contributorsScope": "AllTenant" + "parentDomainId": null } ] } } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainsPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainsPreview.json new file mode 100644 index 000000000..a6df9a8fd --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListDomainsPreview.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "preview": true + }, + "responses": { + "200": { + "body": { + "domains": [ + { + "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": null, + "contributorsScope": "AdminsOnly" + }, + { + "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", + "displayName": "Human resources", + "description": "", + "parentDomainId": null, + "contributorsScope": "AllTenant" + }, + { + "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", + "displayName": "HR Sales", + "description": "", + "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", + "contributorsScope": "AllTenant" + }, + { + "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", + "displayName": "Marketing", + "parentDomainId": null, + "contributorsScope": "SpecificUsersAndGroups" + }, + { + "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", + "displayName": "AdminsOnly", + "description": "Admins only", + "parentDomainId": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", + "contributorsScope": "AllTenant" + }, + { + "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", + "displayName": "Root", + "description": "", + "parentDomainId": null, + "contributorsScope": "AllTenant" + }, + { + "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", + "displayName": "Legal", + "description": "This domain is used for identifying legal data and reports.", + "parentDomainId": null, + "contributorsScope": "AllTenant" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomains.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomains.json index dc723223e..504075fc2 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomains.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomains.json @@ -1,6 +1,7 @@ { "parameters": { - "nonEmptyOnly": true + "nonEmptyOnly": true, + "preview": "false" }, "responses": { "200": { @@ -11,30 +12,27 @@ "displayName": "Finance", "description": "This domain is used for identifying financial data and reports.", "parentDomainId": null, - "contributorsScope": "AdminsOnly" + "defaultLabelId": "95c04e91-79d3-4287-b282-dbd62e11f566" }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", "displayName": "Human resources", - "description": null, - "parentDomainId": null, - "contributorsScope": "AllTenant" + "description": "", + "parentDomainId": null }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", "displayName": "HR Sales", - "description": null, - "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "contributorsScope": "AllTenant" + "description": "", + "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff" }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", "displayName": "Marketing", - "parentDomainId": null, - "contributorsScope": "SpecificUsersAndGroups" + "parentDomainId": null } ] } } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomainsPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomainsPreview.json new file mode 100644 index 000000000..ad5c85e42 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/ListNonEmptyDomainsPreview.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "nonEmptyOnly": true, + "preview": true + }, + "responses": { + "200": { + "body": { + "domains": [ + { + "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": null, + "contributorsScope": "AdminsOnly" + }, + { + "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", + "displayName": "Human resources", + "description": "", + "parentDomainId": null, + "contributorsScope": "AllTenant" + }, + { + "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", + "displayName": "HR Sales", + "description": "", + "parentDomainId": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", + "contributorsScope": "AllTenant" + }, + { + "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", + "displayName": "Marketing", + "parentDomainId": null, + "contributorsScope": "SpecificUsersAndGroups" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/SyncRoleAssignmentsToSubdomains.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/SyncRoleAssignmentsToSubdomains.json new file mode 100644 index 000000000..fd92e95b2 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/SyncRoleAssignmentsToSubdomains.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "domainId": "d27d5b23-4a7e-4185-b81e-ac2b20cdd9a8", + "syncRoleAssignmentsToSubdomainsRequest": { + "role": "Contributor" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomain.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomain.json index 0717634eb..20e35412e 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomain.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomain.json @@ -4,8 +4,9 @@ "updateDomainRequest": { "displayName": "Domain's new name", "description": "Domain's new description", - "contributorsScope": "SpecificUsersAndGroups" - } + "defaultLabelId": "d9a6c724-a08f-429d-9fa9-9659c5181b7f" + }, + "preview": "false" }, "responses": { "200": { @@ -14,7 +15,7 @@ "displayName": "Domain's new name", "description": "Domain's new description", "parentDomainId": null, - "contributorsScope": "SpecificUsersAndGroups" + "defaultLabelId": "d9a6c724-a08f-429d-9fa9-9659c5181b7f" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomainPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomainPreview.json new file mode 100644 index 000000000..4a9aa4bbc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/domains/UpdateDomainPreview.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "domainId": "97dd1d38-a4c6-41ed-bc4f-1e383f8ddd0f", + "updateDomainRequest": { + "displayName": "Domain's new name", + "description": "Domain's new description", + "contributorsScope": "SpecificUsersAndGroups" + }, + "preview": true + }, + "responses": { + "200": { + "body": { + "id": "f2f6a374-789e-4d1d-9cc7-6e0b934fc529", + "displayName": "Domain's new name", + "description": "Domain's new description", + "parentDomainId": null, + "contributorsScope": "SpecificUsersAndGroups" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateDomainTags.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateDomainTags.json new file mode 100644 index 000000000..5a64d6ff1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateDomainTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + }, + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Domain", + "domainId": "e408a2ca-0e43-49d6-86d3-f2558508d32a" + } + } + ] + } + } + } +} + diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTags.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTags.json new file mode 100644 index 000000000..0c4b2bd64 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Tenant" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Tenant" + } + } + ] + } + } + } +} + diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTagsExplicit.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTagsExplicit.json new file mode 100644 index 000000000..88e0b32d6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/CreateTenantTagsExplicit.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "scope": { + "type": "Tenant" + }, + "createTagsRequest": [ + { "displayName": "Finance 2024" }, + { "displayName": "HR 2024" } + ] + }, + "responses": { + "201": { + "body": { + "tags": [ + { + "id": "e281785b-5608-41ac-a1a1-78b48b95b825", + "displayName": "Finance 2024", + "scope": { + "type": "Tenant" + } + }, + { + "id": "24402490-9519-48b9-9d51-b2db4095a56b", + "displayName": "HR 2024", + "scope": { + "type": "Tenant" + } + } + ] + } + } + } +} + diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/UpdateTag.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/UpdateTag.json index 5007c974d..aaec47daf 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/UpdateTag.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/examples/tags/UpdateTag.json @@ -9,7 +9,10 @@ "200": { "body": { "id": "d889df97-7061-45f6-98b8-c53a83c2cf68", - "displayName": "Tag's new name." + "displayName": "Tag's new name.", + "scope": { + "type": "Tenant" + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json index f3d1b43ee..c59ef34d0 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/admin/swagger.json @@ -57,8 +57,8 @@ }, "/tenantsettings/{tenantSettingName}/update": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdate a given tenant setting.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\n Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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", + "summary": "Update a given tenant setting.", + "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 be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\n Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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": [ "Tenants" ], @@ -107,8 +107,8 @@ }, "/capacities/delegatedTenantSettingOverrides": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns list of tenant setting overrides that override at the capacities.", - "description": "\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\nThe user must be a Fabric Service 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 25 requests per minute.\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", + "summary": "Returns list of tenant setting overrides that override at the capacities.", + "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\nThe user must be a Fabric Service 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 25 requests per minute.\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": [ "Tenants" ], @@ -150,10 +150,10 @@ } } }, - "/capacities/{capacityId}/delegatedTenantSettingOverrides":{ + "/capacities/{capacityId}/delegatedTenantSettingOverrides": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns list of tenant setting overrides that override for given capacity Id.", - "description": "## 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 100 requests per minute.\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", + "summary": "Returns list of tenant setting overrides that override for given capacity Id.", + "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 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 100 requests per minute.\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": [ "Tenants" ], @@ -205,8 +205,8 @@ }, "/capacities/{capacityId}/delegatedTenantSettingOverrides/{tenantSettingName}": { "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRemove given tenant setting override for given capacity Id.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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", + "summary": "Remove given tenant setting override for given capacity Id.", + "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 be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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": [ "Tenants" ], @@ -251,8 +251,8 @@ }, "/capacities/{capacityId}/delegatedTenantSettingOverrides/{tenantSettingName}/update": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdate given tenant setting override for given capacity Id.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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", + "summary": "Update given tenant setting override for given capacity Id.", + "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 be a Fabric administrator or authenticate using a service principal.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per minute.\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": [ "Tenants" ], @@ -309,8 +309,8 @@ }, "/domains/delegatedTenantSettingOverrides": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns list of domain delegation setting overrides.", - "description": "\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\nThe user must be a Fabric Service 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 25 requests per minute.\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", + "summary": "Returns list of domain delegation setting overrides.", + "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\nThe user must be a Fabric Service 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 25 requests per minute.\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": [ "Tenants" ], @@ -324,18 +324,18 @@ ], "parameters": [ { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "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": "The operation was successful.", "schema": { - "$ref": "./definitions.json#/definitions/DomainTenantSettingOverrides" + "$ref": "./definitions.json#/definitions/DomainTenantSettingOverrides" } }, "default": { @@ -354,8 +354,8 @@ }, "/workspaces/delegatedTenantSettingOverrides": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns list of workspace delegation setting overrides.", - "description": "\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\nThe user must be a Fabric Service 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 25 requests per minute.\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", + "summary": "Returns list of workspace delegation setting overrides.", + "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\nThe user must be a Fabric Service 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 25 requests per minute.\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": [ "Tenants" ], @@ -369,18 +369,18 @@ ], "parameters": [ { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "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": "The operation was successful.", "schema": { - "$ref": "./definitions.json#/definitions/WorkspaceTenantSettingOverrides" + "$ref": "./definitions.json#/definitions/WorkspaceTenantSettingOverrides" } }, "default": { @@ -399,8 +399,8 @@ }, "/workspaces": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of workspaces.", - "description": "\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", + "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", "tags": [ "Workspaces" ], @@ -476,8 +476,8 @@ }, "/workspaces/discoverGitConnections": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of Git connections.", - "description": "\nThis API supports [pagination](/rest/api/fabric/articles/pagination). A maximum of 1,000 records can be returned per request. With the continuous token provided in the response, you can get the next 1,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 25 requests per minute.\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", + "summary": "Returns a list of Git connections.", + "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\nThis API supports [pagination](/rest/api/fabric/articles/pagination). A maximum of 1,000 records can be returned per request. With the continuous token provided in the response, you can get the next 1,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 25 requests per minute.\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" ], @@ -520,8 +520,8 @@ }, "/workspaces/{workspaceId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified workspace.", - "description": "## 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", + "summary": "Returns 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 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", "tags": [ "Workspaces" ], @@ -562,8 +562,8 @@ }, "/workspaces/{workspaceId}/users": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of users (including groups and ServicePrincipals) that have access to the specified workspace.", - "description": "## 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", + "summary": "Returns a list of users (including groups and ServicePrincipals) that have access to 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 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", "tags": [ "Workspaces" ], @@ -604,8 +604,8 @@ }, "/items": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of active Fabric and PowerBI items.", - "description": "\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\nPage order:\n 1. Fabric items\n 2. Datamarts\n 3. Reports\n 4. Dashboards\n 5. SemanticModels\n 6. Apps\n 7. Dataflows\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", + "summary": "Returns a list of active Fabric and PowerBI items.", + "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\nPage order:\n 1. Fabric items\n 2. Datamarts\n 3. Reports\n 4. Dashboards\n 5. SemanticModels\n 6. Apps\n 7. Dataflows\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", "tags": [ "Items" ], @@ -685,8 +685,8 @@ }, "/workspaces/{workspaceId}/items/{itemId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified Fabric or PowerBI item.", - "description": "## 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", + "summary": "Returns the specified Fabric or PowerBI item.", + "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 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", "tags": [ "Items" ], @@ -745,8 +745,8 @@ }, "/workspaces/{workspaceId}/items/{itemId}/users": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of users (including groups and service principals) and lists their workspace roles.", - "description": "## 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", + "summary": "Returns a list of users (including groups and service principals) and lists their workspace roles.", + "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 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", "tags": [ "Items" ], @@ -805,8 +805,8 @@ }, "/workspaces/{workspaceId}/restore": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRestores a deleted workspace.", - "description": "## Permissions\n\nThe caller must have Fabric administrator rights.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum ten requests per minute.\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", + "summary": "Restores a deleted 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 Fabric administrator rights.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum ten requests per minute.\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" ], @@ -853,8 +853,8 @@ }, "/users/{userId}/access": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of permission details for Fabric and PowerBI items the specified user can access.", - "description": "\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\nPage order:\n 1. Fabric items\n 2. Datamarts\n 3. Reports\n 4. Dashboards\n 5. SemanticModels\n 6. Apps\n 7. Dataflows\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", + "summary": "Returns a list of permission details for Fabric and PowerBI items the specified user can access.", + "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\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\nPage order:\n 1. Fabric items\n 2. Datamarts\n 3. Reports\n 4. Dashboards\n 5. SemanticModels\n 6. Apps\n 7. Dataflows\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", "tags": [ "Users" ], @@ -916,10 +916,109 @@ } } }, - "/domains": { + "/domains?preview=true": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns info for all domains.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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", + "summary": "Returns info for all domains (preview).", + "description": "> [!NOTE]\n> This preview API will be deprecated on March 31, 2026, and replaced by a stable version, available [here](/rest/api/fabric/admin/domains/list-domains).\nThe new version introduces breaking changes and is not backward compatible. **When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`. \n* Set the value of the `preview` query parameter to `false` to use the Release version of this API.\n* Starting March 31, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response property `contributorsScope` was removed.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ + "Domains" + ], + "operationId": "Domains_List_Domains_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "nonEmptyOnly", + "description": "When true, only return domains that have at least one workspace containing an item. Default: false.", + "type": "boolean", + "required": false + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/admin/domains/list-domains).\nStarting March 31, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/DomainsResponsePreview" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get info for all domains example": { + "$ref": "./examples/domains/ListDomainsPreview.json" + }, + "Get all non-empty domains example": { + "$ref": "./examples/domains/ListNonEmptyDomainsPreview.json" + } + } + }, + "post": { + "summary": "Creates a new domain (preview).", + "description": "> [!NOTE]\n> This preview API will be deprecated on March 31, 2026, and replaced by a stable version, available [here](/rest/api/fabric/admin/domains/create-domain). The new version introduces breaking changes and is not backward compatible. **When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the Release version of this API.\n* Starting March 31, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response property `contributorsScope` was removed.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ + "Domains" + ], + "operationId": "Domains_Create_Domain_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "createDomainRequest", + "description": "The request payload for creating the domain.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/CreateDomainRequest" + }, + "required": true + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/admin/domains/create-domain).\nStarting March 31, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean" + } + ], + "responses": { + "201": { + "description": "Domain created successfully.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/DomainPreview" + } + }, + "default": { + "description": "Common error codes:\n\n* EntityNotFound - Create domain failed because parent domain ID not found.\n\n* EntityConflict - Create domain failed because domain display name already exists.\n\n* InvalidInput - Invalid parent domain ID.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a domain example": { + "$ref": "./examples/domains/CreateDomainPreview.json" + } + } + } + }, + "/domains?preview=false": { + "get": { + "summary": "Returns info for all domains.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 31, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" ], @@ -934,6 +1033,13 @@ "description": "When true, only return domains that have at least one workspace containing an item. Default: false.", "type": "boolean", "required": false + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean" } ], "responses": { @@ -960,8 +1066,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a new domain.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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", + "summary": "Creates a new domain.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 31, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" ], @@ -978,6 +1084,13 @@ "$ref": "./definitions/domains.json#/definitions/CreateDomainRequest" }, "required": true + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean" } ], "responses": { @@ -1001,14 +1114,14 @@ } } }, - "/domains/{domainId}": { + "/domains/{domainId}?preview=true": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified domain info.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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", + "summary": "Returns the specified domain info (preview).", + "description": "> [!NOTE]\n> This preview API will be deprecated on March 31, 2026, and replaced by a stable version, available [here](/rest/api/fabric/admin/domains/get-domain). The new version introduces breaking changes and is not backward compatible. **When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the Release version of this API.\n* Starting March 31, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response property `contributorsScope` was removed.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" ], - "operationId": "Domains_GetDomain", + "operationId": "Domains_Get_Domain_(preview)", "produces": [ "application/json" ], @@ -1020,13 +1133,20 @@ "type": "string", "format": "uuid", "required": true + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/admin/domains/get-domain).\nStarting March 31, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean" } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { - "$ref": "./definitions/domains.json#/definitions/Domain" + "$ref": "./definitions/domains.json#/definitions/DomainPreview" } }, "default": { @@ -1038,12 +1158,70 @@ }, "x-ms-examples": { "Get a domain example": { - "$ref": "./examples/domains/GetDomainById.json" + "$ref": "./examples/domains/GetDomainByIdPreview.json" } } }, + "patch": { + "summary": "Updates the specified domain info (preview).", + "description": "> [!NOTE]\n> This preview API will be deprecated on March 31, 2026, and replaced by a stable version, available [here](/rest/api/fabric/admin/domains/update-domain). The new version introduces breaking changes and is not backward compatible. **When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the Release version of this API.\n* Starting March 31, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Request property `contributorsScope` was removed.\n* Response property `contributorsScope` was removed.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ + "Domains" + ], + "operationId": "Domains_Update_Domain_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "domainId", + "description": "The domain ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateDomainRequest", + "description": "The request payload for updating the domain.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/UpdateDomainRequestPreview" + }, + "required": true + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/admin/domains/update-domain).\nStarting March 31, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/DomainPreview" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.\n\n* EntityConflict - Update domain failed because domain display name already exists.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a domain example": { + "$ref": "./examples/domains/UpdateDomainPreview.json" + } + } + } + }, + "/domains/{domainId}": { "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified domain.", + "summary": "Deletes the specified domain.", "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" @@ -1078,10 +1256,59 @@ "$ref": "./examples/domains/DeleteDomain.json" } } + } + }, + "/domains/{domainId}?preview=false": { + "get": { + "summary": "Returns the specified domain info.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 31, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ + "Domains" + ], + "operationId": "Domains_GetDomain", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "domainId", + "description": "The domain ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/Domain" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a domain example": { + "$ref": "./examples/domains/GetDomainById.json" + } + } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the specified domain info.", - "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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", + "summary": "Updates the specified domain info.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 31, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" ], @@ -1098,6 +1325,13 @@ "format": "uuid", "required": true }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean" + }, { "in": "body", "name": "updateDomainRequest", @@ -1131,7 +1365,7 @@ }, "/domains/{domainId}/workspaces": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of the workspaces assigned to the specified domain.", + "summary": "Returns a list of the workspaces assigned to the specified domain.", "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" @@ -1181,7 +1415,7 @@ }, "/domains/{domainId}/assignWorkspaces": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nAssign workspaces to the specified domain by workspace ID.", + "summary": "Assign workspaces to the specified domain by workspace ID.", "description": "Preexisting domain assignments will be overridden unless bulk reassignment is blocked by domain management tenant settings.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal.\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": [ "Domains" @@ -1229,7 +1463,7 @@ }, "/domains/{domainId}/unassignWorkspaces": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUnassign workspaces from the specified domain by workspace ID.", + "summary": "Unassign workspaces from the specified domain by workspace ID.", "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" @@ -1276,7 +1510,7 @@ }, "/domains/{domainId}/unassignAllWorkspaces": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUnassign all workspaces from the specified domain.", + "summary": "Unassign all workspaces from the specified domain.", "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal.\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": [ "Domains" @@ -1313,9 +1547,61 @@ } } }, + "/domains/{domainId}/roleAssignments": { + "get": { + "summary": "Returns a list of domain role assignments.", + "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.Read.All or Tenant.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": [ + "Domains" + ], + "operationId": "Domains_ListRoleAssignments", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "domainId", + "description": "The domain 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/domains.json#/definitions/DomainRoleAssignments" + } + }, + "default": { + "description": "Common error codes:\n\n* DomainNotFound - The provided domain was not found\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List domain role assignments example": { + "$ref": "./examples/domains/ListDomainRoleAssignments.json" + } + } + } + }, "/domains/{domainId}/roleAssignments/bulkAssign": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nAssign the specified admins or contributors to the domain.", + "summary": "Assign the specified admins or contributors to the domain.", "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" @@ -1348,7 +1634,7 @@ "description": "Request completed successfully." }, "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "description": "Common error codes:\n\n* PrincipalWithDomainRoleAssignmentAlreadyExists - The principal is already assigned to the domain with the specified role.\n\n* UnsupportedPrincipalTypeForDomainAdminAssignment - Using unsupported principal type for assigning or unassigning domain admin roles.\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } @@ -1366,7 +1652,7 @@ }, "/domains/{domainId}/roleAssignments/bulkUnassign": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUnassign the specified admins or contributors from the domain.", + "summary": "Unassign the specified admins or contributors from the domain.", "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Domains" @@ -1399,7 +1685,7 @@ "description": "Request completed successfully." }, "default": { - "description": "Common error codes:\n\n* DomainSpecificUsersScopeCannotBeEmptyError - Unassigning domain members failed because when the contributors scope is set to 'Specific Users And Groups', the users or groups list can't be empty.", + "description": "Common error codes:\n\n* PrincipalWithDomainRoleAssignmentNotFound - The principal is not assigned to the domain with the specified role.\n\n* UnsupportedPrincipalTypeForDomainAdminAssignment - Using unsupported principal type for assigning or unassigning domain admin roles.\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } @@ -1415,9 +1701,57 @@ } } }, + "/domains/{domainId}/roleAssignments/syncToSubdomains": { + "post": { + "summary": "Sync the role assignments from the specified domain to its subdomains.", + "description": "## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.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": [ + "Domains" + ], + "operationId": "Domains_SyncRoleAssignmentsToSubdomains", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "domainId", + "description": "The domain ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "syncRoleAssignmentsToSubdomainsRequest", + "description": "The request payload for syncing domain members to its subdomains.", + "schema": { + "$ref": "./definitions/domains.json#/definitions/SyncRoleAssignmentsToSubdomainsRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* SyncingAdminsToSubdomainsIsNotSupported - Syncing admins to subdomains is not supported\n\n* DomainNotFound - The provided domain was not found\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Assign domain contributors to subdomains example": { + "$ref": "./examples/domains/SyncRoleAssignmentsToSubdomains.json" + } + } + } + }, "/domains/{domainId}/assignWorkspacesByCapacities": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nAssign all workspaces that reside on the specified capacities to the specified domain.", + "summary": "Assign all workspaces that reside on the specified capacities to the specified domain.", "description": "Preexisting domain assignments will be overridden unless bulk reassignment is blocked by domain management tenant settings.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal.\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": [ "Domains" @@ -1481,7 +1815,7 @@ }, "/domains/{domainId}/assignWorkspacesByPrincipals": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nAssign workspaces to the specified domain, when one of the specified principals has admin permission in the workspace.", + "summary": "Assign workspaces to the specified domain, when one of the specified principals has admin permission in the workspace.", "description": "Preexisting domain assignments will be overridden unless bulk reassignment is blocked by domain management tenant settings.\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal.\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": [ "Domains" @@ -1543,57 +1877,57 @@ } } }, - "/tags":{ - "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of all the tenant's tags.", - "description": "## Required Delegated Scopes\n\nTenant.Read.All or Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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": [ - "Tags" - ], - "operationId": "Tags_ListTags", - "x-ms-pageable": { - "nextLinkName": "continuationUri" - }, - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "type": "string", - "required": false - } - ], - "responses": { - "200": { - "description": "The request was successful.", - "schema": { - "$ref": "./definitions/tags.json#/definitions/AdminTagsInfo" - } - }, - "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "List of all tenant's tags example": { - "$ref": "./examples/AdminListTags.json" - }, - "List of all tenant's tags with continuation example": { - "$ref": "./examples/AdminListTagsWithContinuation.json" - } + "/tags": { + "get": { + "summary": "Returns a list of all the tenant's tags.", + "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\nTenant.Read.All or Tenant.ReadWrite.All\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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": [ + "Tags" + ], + "operationId": "Tags_ListTags", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "continuationToken", + "description": "A token for retrieving the next page of results.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "./definitions/tags.json#/definitions/AdminTagsInfo" } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List of all tenant's tags example": { + "$ref": "./examples/AdminListTags.json" + }, + "List of all tenant's tags with continuation example": { + "$ref": "./examples/AdminListTagsWithContinuation.json" + } } + } }, "/tags/bulkCreateTags": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreate new tags.", - "description": "## Permissions\n\nThe caller must have administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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", + "summary": "Create new tags.", + "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 administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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": [ "Tags" ], @@ -1623,23 +1957,29 @@ } }, "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred \n\n* InvalidInputs - Invalid input was provided \n\n* EntityConflict - Tag display name already exists", + "description": "Common error codes:\n\n* UnknownError - An error occurred \n\n* InvalidInputs - Invalid input was provided \n\n* EntityConflict - Tag display name already exists \n\n* EntityNotFound - Domain ID does not exist", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create tags in bulk example": { - "$ref": "./examples/Tags/CreateTags.json" + "Create tenant tags in bulk example": { + "$ref": "./examples/Tags/CreateTenantTags.json" + }, + "Create tenant tags in bulk example with explicit scope": { + "$ref": "./examples/Tags/CreateTenantTagsExplicit.json" + }, + "Create domain tags in bulk example": { + "$ref": "./examples/Tags/CreateDomainTags.json" } } } }, "/tags/{tagId}": { "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDelete the specified tag.", - "description": "## Permissions\n\nThe caller must have administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal. \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", + "summary": "Delete the specified tag.", + "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 administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 10 requests per one minute per principal. \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": [ "Tags" ], @@ -1675,8 +2015,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the specified tag.", - "description": "## Permissions\n\nThe caller must have administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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", + "summary": "Updates the specified tag.", + "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 administrator rights such as Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All.\n\n## Limitations\n\nMaximum 25 requests per one minute per principal.\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": [ "Tags" ], @@ -1921,13 +2261,15 @@ }, "/items/removeAllSharingLinks": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes all organization sharing links for all Fabric items in the tenant. This action cannot be undone.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUse [LinksSharedToWholeOrganization](https://learn.microsoft.com/rest/api/power-bi/admin) PowerBI Admin REST API to get Power BI Reports shared via organizational sharing links.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\n- Maximum 10 requests per minute.\n- Only Power BI Reports are supported.\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", + "summary": "Deletes all organization sharing links for all Fabric items in the tenant. This action cannot be undone.", + "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 [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUse [LinksSharedToWholeOrganization](https://learn.microsoft.com/en-us/rest/api/power-bi/admin) PowerBI Admin REST API to get Power BI Reports shared via organizational sharing links.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\n- Maximum 10 requests per minute.\n- Only Power BI Reports are supported.\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": [ "SharingLinks" ], "operationId": "SharingLinks_RemoveAllSharingLinks", - "produces": ["application/json"], + "produces": [ + "application/json" + ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { @@ -1978,13 +2320,15 @@ }, "/items/bulkRemoveSharingLinks": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes all organization sharing links for the specified Fabric items. This action cannot be undone.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUse [LinksSharedToWholeOrganization](https://learn.microsoft.com/rest/api/power-bi/admin) PowerBI Admin REST API to get Power BI Reports shared via organizational sharing links.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\n- Maximum 10 requests per minute.\n- Each request can delete organization sharing links for up to 500 Fabric items.\n- Only Power BI Reports are supported.\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", + "summary": "Deletes all organization sharing links for the specified Fabric items. This action cannot be undone.", + "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 [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nUse [LinksSharedToWholeOrganization](https://learn.microsoft.com/en-us/rest/api/power-bi/admin) PowerBI Admin REST API to get Power BI Reports shared via organizational sharing links.\n\n## Permissions\n\nThe caller must be a Fabric administrator.\n\n## Required Delegated Scopes\n\nTenant.ReadWrite.All\n\n## Limitations\n\n- Maximum 10 requests per minute.\n- Each request can delete organization sharing links for up to 500 Fabric items.\n- Only Power BI Reports are supported.\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": [ "SharingLinks" ], "operationId": "SharingLinks_BulkRemoveSharingLinks", - "produces": ["application/json"], + "produces": [ + "application/json" + ], "x-ms-fabric-sdk-long-running-operation": true, "parameters": [ { @@ -2040,4 +2384,4 @@ "responses": {}, "security": [], "tags": [] -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/definitions.json new file mode 100644 index 000000000..e02216932 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/definitions.json @@ -0,0 +1,171 @@ +{ + "swagger": "2.0", + "info": { + "title": "AnomalyDetector data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "AnomalyDetector": { + "description": "A AnomalyDetector object.", + "type": "object", + "required": ["type"], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The AnomalyDetector properties.", + "$ref": "#/definitions/AnomalyDetectorProperties" + } + } + }, + "AnomalyDetectorProperties": { + "description": "The AnomalyDetector properties.", + "type": "object", + "required": ["oneLakeRootPath"], + "properties": { + "oneLakeRootPath": { + "description": "OneLake path to the AnomalyDetector root directory.", + "type": "string" + } + } + }, + "AnomalyDetectors": { + "description": "A list of Collection Names.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of Collection Names.", + "type": "array", + "items": { + "$ref": "#/definitions/AnomalyDetector" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateAnomalyDetectorRequest": { + "description": "Create AnomalyDetector request payload.", + "required": ["displayName"], + "properties": { + "displayName": { + "description": "The AnomalyDetector display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AnomalyDetector description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the AnomalyDetector is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The AnomalyDetector definition.", + "$ref": "#/definitions/AnomalyDetectorDefinition", + "readOnly": false + } + } + }, + "UpdateAnomalyDetectorDefinitionRequest": { + "description": "Update AnomalyDetector definition request payload.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/AnomalyDetectorDefinition" + } + } + }, + "AnomalyDetectorDefinitionResponse": { + "description": "AnomalyDetector definition response.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/AnomalyDetectorDefinition", + "readOnly": true + } + } + }, + "AnomalyDetectorDefinition" : { + "description": "AnomalyDetector definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/anomalydetector-definition) for more details on how to craft a AnomalyDetector public 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": [ + "AnomalyDetectorV1" + ], + "x-ms-enum": { + "name": "AnomalyDetectorDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "AnomalyDetectorV1", + "description": "Custom format for the AnomalyDetector definition, specifically designed to support CI/CD scenarios in Fabric. see [AnomalyDetector - AnomalyDetectorV1 specification](/rest/api/fabric/articles/item-management/definitions/anomalydetector-definition) for more details." + } + ] + }, + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/AnomalyDetectorDefinitionPart" + }, + "readOnly": false + } + } + }, + "AnomalyDetectorDefinitionPart": { + "description": "AnomalyDetector definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The AnomalyDetector definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The AnomalyDetector definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateAnomalyDetectorRequest": { + "description": "Update AnomalyDetector request.", + "properties": { + "displayName": { + "description": "The AnomalyDetector display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The AnomalyDetector description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetector.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetector.json new file mode 100644 index 000000000..2d4473176 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetector.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createAnomalyDetectorRequest": { + "displayName": "AnomalyDetector 1", + "description": "A AnomalyDetector description.", + "definition": { + "format": "AnomalyDetectorV1", + "parts": [ + { + "path": "Configurations.json", + "payload": "eyANCiAgIiRpZCI6ICJodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2pzb24tc2NoZW1hcy9mYWJyaWMvaXRlbS9hbm9tYWx5RGV0ZWN0b3IvZGVmaW5pdGlvbi8xLjAuMC9zY2hlbWEuanNvbiIsDQogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMiLA0KICAidW5pdmFyaWF0ZUNvbmZpZ3VyYXRpb25zIjogWw0KICBdDQp9", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "AnomalyDetector 1", + "description": "A AnomalyDetector description.", + "type": "AnomalyDetector", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetectorWithoutDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetectorWithoutDefinition.json new file mode 100644 index 000000000..abb78f40b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/CreateAnomalyDetectorWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createAnomalyDetectorRequest": { + "displayName": "AnomalyDetector 1", + "description": "A AnomalyDetector description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "AnomalyDetector 1", + "description": "A AnomalyDetector description.", + "type": "AnomalyDetector", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/DeleteAnomalyDetector.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/DeleteAnomalyDetector.json new file mode 100644 index 000000000..0a6b2e89f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/DeleteAnomalyDetector.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "anomalyDetectorId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetector.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetector.json new file mode 100644 index 000000000..9dec282f2 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetector.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "anomalyDetectorId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "AnomalyDetector 1", + "description": "A AnomalyDetector description.", + "type": "AnomalyDetector", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetectorDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetectorDefinition.json new file mode 100644 index 000000000..9875db113 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/GetAnomalyDetectorDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "anomalyDetectorId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "format": "AnomalyDetectorV1", + "parts": [ + { + "path": "Configurations.json", + "payload": "eyANCiAgIiRpZCI6ICJodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2pzb24tc2NoZW1hcy9mYWJyaWMvaXRlbS9hbm9tYWx5RGV0ZWN0b3IvZGVmaW5pdGlvbi8xLjAuMC9zY2hlbWEuanNvbiIsDQogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMiLA0KICAidW5pdmFyaWF0ZUNvbmZpZ3VyYXRpb25zIjogWw0KICBdDQp9", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/ListAnomalyDetectorsInWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/ListAnomalyDetectorsInWorkspace.json new file mode 100644 index 000000000..315001413 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/ListAnomalyDetectorsInWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "AnomalyDetector Name 1", + "description": "A AnomalyDetector description.", + "type": "AnomalyDetector", + "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": "AnomalyDetector Name 2", + "description": "A AnomalyDetector description.", + "type": "AnomalyDetector", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetector.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetector.json new file mode 100644 index 000000000..da10467dc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetector.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "anomalyDetectorId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateAnomalyDetectorRequest": { + "displayName": "AnomalyDetector's New name", + "description": "AnomalyDetector's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "AnomalyDetector's New name", + "description": "AnomalyDetector's New description", + "type": "AnomalyDetector", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetectorDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetectorDefinition.json new file mode 100644 index 000000000..628d4fbbf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/examples/UpdateAnomalyDetectorDefinition.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "anomalyDetectorId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata" : true, + "updateAnomalyDetectorDefinitionRequest": { + "definition": { + "format": "AnomalyDetectorV1", + "parts": [ + { + "path": "Configurations.json", + "payload": "eyANCiAgIiRpZCI6ICJodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2pzb24tc2NoZW1hcy9mYWJyaWMvaXRlbS9hbm9tYWx5RGV0ZWN0b3IvZGVmaW5pdGlvbi8xLjAuMC9zY2hlbWEuanNvbiIsDQogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMiLA0KICAidW5pdmFyaWF0ZUNvbmZpZ3VyYXRpb25zIjogWw0KICBdDQp9", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/swagger.json new file mode 100644 index 000000000..63088361f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/anomalyDetector/swagger.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "title": "AnomalyDetector REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/anomalydetectors": { + "get": { + "summary": "Returns a list of AnomalyDetectors from the specified workspace.", + "description": "> [!NOTE]\n> AnomalyDetector item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\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\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_ListAnomalyDetectors", + "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": "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/AnomalyDetectors" + } + }, + "default": { + "description": "Common error codes:\n\n* InvalidItemType - Invalid item type.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List AnomalyDetectors in workspace example": { + "$ref": "./examples/ListAnomalyDetectorsInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates a AnomalyDetector in the specified workspace.", + "description": "> [!NOTE]\n> AnomalyDetector 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\n To create AnomalyDetector with a definition, refer to [AnomalyDetector](/rest/api/fabric/articles/item-management/definitions/anomalydetector-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 a AnomalyDetector 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_CreateAnomalyDetector", + "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": "createAnomalyDetectorRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateAnomalyDetectorRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/AnomalyDetector" + } + }, + "202": { + "description": "Request accepted, AnomalyDetector 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." + } + } + }, + "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 AnomalyDetector example": { + "$ref": "./examples/CreateAnomalyDetectorWithoutDefinition.json" + }, + "Create a AnomalyDetector with definition example": { + "$ref": "./examples/CreateAnomalyDetector.json" + } + } + } + }, + "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}": { + "get": { + "summary": "Returns properties of the specified AnomalyDetector.", + "description": "> [!NOTE]\n> AnomalyDetector item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read* permissions for the AnomalyDetector. \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_GetAnomalyDetector", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "anomalyDetectorId", + "description": "The AnomalyDetector ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AnomalyDetector" + } + }, + "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 AnomalyDetector example": { + "$ref": "./examples/GetAnomalyDetector.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified AnomalyDetector.", + "description": "> [!NOTE]\n> AnomalyDetector item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read and write* permissions for the AnomalyDetector.\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_UpdateAnomalyDetector", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "anomalyDetectorId", + "description": "The AnomalyDetector ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateAnomalyDetectorRequest", + "description": "Update AnomalyDetector request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateAnomalyDetectorRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AnomalyDetector" + } + }, + "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 AnomalyDetector example": { + "$ref": "./examples/UpdateAnomalyDetector.json" + } + } + }, + "delete": { + "summary": "Deletes the specified AnomalyDetector.", + "description": "> [!NOTE]\n> AnomalyDetector item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the AnomalyDetector. \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_DeleteAnomalyDetector", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "anomalyDetectorId", + "description": "The AnomalyDetector ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "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 AnomalyDetector example": { + "$ref": "./examples/DeleteAnomalyDetector.json" + } + } + } + }, + "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}/getDefinition": { + "post": { + "summary": "Returns the specified AnomalyDetector definition.", + "description": "> [!NOTE]\n> AnomalyDetector 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 AnomalyDetector's 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 AnomalyDetector. \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_GetAnomalyDetectorDefinition", + "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": "anomalyDetectorId", + "description": "The AnomalyDetector ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the AnomalyDetector definition. Additional `format` types may be added over time.", + "type": "string", + "enum": [ + "AnomalyDetectorV1" + ], + "x-ms-enum": { + "name": "AnomalyDetectorDefinitionFormat", + "modelAsString": true, + "values": [ + { + "value": "AnomalyDetectorV1", + "description": "Format for the AnomalyDetector definition, specifically designed to support CI/CD scenarios in Fabric. see [AnomalyDetector - AnomalyDetectorV1 specification](/rest/api/fabric/articles/item-management/definitions/anomalydetector-definition) for more details." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AnomalyDetectorDefinitionResponse" + } + }, + "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." + } + } + }, + "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 AnomalyDetector definition example": { + "$ref": "./examples/GetAnomalyDetectorDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified AnomalyDetector.", + "description": "> [!NOTE]\n> AnomalyDetector 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\n \nUpdating the AnomalyDetector's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the AnomalyDetector. \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_UpdateAnomalyDetectorDefinition", + "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": "anomalyDetectorId", + "description": "The AnomalyDetector 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": "updateAnomalyDetectorDefinitionRequest", + "description": "Update AnomalyDetector definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateAnomalyDetectorDefinitionRequest" + }, + "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." + } + } + }, + "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 AnomalyDetector definition example": { + "$ref": "./examples/UpdateAnomalyDetectorDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/common/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/common/definitions.json index f7157babe..6d2b9aecb 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/common/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/common/definitions.json @@ -88,7 +88,7 @@ "type":{ "description": "The type of the principal. Additional principal types may be added over time.", "type": "string", - "enum": ["User", "ServicePrincipal", "Group", "ServicePrincipalProfile"], + "enum": ["User", "ServicePrincipal", "Group", "ServicePrincipalProfile", "EntireTenant"], "x-ms-enum": { "name": "PrincipalType", "modelAsString": true, @@ -108,6 +108,10 @@ { "value": "ServicePrincipalProfile", "description": "Principal is a service principal profile." + }, + { + "value": "EntireTenant", + "description": "Principal represents all tenant users." } ] }, @@ -188,7 +192,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" ], + "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" ], "x-ms-enum": { "name": "ItemType", "modelAsString": true, @@ -324,6 +328,18 @@ { "value": "DigitalTwinBuilderFlow", "description": "A Digital Twin Builder Flow." + }, + { + "value": "AnomalyDetector", + "description": "An Anomaly Detector." + }, + { + "value": "Map", + "description": "A Map." + }, + { + "value": "UserDataFunction", + "description": "A User Data Function." } ] }, @@ -644,7 +660,8 @@ "description": "Represents a tag.", "required": [ "id", - "displayName" + "displayName", + "scope" ], "properties": { "id": { @@ -655,6 +672,10 @@ "displayName": { "type": "string", "description": "The name of the tag." + }, + "scope": { + "$ref": "#/definitions/TagScope", + "description": "The scope of the tag." } } }, @@ -698,7 +719,66 @@ } } }, - + "TagScope": { + "type": "object", + "description": "Represents a tag scope", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type":{ + "description": "Denotes tag scope. Additional tag scopes may be added over time.", + "type": "string", + "enum": ["Tenant", "Domain"], + "x-ms-enum": { + "name": "TagScopeType", + "modelAsString": true, + "values": [ + { + "value": "Tenant", + "description": "Tag is a tenant level tag." + }, + { + "value": "Domain", + "description": "Tag is a domain level tag." + } + ] + }, + "readOnly": false + } + } + }, + "TenantTagScope": { + "type": "object", + "description": "Represents tenant tag scope.", + "allOf": [ + { + "$ref": "#/definitions/TagScope" + } + ], + "x-ms-discriminator-value": "Tenant" + }, + "DomainTagScope": { + "type": "object", + "description": "Represents domain tag scope.", + "required": [ + "domainId" + ], + "properties": { + "domainId": { + "type": "string", + "format": "uuid", + "description": "Domain object ID" + } + }, + "allOf": [ + { + "$ref": "#/definitions/TagScope" + } + ], + "x-ms-discriminator-value": "Domain" + }, "ItemReference": { "description": "An item reference object.", "type": "object", @@ -792,8 +872,62 @@ } } } + }, + "SqlAuditSettings": { + "type": "object", + "description": "The current state of audit settings for an item.", + "required": ["state", "retentionDays", "auditActionsAndGroups"], + "properties": { + "state": { + "description": "Audit settings state type.", + "$ref": "#/definitions/AuditSettingsState" + }, + "retentionDays": { + "description": "Retention days. 0 indicates indefinite retention period.", + "type": "integer" + }, + "auditActionsAndGroups": { + "description": "Audit actions and groups.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SqlAuditSettingsUpdate": { + "type": "object", + "description": "Audit settings update request.", + "properties": { + "state": { + "description": "Audit settings state type.", + "$ref": "#/definitions/AuditSettingsState" + }, + "retentionDays": { + "description": "Retention days.", + "type": "integer", + "default": 0 + } + } + }, + "AuditSettingsState": { + "description": "Audit settings state. Additional AuditSettingsState may be added over time.", + "type": "string", + "enum": ["Enabled", "Disabled"], + "x-ms-enum": { + "name": "AuditSettingsState", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Enable the SQL audit." + }, + { + "value": "Disabled", + "description": "Disable the SQL audit." + } + ] + } } } -} - - +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json index fffc40a26..041639b3d 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/definitions.json @@ -204,6 +204,249 @@ } } } + }, + "DataflowParameters": { + "description": "A list of Dataflow parameters.", + "type": "object", + "required": [ "value" ], + "properties": { + "value": { + "description": "A list of parameters defined in the Dataflow.", + "type": "array", + "items": { + "$ref": "#/definitions/DataflowParameter" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "DataflowParameter": { + "description": "Base type for a Dataflow parameter that contains the corresponding properties for all parameters.", + "type": "object", + "discriminator": "type", + "required": [ "name", "type", "isRequired", "description" ], + "properties": { + "name": { + "description": "The name of the parameter.", + "type": "string" + }, + "description": { + "description": "A description of the parameter.", + "type": "string" + }, + "isRequired": { + "description": "Indicates whether the parameter is required.", + "type": "boolean" + }, + "type": { + "description": "The type of the parameter. Additional type types may be added over time.", + "type": "string", + "enum": [ "String", "Boolean", "Integer", "Number", "DateTime", "DateTimeZone", "Date", "Time", "Duration" ], + "x-ms-enum": { + "name": "ParameterType", + "modelAsString": true, + "values": [ + { + "value": "String", + "description": "The parameter value is of type string." + }, + { + "value": "Boolean", + "description": "The parameter value is of type boolean." + }, + { + "value": "Integer", + "description": "The parameter value is of type long." + }, + { + "value": "Number", + "description": "The parameter value is of type double." + }, + { + "value": "DateTime", + "description": "The parameter value is of type DateTime. The time is in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + { + "value": "DateTimeZone", + "description": "The parameter value is of type DateTimeZone. String in the format `yyyy-MM-ddTHH:mm:sszzz`." + }, + { + "value": "Date", + "description": "The parameter value is of type Date. String in the format `yyyy-MM-dd`." + }, + { + "value": "Time", + "description": "The parameter value is of type Time. String in the format `HH:mm:ss`." + }, + { + "value": "Duration", + "description": "The parameter value is of type Duration. String in the format `\\Pd\\DTH\\Hm\\Ms\\S`." + } + ] + } + } + } + }, + "DataflowStringParameter": { + "type": "object", + "description": "A Dataflow parameter of type String.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow .", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "String" + }, + "DataflowBooleanParameter": { + "type": "object", + "description": "A Dataflow parameter of type Boolean.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "boolean" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "Boolean" + }, + "DataflowIntegerParameter": { + "type": "object", + "description": "A Dataflow parameter of type Long.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "integer", + "format": "int64" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "Integer" + }, + "DataflowNumberParameter": { + "type": "object", + "description": "A Dataflow parameter of type double.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "number", + "format": "double" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "Number" + }, + "DataflowDateTimeParameter": { + "type": "object", + "description": "A Dataflow parameter of type DateTime. String in the format `yyyy-MM-ddTHH:mm:ss.xxxZ` (Example: `2025-09-15T21:45:00.000Z`).", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "string", + "format": "date-time" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "DateTime" + }, + "DataflowDateTimeZoneParameter": { + "type": "object", + "description": "A Dataflow parameter of type DateTimeZone. String in the format `yyyy-MM-ddTHH:mm:sszzz` (Example: `2025-09-15T21:45:00+02:00`). Use \"Automatic\" type to override this type of parameter when executing the dataflow.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "DateTimeZone" + }, + "DataflowDateParameter": { + "type": "object", + "description": "A Dataflow parameter of type Date. String in the format `yyyy-MM-dd` (Example: `2025-09-15` for the date Sep 15, 2025). Use \"Automatic\" type to override this type of parameter when executing the dataflow.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "Date" + }, + "DataflowTimeParameter": { + "type": "object", + "description": "A Dataflow parameter of type Time. String in the format `HH:mm:ss` (Example: `21:45:00` for 9:45 PM). Use \"Automatic\" type to override this type of parameter when executing the dataflow.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + } + ], + "x-ms-discriminator-value": "Time" + }, + "DataflowDurationParameter": { + "type": "object", + "description": "A Dataflow parameter of type Duration. String in the format `\\Pd\\DTH\\Hm\\Ms\\S` (Example: `P5DT14H35M30S` for 5 days, 14 hours, 35 minutes and 30 seconds). Use \"Automatic\" type to override this type of parameter when executing the dataflow.", + "required": [ "defaultValue" ], + "properties": { + "defaultValue": { + "description": "The value with which the parameter will be refreshed if none is provided when executing the dataflow.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataflowParameter" + + } + ], + "x-ms-discriminator-value": "Duration" } } -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/DiscoverDataflowParameters.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/DiscoverDataflowParameters.json new file mode 100644 index 000000000..9245fc756 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/examples/DiscoverDataflowParameters.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "dataflowId": "dddddddd-9999-0000-1111-eeeeeeeeeeee" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "manufacturer", + "isRequired": true, + "description": "Manufacturer of the item", + "type": "String", + "defaultValue": "test-value" + }, + { + "name": "isImported", + "isRequired": false, + "description": "Is the item imported", + "type": "Boolean", + "defaultValue": true + }, + { + "name": "quantity", + "isRequired": false, + "description": "Quantity of item", + "type": "Integer", + "defaultValue": 123456789 + }, + { + "name": "weightThreshold", + "isRequired": true, + "description": "Weight threshold for item", + "type": "Number", + "defaultValue": 3.14 + }, + { + "name": "datetimeOfOrder", + "isRequired": true, + "description": "Datetime of order", + "type": "DateTime", + "defaultValue": "2025-09-15T21:45:00.000Z" + }, + { + "name": "datetimeZoneOfOrder", + "isRequired": true, + "description": "DatetimeZone of order", + "type": "DateTimeZone", + "defaultValue": "2025-09-15T21:45:00+02:00" + }, + { + "name": "dateOfImport", + "isRequired": true, + "description": "Date of import", + "type": "Date", + "defaultValue": "2025-09-15" + }, + { + "name": "timeOfImport", + "isRequired": true, + "description": "Time of import", + "type": "Time", + "defaultValue": "21:45:00" + }, + { + "name": "durationOfImport", + "isRequired": true, + "description": "Duration of import", + "type": "Duration", + "defaultValue": "P5DT21H35M30S" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json index 567781732..1a5629226 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/dataflow/swagger.json @@ -442,10 +442,70 @@ } } }, + "/workspaces/{workspaceId}/dataflows/{dataflowId}/parameters": { + "get": { + "summary": "Retrieves all parameters defined in the specified Dataflow.", + "description": "## Permissions\n\nThe caller must have *read* permissions for the dataflow.\n\n## Required Delegated Scopes\n\nDataflow.Read.All or Dataflow.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_DiscoverDataflowParameters", + "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": "dataflowId", + "description": "The Dataflow 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/DataflowParameters" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found \n\n* DataflowNotParametricError - The requested dataflow is not parametric", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dataflow Parameters example": { + "$ref": "./examples/DiscoverDataflowParameters.json" + } + } + } + }, "/workspaces/{workspaceId}/dataflows/{dataflowId}/jobs/Execute/schedules": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreate a new execute schedule for a dataflow. A dataflow can create maximum 20 schedulers.", - "description": "## Required Delegated Scopes: \n\nDataflow.Execute.All and Dataflow.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", + "summary": "Create a new execute schedule for a dataflow. A dataflow can create maximum 20 schedulers.", + "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\nDataflow.Execute.All and Dataflow.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": [ "BackgroundJobs" ], @@ -509,8 +569,8 @@ }, "/workspaces/{workspaceId}/dataflows/{dataflowId}/jobs/ApplyChanges/schedules": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreate a new apply changes schedule for a dataflow. A dataflow can create maximum 20 schedulers.", - "description": "## Required Delegated Scopes: \n\nDataflow.Execute.All and Dataflow.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", + "summary": "Create a new apply changes schedule for a dataflow. A dataflow can create maximum 20 schedulers.", + "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\nDataflow.Execute.All and Dataflow.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": [ "BackgroundJobs" ], @@ -574,8 +634,8 @@ }, "/workspaces/{workspaceId}/dataflows/{dataflowId}/jobs/instances?jobType=Execute": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRun on-demand execute job instance.", - "description": "## Required Delegated Scopes\n\n For dataflows APIs use these scope types: \n- Specific scope: Dataflow.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) | No |\n\n## Interface", + "summary": "Run on-demand execute 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## Required Delegated Scopes\n\n For dataflows APIs use these scope types: \n- Specific scope: Dataflow.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) | No |\n\n## Interface", "tags": [ "BackgroundJobs" ], @@ -650,8 +710,8 @@ }, "/workspaces/{workspaceId}/dataflows/{dataflowId}/jobs/instances?jobType=ApplyChanges": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRun on-demand apply changes job instance.", - "description": "## Required Delegated Scopes\n\n For dataflows APIs use these scope types: \n- Specific scope: Dataflow.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) | No |\n\n## Interface", + "summary": "Run on-demand apply changes 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## Required Delegated Scopes\n\n For dataflows APIs use these scope types: \n- Specific scope: Dataflow.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) | No |\n\n## Interface", "tags": [ "BackgroundJobs" ], @@ -716,4 +776,4 @@ "responses": {}, "security": [], "tags": [] -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilder/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilder/swagger.json index 585b2ca99..596565511 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilder/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilder/swagger.json @@ -12,8 +12,8 @@ "paths": { "/workspaces/{workspaceId}/digitaltwinbuilders": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of DigitalTwinBuilders 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", + "summary": "Returns a list of DigitalTwinBuilders from the specified workspace.", + "description": "> [!NOTE]\n> Digital Twin Builder item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\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\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" ], @@ -62,8 +62,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a DigitalTwinBuilder in the specified workspace.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n To create digitaltwinbuilder with definition, refer to [DigitalTwinBuilder definition](/rest/api/fabric/articles/item-management/definitions/digital-twin-builder-definition). \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a digitaltwinbuilder 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) | No |\n\n## Interface", + "summary": "Creates a DigitalTwinBuilder in the specified workspace.", + "description": "> [!NOTE]\n> Digital Twin Builder 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\n To create digitaltwinbuilder with definition, refer to [DigitalTwinBuilder definition](/rest/api/fabric/articles/item-management/definitions/digital-twin-builder-definition). \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a digitaltwinbuilder 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) | No |\n\n## Interface", "tags": [ "Items" ], @@ -138,8 +138,8 @@ }, "/workspaces/{workspaceId}/digitaltwinbuilders/{digitaltwinbuilderId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns properties of the specified DigitalTwinBuilder.", - "description": "## Permissions\n\n The caller must have *read* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.Read.All or DigitalTwinBuilder.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) | No |\n\n## Interface", + "summary": "Returns properties of the specified DigitalTwinBuilder.", + "description": "> [!NOTE]\n> Digital Twin Builder item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.Read.All or DigitalTwinBuilder.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) | No |\n\n## Interface", "tags": [ "Items" ], @@ -186,8 +186,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the properties of the specified DigitalTwinBuilder.", - "description": "## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", + "summary": "Updates the properties of the specified DigitalTwinBuilder.", + "description": "> [!NOTE]\n> Digital Twin Builder item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", "tags": [ "Items" ], @@ -246,8 +246,8 @@ } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified DigitalTwinBuilder.", - "description": "## Permissions\n\n The caller must have *write* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", + "summary": "Deletes the specified DigitalTwinBuilder.", + "description": "> [!NOTE]\n> Digital Twin Builder item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", "tags": [ "Items" ], @@ -293,8 +293,8 @@ }, "/workspaces/{workspaceId}/digitaltwinbuilders/{digitaltwinbuilderId}/getDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified DigitalTwinBuilder public definition.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get a digitaltwinbuilder 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 digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations\n\n This API is blocked for a digitaltwinbuilder with an encrypted sensitivity label.\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", + "summary": "Returns the specified DigitalTwinBuilder public definition.", + "description": "> [!NOTE]\n> Digital Twin Builder 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 digitaltwinbuilder 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 digital twin builder. \n\n## Required Delegated Scopes \n\n DigitalTwinBuilder.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations\n\n This API is blocked for a digitaltwinbuilder with an encrypted sensitivity label.\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" ], @@ -369,8 +369,8 @@ }, "/workspaces/{workspaceId}/digitaltwinbuilders/{digitaltwinbuilderId}/updateDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the definition of a specified DigitalTwinBuilder. The update overrides the current definition.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the digitaltwinbuilder definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder. \n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", + "summary": "Updates the definition of a specified DigitalTwinBuilder. The update overrides the current definition.", + "description": "> [!NOTE]\n> Digital Twin Builder 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\n \nUpdating the digitaltwinbuilder definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder. \n## Required Delegated Scopes \n\n DigitalTwinBuilder.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", "tags": [ "Items" ], @@ -453,4 +453,4 @@ "responses": {}, "security": [], "tags": [] -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilderFlow/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilderFlow/swagger.json index 59cf12627..68b8c6e98 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilderFlow/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/digitalTwinBuilderFlow/swagger.json @@ -12,8 +12,8 @@ "paths": { "/workspaces/{workspaceId}/DigitalTwinBuilderFlows": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of Digital Twin Builder Flows 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", + "summary": "Returns a list of Digital Twin Builder Flows from the specified workspace.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\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\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" ], @@ -62,8 +62,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a Digital Twin Builder Flow in the specified workspace.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n To create Digital Twin Builder Flow with a public definition, refer to [](/rest/api/fabric/articles/item-management/definitions/digital-twin-builder-flow-definition) article. \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a Digital Twin Builder Flow 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", + "summary": "Creates a Digital Twin Builder Flow in the specified workspace.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow 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\n To create Digital Twin Builder Flow with a public definition, refer to [](/rest/api/fabric/articles/item-management/definitions/digital-twin-builder-flow-definition) article. \n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a Digital Twin Builder Flow 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" ], @@ -138,8 +138,8 @@ }, "/workspaces/{workspaceId}/DigitalTwinBuilderFlows/{digitalTwinBuilderFlowId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns properties of the specified Digital Twin Builder Flow.", - "description": "## Permissions\n\n The caller must have *read* permissions for the digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.Read.All or DigitalTwinBuilderFlow.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", + "summary": "Returns properties of the specified Digital Twin Builder Flow.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read* permissions for the digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.Read.All or DigitalTwinBuilderFlow.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" ], @@ -186,8 +186,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the properties of the specified Digital Twin Builder Flow.", - "description": "## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder flow.\n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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", + "summary": "Updates the properties of the specified Digital Twin Builder Flow.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder flow.\n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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" ], @@ -246,8 +246,8 @@ } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified Digital Twin Builder Flow.", - "description": "## Permissions\n\n The caller must have *write* permissions for the digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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", + "summary": "Deletes the specified Digital Twin Builder Flow.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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" ], @@ -293,8 +293,8 @@ }, "/workspaces/{workspaceId}/DigitalTwinBuilderFlows/{digitalTwinBuilderFlowId}/getDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified Digital Twin Builder Flow public definition.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get a Digital Twin Builder Flow'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 digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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", + "summary": "Returns the specified Digital Twin Builder Flow public definition.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow 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 Digital Twin Builder Flow'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 digital twin builder flow. \n\n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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" ], @@ -362,8 +362,8 @@ }, "/workspaces/{workspaceId}/DigitalTwinBuilderFlows/{digitalTwinBuilderFlowId}/updateDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nOverrides the definition for the specified Digital Twin Builder Flow.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the Digital Twin Builder Flow's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder flow. \n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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", + "summary": "Overrides the definition for the specified Digital Twin Builder Flow.", + "description": "> [!NOTE]\n> Digital Twin Builder Flow 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\n \nUpdating the Digital Twin Builder Flow's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the digital twin builder flow. \n## Required Delegated Scopes\n\n DigitalTwinBuilderFlow.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" ], @@ -446,4 +446,4 @@ "responses": {}, "security": [], "tags": [] -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/definitions.json index a03f69a90..cdb66e199 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/definitions.json @@ -6,7 +6,7 @@ }, "paths": {}, "definitions": { - "EnvironmentSparkCompute": { + "EnvironmentSparkComputePreview": { "type": "object", "properties": { "instancePool": { @@ -14,7 +14,7 @@ "$ref": "#/definitions/InstancePool" }, "driverCores": { - "description": "Spark driver core.", + "description": "Spark driver core. Must be one of the following values: 4, 8, 16, 32, 64.", "format": "int32", "type": "integer" }, @@ -23,7 +23,7 @@ "type": "string" }, "executorCores": { - "description": "Spark executor core.", + "description": "Spark executor core. Must be one of the following values: 4, 8, 16, 32, 64.", "format": "int32", "type": "integer" }, @@ -37,15 +37,15 @@ }, "sparkProperties": { "type": "object", - "description": "Spark properties." + "description": "Spark properties. The dictionary-based contract for defining Spark properties will be deprecated on January 31, 2026. Please migrate to using a list of key-value pairs instead." }, "runtimeVersion": { - "description": "Runtime version, find the supported [fabric runtimes](/fabric/data-engineering/runtime). For example: 1.3", + "description": "Runtime version, find the supported [fabric runtimes](/fabric/data-engineering/runtime).", "type": "string" } } }, - "UpdateEnvironmentSparkComputeRequest": { + "UpdateEnvironmentSparkComputeRequestPreview": { "type": "object", "properties": { "instancePool": { @@ -77,7 +77,51 @@ }, "sparkProperties": { "type": "object", - "description": "Spark properties." + "description": "Spark properties. The dictionary-based contract for defining Spark properties will be deprecated on January 31, 2026. Please migrate to using a list of key-value pairs instead." + }, + "runtimeVersion": { + "description": "Runtime version, find the supported [fabric runtimes](/fabric/data-engineering/runtime).", + "type": "string" + } + } + }, + "EnvironmentSparkCompute": { + "type": "object", + "properties": { + "instancePool": { + "description": "Environment pool has to be a valid custom pool. \"Starter Pool\" means use starter pool.", + "$ref": "#/definitions/InstancePool" + }, + "driverCores": { + "description": "Spark driver core. Must be one of the following values: 4, 8, 16, 32, 64.", + "format": "int32", + "type": "integer" + }, + "driverMemory": { + "description": "Spark driver memory.", + "type": "string", + "$ref": "#/definitions/CustomPoolMemory" + }, + "executorCores": { + "description": "Spark executor core. Must be one of the following values: 4, 8, 16, 32, 64.", + "format": "int32", + "type": "integer" + }, + "executorMemory": { + "description": "Spark executor memory.", + "type": "string", + "$ref": "#/definitions/CustomPoolMemory" + }, + "dynamicExecutorAllocation": { + "description": "Dynamic executor allocation.", + "$ref": "#/definitions/DynamicExecutorAllocationProperties" + }, + "sparkProperties": { + "type": "array", + "description": "Spark properties.", + "items": { + "$ref": "#/definitions/SparkProperty" + } }, "runtimeVersion": { "description": "Runtime version, find the supported [fabric runtimes](/fabric/data-engineering/runtime). For example: 1.3", @@ -85,11 +129,97 @@ } } }, + "UpdateEnvironmentSparkComputeRequest": { + "type": "object", + "properties": { + "instancePool": { + "description": "Environment pool has to be a valid custom pool. The name for a default workspace pool is *Starter Pool*.", + "$ref": "#/definitions/InstancePool", + "type": "object" + }, + "driverCores": { + "description": "Spark driver core. Must be one of the following values: 4, 8, 16, 32, 64.", + "format": "int32", + "type": "integer" + }, + "driverMemory": { + "description": "Spark driver memory.", + "type": "string", + "$ref": "#/definitions/CustomPoolMemory" + }, + "executorCores": { + "description": "Spark executor core. Must be one of the following values: 4, 8, 16, 32, 64.", + "format": "int32", + "type": "integer" + }, + "executorMemory": { + "description": "Spark executor memory.", + "type": "string", + "$ref": "#/definitions/CustomPoolMemory" + }, + "dynamicExecutorAllocation": { + "description": "Dynamic executor allocation.", + "$ref": "#/definitions/DynamicExecutorAllocationProperties" + }, + "sparkProperties": { + "type": "array", + "description": "Spark properties.", + "items": { + "$ref": "#/definitions/SparkProperty" + } + }, + "runtimeVersion": { + "description": "Runtime version, find the supported [fabric runtimes](/fabric/data-engineering/runtime). For example: 1.3", + "type": "string" + } + } + }, + "CustomPoolMemory": { + "type": "string", + "description": "Custom pool memory for Spark driver or Spark executor. Additional `CustomPoolMemory` types may be added over time.", + "enum": ["28g", "56g", "112g", "224g", "400g"], + "x-ms-enum": { + "name": "CustomPoolMemory", + "modelAsString": true, + "values": [ + { + "value": "28g", + "description": "28GB memory." + }, + { + "value": "56g", + "description": "56G memory." + }, + { + "value": "112g", + "description": "112G memory." + }, + { + "value": "224g", + "description": "224G memory." + }, + { + "value": "400g", + "description": "400G memory." + } + ] + } + }, + "SparkProperty": { + "type": "object", + "description": "A Spark property key and its value.", + "properties": { + "key": { + "description": "The Spark property key.", + "type": "string" + }, + "value": { + "description": "The Spark property value.", + "type": "string" + } + } + }, "InstancePool": { - "required": [ - "name", - "type" - ], "type": "object", "description": "An instance of a pool.", "properties": { @@ -141,13 +271,13 @@ "type": "boolean" }, "minExecutors": { - "description": "The minimum executor number for dynamic allocation and the minimum for this property is 1.", + "description": "The minimum executor number for dynamic allocation and the minimum for this property is 1. The maximum value has to be lower than `maxExecutors`.", "format": "int32", "type": "integer", "minimum": 1 }, "maxExecutors": { - "description": "The maximum executor number for dynamic allocation and the minimum for this property is 1", + "description": "The maximum executor number for dynamic allocation and the minimum for this property is 1. The maximum value has to be lower than the instance pool `maxNodeCount`.", "format": "int32", "type": "integer", "minimum": 1 @@ -185,7 +315,7 @@ "properties": { "properties": { "description": "The environment properties.", - "$ref": "#/definitions/EnvironmentPublishInfo" + "$ref": "#/definitions/EnvironmentProperties" } } }, @@ -208,6 +338,71 @@ "type": "string", "format": "uuid", "readOnly": false + }, + "definition": { + "description": "The environment public definition.", + "$ref": "#/definitions/EnvironmentDefinition", + "readOnly": false + } + } + }, + "UpdateEnvironmentDefinitionRequest": { + "description": "Update environment public definition request payload.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/EnvironmentDefinition" + } + } + }, + "EnvironmentDefinitionResponse": { + "description": "Environment public definition response.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/EnvironmentDefinition", + "readOnly": true + } + } + }, + "EnvironmentDefinition" : { + "description": "Environment public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/environment-definition) for more details on how to craft a environment public definition.", + "type": "object", + "required": ["parts"], + "properties": { + "format": { + "description": "The format of the Environment definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDefinitionPart" + }, + "readOnly": false + } + } + }, + "EnvironmentDefinitionPart": { + "description": "Environment definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The environment part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The environment part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false } } }, @@ -226,8 +421,8 @@ } } }, - "EnvironmentPublishInfo": { - "description": "Environment publish information.", + "EnvironmentProperties": { + "description": "Environment properties.", "type": "object", "required": ["publishDetails"], "properties": { @@ -283,15 +478,15 @@ "type": "string" }, "startTime": { - "description": "Start time of publish operation.", + "description": "Start time of publish operation in UTC, using the YYYY-MM-DDTHH:mm:ss.sssssssZ format.", "format": "date-time", "type": "string" }, "endTime": { - "description": "End time of publish operation.", + "description": "End time of publish operation in UTC, using the YYYY-MM-DDTHH:mm:ss.sssssssZ format.", "format": "date-time", "type": "string" - }, + }, "componentPublishInfo": { "description": "Environment component publish information.", "$ref": "#/definitions/ComponentPublishInfo" @@ -394,7 +589,101 @@ } } }, - "EnvironmentLibraries": { + "LibraryType": { + "type": "string", + "description": "A library type. Additional types may be added over time.", + "enum": ["Custom", "External"], + "x-ms-enum": { + "name": "LibraryType", + "modelAsString": true, + "values": [ + { + "value": "Custom", + "description": "Custom libraries" + }, + { + "value": "External", + "description": "External libraries" + } + ] + } + }, + "Libraries": { + "description": "Environment libraries.", + "type": "object", + "properties": { + "libraries": { + "type": "array", + "description": "All custom and external libraries (.py, .whl, .jar, .tar.gz and external).", + "items": { + "$ref": "#/definitions/Library" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Library": { + "description": "Custom or external library.", + "type": "object", + "discriminator": "libraryType", + "required": ["libraryType", "name"], + "properties": { + "libraryType": { + "$ref": "#/definitions/LibraryType" + }, + "name": { + "type": "string", + "description": "The name of library." + } + } + }, + "CustomLibrary": { + "type": "object", + "description": "Custom library.", + "x-ms-discriminator-value": "Custom", + "allOf": [ + { + "$ref": "#/definitions/Library" + } + ] + }, + "ExternalLibrary": { + "type": "object", + "description": "External library.", + "required": ["version"], + "x-ms-discriminator-value": "External", + "properties": { + "version": { + "type": "string", + "description": "The version of external library." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Library" + } + ] + }, + "RemoveExternalLibrariesRequest": { + "type": "object", + "description": "Request to delete an external library.", + "required": ["name", "version"], + "properties": { + "name": { + "type": "string", + "description": "The name of library." + }, + "version": { + "type": "string", + "description": "The version of external library." + } + } + }, + "LibrariesPreview": { "description": "Environment libraries.", "type": "object", "properties": { diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironment.json index 38aa69212..452480b53 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironment.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironment.json @@ -3,14 +3,53 @@ "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", "createEnvironmentRequest": { "displayName": "Environment_1", - "description": "An environment description" + "description": "An environment description.", + "definition": { + "parts": [ + { + "path": "Libraries/CustomLibraries/samplelibrary.jar", + "payload": "eyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplepython.py", + "payload": "FyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplewheel-0.18.0-py2.py3-none-any.whl", + "payload": "LyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/sampleR.tar.gz", + "payload": "ZyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/PublicLibraries/environment.yml", + "payload": "IyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Setting/Sparkcompute.yml", + "payload": "GyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc", + "payloadType": "InlineBase64" + } + ] + } } }, "responses": { "201": { "body": { "displayName": "Environment_1", - "description": "An environment description", + "description": "An environment description.", "type": "Environment", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", "id": "5b218778-e7a5-4d73-8187-f10824047715" diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironmentWithoutDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironmentWithoutDefinition.json new file mode 100644 index 000000000..2401775bc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/CreateEnvironmentWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createEnvironmentRequest": { + "displayName": "Environment_1", + "description": "An environment description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "Environment_1", + "description": "An environment description.", + "type": "Environment", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibrary.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibrary.json new file mode 100644 index 000000000..8c69604a8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibrary.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "libraryName": "samplelibrary.jar" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibraryPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibraryPreview.json new file mode 100644 index 000000000..9bb995e8c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/DeleteCustomLibraryPreview.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "libraryToDelete": "samplelibrary.jar" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportPublishedExternalLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportPublishedExternalLibraries.json new file mode 100644 index 000000000..40e94e100 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportPublishedExternalLibraries.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportStagingExternalLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportStagingExternalLibraries.json new file mode 100644 index 000000000..40e94e100 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ExportStagingExternalLibraries.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentDefinition.json new file mode 100644 index 000000000..6d45ca67a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentDefinition.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "environmentId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "Libraries/CustomLibraries/samplelibrary.jar", + "payload": "eyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplepython.py", + "payload": "FyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplewheel-0.18.0-py2.py3-none-any.whl", + "payload": "LyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/sampleR.tar.gz", + "payload": "ZyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/PublicLibraries/environment.yml", + "payload": "IyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Setting/Sparkcompute.yml", + "payload": "GyJuYmZvcm1hdCI6N..", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentPreview.json new file mode 100644 index 000000000..07ebea192 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentPreview.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": true + }, + "responses": { + "200": { + "body": { + "displayName": "Environment_1", + "description": "An Environment description", + "type": "Environment", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "properties": { + "publishDetails": { + "state": "Success", + "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", + "startTime": "2024-03-29T14:17:09.0697022Z", + "endTime": "2024-03-29T14:48:09.0697022Z", + "componentPublishInfo": { + "sparkLibraries": { + "state": "Success" + }, + "sparkSettings": { + "state": "Success" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkCompute.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkCompute.json index 6d9b21725..1926afa1e 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkCompute.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkCompute.json @@ -1,7 +1,8 @@ { "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", - "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11" + "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11", + "preview": "false" }, "responses": { "200": { @@ -20,9 +21,12 @@ "minExecutors": 1, "maxExecutors": 1 }, - "sparkProperties": { - "spark.acls.enable": "false" - }, + "sparkProperties": [ + { + "key": "spark.acls.enable", + "value": "false" + } + ], "runtimeVersion": "1.2" } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkComputePreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkComputePreview.json new file mode 100644 index 000000000..9c00e8955 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetEnvironmentSparkComputePreview.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11", + "preview": true + }, + "responses": { + "200": { + "body": { + "instancePool": { + "name": "MyWorkspacePool", + "type": "Workspace", + "id": "78942136-106c-4f3e-80fc-7ff4eae11603" + }, + "driverCores": 4, + "driverMemory": "56g", + "executorCores": 4, + "executorMemory": "56g", + "dynamicExecutorAllocation": { + "enabled": false, + "minExecutors": 1, + "maxExecutors": 1 + }, + "sparkProperties": { + "spark.acls.enable": "false" + }, + "runtimeVersion": "1.2" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibraries.json index f3b7bc25c..ac9bdeda1 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibraries.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibraries.json @@ -1,26 +1,42 @@ { "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", - "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": "false" }, "responses": { "200": { "body": { - "customLibraries": { - "wheelFiles": [ - "samplewheel-0.18.0-py2.py3-none-any.whl" - ], - "pyFiles": [ - "samplepython.py" - ], - "jarFiles": [ - "samplejar.jar" - ], - "rTarFiles": [ - "sampleR.tar.gz" - ] - }, - "environmentYml": "dependencies:\r\n- pip:\r\n - matplotlib==3.4.3" + "libraries": [ + { + "name": "samplewheel-0.18.0-py2.py3-none-any.whl", + "libraryType": "Custom" + }, + { + "name": "samplepython.py", + "libraryType": "Custom" + }, + { + "name": "samplejar.jar", + "libraryType": "Custom" + }, + { + "name": "sampleR.tar.gz", + "libraryType": "Custom" + }, + { + "name": "fuzzywuzzy", + "libraryType": "External", + "version": "0.0.1" + }, + { + "name": "matplotlib", + "libraryType": "External", + "version": "0.0.1" + } + ], + "continuationToken": "null", + "continuationUri": "null" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibrariesPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibrariesPreview.json new file mode 100644 index 000000000..760aab149 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetPublishedLibrariesPreview.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": true + }, + "responses": { + "200": { + "body": { + "customLibraries": { + "wheelFiles": [ + "samplewheel-0.18.0-py2.py3-none-any.whl" + ], + "pyFiles": [ + "samplepython.py" + ], + "jarFiles": [ + "samplejar.jar" + ], + "rTarFiles": [ + "sampleR.tar.gz" + ] + }, + "environmentYml": "name: sample-environment\ndependencies:\n - fuzzywuzzy==0.0.1\n - matplotlib==0.0.1" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibraries.json index f3b7bc25c..ac9bdeda1 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibraries.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibraries.json @@ -1,26 +1,42 @@ { "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", - "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": "false" }, "responses": { "200": { "body": { - "customLibraries": { - "wheelFiles": [ - "samplewheel-0.18.0-py2.py3-none-any.whl" - ], - "pyFiles": [ - "samplepython.py" - ], - "jarFiles": [ - "samplejar.jar" - ], - "rTarFiles": [ - "sampleR.tar.gz" - ] - }, - "environmentYml": "dependencies:\r\n- pip:\r\n - matplotlib==3.4.3" + "libraries": [ + { + "name": "samplewheel-0.18.0-py2.py3-none-any.whl", + "libraryType": "Custom" + }, + { + "name": "samplepython.py", + "libraryType": "Custom" + }, + { + "name": "samplejar.jar", + "libraryType": "Custom" + }, + { + "name": "sampleR.tar.gz", + "libraryType": "Custom" + }, + { + "name": "fuzzywuzzy", + "libraryType": "External", + "version": "0.0.1" + }, + { + "name": "matplotlib", + "libraryType": "External", + "version": "0.0.1" + } + ], + "continuationToken": "null", + "continuationUri": "null" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibrariesPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibrariesPreview.json new file mode 100644 index 000000000..622cc3433 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/GetStagingLibrariesPreview.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": true + }, + "responses": { + "200": { + "body": { + "customLibraries": { + "wheelFiles": [ + "samplewheel-0.18.0-py2.py3-none-any.whl" + ], + "pyFiles": [ + "samplepython.py" + ], + "jarFiles": [ + "samplejar.jar" + ], + "rTarFiles": [ + "sampleR.tar.gz" + ] + }, + "environmentYml": "name: sample-environment\ndependencies:\n - fuzzywuzzy==0.0.1\n - matplotlib==0.0.1" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ImportExternalLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ImportExternalLibraries.json new file mode 100644 index 000000000..40e94e100 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/ImportExternalLibraries.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishCancellation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishCancellation.json index 4db78b918..16014003f 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishCancellation.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishCancellation.json @@ -1,7 +1,8 @@ { "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", - "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": false }, "responses": { "200": { @@ -9,8 +10,8 @@ "publishDetails": { "state": "Cancelled", "targetVersion": "d9d95b01-248f-4ef4-bd7e-9d3f1f6447be", - "startTime": "2024-03-29T15:00:33.4359355Z", - "endTime": "2024-03-29T15:00:47.1407904Z", + "startTime": "2024-03-29T14:17:09.0697022Z", + "endTime": "2024-03-29T14:48:18.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Cancelled" diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironment.json index f40ed7d27..b0b35231d 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironment.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironment.json @@ -1,7 +1,8 @@ { "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", - "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": "false" }, "responses": { "200": { @@ -20,6 +21,13 @@ } } } + }, + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/abcdef00-9d7e-469a-abf1-fca847a0ea69", + "x-ms-operation-id": "abcdef00-9d7e-469a-abf1-fca847a0ea69", + "Retry-After": 120 + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironmentPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironmentPreview.json new file mode 100644 index 000000000..c1dc77c56 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/PublishEnvironmentPreview.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": true + }, + "responses": { + "200": { + "body": { + "publishDetails": { + "state": "Running", + "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", + "startTime": "2024-03-29T14:17:09.0697022Z", + "componentPublishInfo": { + "sparkLibraries": { + "state": "Running" + }, + "sparkSettings": { + "state": "Running" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/RemoveExternalLibraries.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/RemoveExternalLibraries.json new file mode 100644 index 000000000..c194024bc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/RemoveExternalLibraries.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "removeExternalLibraryRequest": { + "name": "fuzzywuzzy", + "version": "0.0.1" + } + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentDefinition.json new file mode 100644 index 000000000..1c735e21c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentDefinition.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "environmentId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata" : true, + "updateEnvironmentDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "Libraries/CustomLibraries/samplelibrary.jar", + "payload": "eyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplepython.py", + "payload": "FyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/samplewheel-0.18.0-py2.py3-none-any.whl", + "payload": "LyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/CustomLibraries/sampleR.tar.gz", + "payload": "ZyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Libraries/PublicLibraries/environment.yml", + "payload": "IyJuYmZvcm1hdCI6N..", + "payloadType": "InlineBase64" + }, + { + "path": "Setting/Sparkcompute.yml", + "payload": "GyJuYmZvcm1hdCI6N..", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkCompute.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkCompute.json index 457e46091..c0160a67b 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkCompute.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkCompute.json @@ -2,6 +2,7 @@ "parameters": { "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11", + "preview": "false", "updateEnvironmentSparkComputeRequest": { "instancePool": { "name": "MyWorkspacePool", @@ -16,11 +17,16 @@ "minExecutors": 1, "maxExecutors": 1 }, - "sparkProperties": { - "spark.acls.enable": "false", - "spark.admin.acls": null - - }, + "sparkProperties": [ + { + "key": "spark.acls.enable", + "value": "false" + }, + { + "key": "spark.admin.acls", + "value": null + } + ], "runtimeVersion": "1.2" } }, @@ -41,9 +47,12 @@ "minExecutors": 1, "maxExecutors": 1 }, - "sparkProperties": { - "spark.acls.enable": "false" - }, + "sparkProperties": [ + { + "key": "spark.acls.enable", + "value": "false" + } + ], "runtimeVersion": "1.2" } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputeInstancePoolWithId.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputeInstancePoolWithId.json new file mode 100644 index 000000000..2fd4c7ee6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputeInstancePoolWithId.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11", + "preview": "false", + "updateEnvironmentSparkComputeRequest": { + "instancePool": { + "id": "78942136-106c-4f3e-80fc-7ff4eae11603" + } + } + }, + "responses": { + "200": { + "body": { + "instancePool": { + "name": "MyWorkspacePool", + "type": "Workspace", + "id": "78942136-106c-4f3e-80fc-7ff4eae11603" + }, + "driverCores": 4, + "driverMemory": "56g", + "executorCores": 4, + "executorMemory": "56g", + "dynamicExecutorAllocation": { + "enabled": false, + "minExecutors": 1, + "maxExecutors": 1 + }, + "sparkProperties": [ + { + "key": "spark.acls.enable", + "value": "false" + } + ], + "runtimeVersion": "1.2" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputePreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputePreview.json new file mode 100644 index 000000000..eb77df41f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UpdateEnvironmentSparkComputePreview.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "707cfd07-cbf1-41da-aad7-dd157ddb8c11", + "preview": true, + "updateEnvironmentSparkComputeRequest": { + "instancePool": { + "name": "MyWorkspacePool", + "type": "Workspace" + }, + "driverCores": 4, + "driverMemory": "56g", + "executorCores": 4, + "executorMemory": "56g", + "dynamicExecutorAllocation": { + "enabled": false, + "minExecutors": 1, + "maxExecutors": 1 + }, + "sparkProperties": { + "spark.acls.enable": "false", + "spark.admin.acls": null + }, + "runtimeVersion": "1.2" + } + }, + "responses": { + "200": { + "body": { + "instancePool": { + "name": "MyWorkspacePool", + "type": "Workspace", + "id": "78942136-106c-4f3e-80fc-7ff4eae11603" + }, + "driverCores": 4, + "driverMemory": "56g", + "executorCores": 4, + "executorMemory": "56g", + "dynamicExecutorAllocation": { + "enabled": false, + "minExecutors": 1, + "maxExecutors": 1 + }, + "sparkProperties": { + "spark.acls.enable": "false" + }, + "runtimeVersion": "1.2" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibrary.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibrary.json new file mode 100644 index 000000000..8c69604a8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibrary.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "libraryName": "samplelibrary.jar" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibraryPreview.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibraryPreview.json new file mode 100644 index 000000000..40e94e100 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/examples/UploadCustomLibraryPreview.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "environmentId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/swagger.json index c0076ea1c..0d2811854 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/environment/swagger.json @@ -10,14 +10,78 @@ "host": "api.fabric.microsoft.com", "basePath": "/v1", "paths": { - "/workspaces/{workspaceId}/environments/{environmentId}/staging/sparkcompute": { + "/workspaces/{workspaceId}/environments/{environmentId}/staging/sparkcompute?preview=true": { "get": { "tags": [ - "SparkCompute" + "Staging" + ], + "summary": "Get environment staging spark compute.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/staging/get-spark-compute). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nTo ensure compatibility, explicitly set the `preview` parameter to your desired value (`true` or `false`).\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response property `sparkProperties`'s type was changed from `object` to the list of `SparkProperty`.\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": "Staging_Get_Spark_Compute_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/staging/get-spark-compute).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentSparkComputePreview" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environment staging spark compute example": { + "$ref": "./examples/GetEnvironmentSparkComputePreview.json" + } + } + }, + "patch": { + "tags": [ + "Staging" + ], + "summary": "Update environment staging spark compute. If you want to delete a spark property, set its value as null.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/staging/update-spark-compute). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nTo ensure compatibility, explicitly set the `preview` parameter to your desired value (`true` or `false`).\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Request and response property `sparkProperties`'s type was changed from `object` to the list of `SparkProperty`.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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": "Staging_Update_Spark_Compute_(preview)", + "consumes": [ + "application/json" ], - "summary": "> [!NOTE]\n> This API is in preview.\n\nGet environment staging spark compute.", - "description": "## Permissions\n\nRead permission to the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.Read.All or Environment.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": "SparkCompute_GetStagingSettings", "produces": [ "application/json" ], @@ -37,6 +101,154 @@ "required": true, "type": "string", "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/staging/update-spark-compute).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + }, + { + "name": "updateEnvironmentSparkComputeRequest", + "in": "body", + "description": "Update environment spark compute request payload.", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/UpdateEnvironmentSparkComputeRequestPreview" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentSparkComputePreview" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update environment staging spark compute example": { + "$ref": "./examples/UpdateEnvironmentSparkComputePreview.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/sparkcompute?preview=true": { + "get": { + "tags": [ + "Published" + ], + "summary": "Get environment spark compute.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/published/get-spark-compute). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nTo ensure compatibility, explicitly set the `preview` parameter to your desired value (`true` or `false`).\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response property `sparkProperties`'s type was changed from `object` to the list of `SparkProperty`.\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": "Published_Get_Spark_Compute_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/published/get-spark-compute).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentSparkComputePreview" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environment Spark compute example": { + "$ref": "./examples/GetEnvironmentSparkComputePreview.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/sparkcompute?preview=false": { + "get": { + "tags": [ + "Staging" + ], + "summary": "Get environment staging spark compute.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**.\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": "Staging_GetSparkCompute", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } } ], "responses": { @@ -61,11 +273,11 @@ }, "patch": { "tags": [ - "SparkCompute" + "Staging" ], - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdate environment staging spark compute. If you want to delete a spark property, set its value as null.", - "description": "## Permissions\n\nWrite permission to the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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": "SparkCompute_UpdateStagingSettings", + "summary": "Update environment staging spark compute. If you want to delete a spark property, set its value as null.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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": "Staging_UpdateSparkCompute", "consumes": [ "application/json" ], @@ -89,6 +301,19 @@ "type": "string", "format": "uuid" }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + }, { "name": "updateEnvironmentSparkComputeRequest", "in": "body", @@ -116,18 +341,21 @@ "x-ms-examples": { "Update environment staging spark compute example": { "$ref": "./examples/UpdateEnvironmentSparkCompute.json" + }, + "Update environment staging spark compute instance pool using pool ID example": { + "$ref": "./examples/UpdateEnvironmentSparkComputeInstancePoolWithId.json" } } } }, - "/workspaces/{workspaceId}/environments/{environmentId}/sparkcompute": { + "/workspaces/{workspaceId}/environments/{environmentId}/sparkcompute?preview=false": { "get": { "tags": [ - "SparkCompute" + "Published" ], - "summary": "> [!NOTE]\n> This API is in preview.\n\nGet environment spark compute.", - "description": "## Permissions\n\nRead permission to the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.Read.All or Environment.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": "SparkCompute_GetPublishedSettings", + "summary": "Get environment spark compute.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": "Published_GetSparkCompute", "produces": [ "application/json" ], @@ -147,6 +375,19 @@ "required": true, "type": "string", "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } } ], "responses": { @@ -223,7 +464,7 @@ }, "post": { "summary": "Creates an environment in the specified workspace.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n This API does not support create a environment with definition.\n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Environment.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create an environment, the workspace must be on a supported Fabric capacity.\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 The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n Environment.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create an environment, the workspace must be on a supported Fabric capacity.\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" ], @@ -287,19 +528,22 @@ } }, "x-ms-examples": { - "Create a environment example": { + "Create an environment example": { + "$ref": "./examples/CreateEnvironmentWithoutDefinition.json" + }, + "Create an environment with public definition example": { "$ref": "./examples/CreateEnvironment.json" } } } }, "/workspaces/{workspaceId}/environments/{environmentId}": { - "get": { + "get": { "summary": "Returns properties of the specified environment.", "description": "## Permissions\n\n The caller must have *read* permissions for the environment.\n\n## Required Delegated Scopes\n\nEnvironment.Read.All or Item.Read.All or Environment.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_GetEnvironment", "produces": [ "application/json" @@ -320,11 +564,11 @@ "type": "string", "format": "uuid", "required": true - } + } ], - "responses": { + "responses": { "200": { - "description": "Request completed successfully.", + "description": "Request completed successfully. Returns Environment object.", "schema": { "$ref": "./definitions.json#/definitions/Environment" } @@ -448,14 +692,176 @@ } } }, - "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries": { - "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nGet a list of libraries staged into environment.", - "description": "## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.Read.All or Environment.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", + "/workspaces/{workspaceId}/environments/{environmentId}/getDefinition": { + "post": { + "summary": "Returns the specified environment public definition.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get a environment'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 environment. \n\n## Required Delegated Scopes \n\n Environment.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations\n\n This API is blocked for a environment with an encrypted sensitivity label.\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": [ - "SparkLibraries" + "Items" ], - "operationId": "SparkLibraries_GetStagingLibraries", + "operationId": "Items_GetEnvironmentDefinition", + "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": "environmentId", + "description": "The environment ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the environment public definition.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentDefinitionResponse" + } + }, + "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." + } + } + }, + "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 environment definition example": { + "$ref": "./examples/GetEnvironmentDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified environment.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the environment's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the environment. \n## Required Delegated Scopes \n\n Environment.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_UpdateEnvironmentDefinition", + "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": "environmentId", + "description": "The environment 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": "updateEnvironmentDefinitionRequest", + "description": "Update environment definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateEnvironmentDefinitionRequest" + }, + "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." + } + } + }, + "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 environment definition example": { + "$ref": "./examples/UpdateEnvironmentDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries?preview=false": { + "get": { + "summary": "Get a list of libraries staged into environment.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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_ListLibraries", + "x-ms-pageable": { + "nextLinkName": "continuationUri", + "itemName": "libraries" + }, "produces": [ "application/json" ], @@ -475,35 +881,57 @@ "required": true, "type": "string", "format": "uuid" - } + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + }, + { + "in": "query", + "name": "continuationToken", + "description": "Token to retrieve the next page of results, if available.", + "type": "string", + "required": false + } ], "responses": { "200": { "description": "Request completed successfully.", "schema": { - "$ref": "./definitions.json#/definitions/EnvironmentLibraries" + "$ref": "./definitions.json#/definitions/Libraries" } }, "default": { - "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any published libraries.", + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any staging libraries.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } } - }, + }, "x-ms-examples": { "Get environment staging libraries example": { "$ref": "./examples/GetStagingLibraries.json" } } - }, + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpload spark library into environment.", - "description": "This API allows one file upload at a time. The supported file formats are .jar, .py, .whl, .tar.gz, or environment.yml. \n\n## Limitations\n\nThe maximum request size allowed is 100MB.\n\nNetwork issues may impact the upload size and may result in timeouts.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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", + "summary": "Upload spark library into environment.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/staging/upload-custom-library).\nThe new version introduces breaking changes and is not backward compatible.**\n\n## Deprecation Notice\n\nIt is recommended to migrate your integration to use the Release version.\n\nThe following incompatible changes were introduced in the Release version:\n* The request URL structure has changed: the library name to be added is now specified directly in the URL path.\n* The request now supports `application/octet-stream` as `Content-Type` instead of `multipart/form-data`.\n\nThis API allows one file upload at a time. The supported file formats are .jar, .py, .whl, .tar.gz, or environment.yml.\n\n## Limitations\n\nThe maximum request size allowed is 100MB.\n\nNetwork issues may impact the upload size and may result in timeouts.\n\n## Content-Type\n\nThe library file needs to be upload using `Content-Type` as `multipart/form-data`.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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": [ - "SparkLibraries" + "Staging" ], - "operationId": "SparkLibraries_UploadStagingLibrary", + "operationId": "Staging_Upload_Custom_Library_(preview)", "consumes": [ "multipart/form-data" ], @@ -541,20 +969,20 @@ }, "x-ms-examples": { "Upload environment staging libraries example": { - "$ref": "./examples/UploadStagingLibraries.json" + "$ref": "./examples/UploadCustomLibraryPreview.json" } } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes a library from environment. It supports deleting one file at a time.", - "description": "## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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", + "summary": "Deletes a library from environment. It supports deleting one file at a time.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/staging/delete-custom-library).\nThe new version introduces breaking changes and is not backward compatible.**\n\n## Deprecation Notice\n\nIt is recommended to migrate your integration to use the Release version.\n\nThe following incompatible changes were introduced in the Release version:\n* The request URL structure has changed: the library name to be removed is now specified directly in the URL path, rather than as a query parameter in the libraries collection.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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": [ - "SparkLibraries" + "Staging" ], "produces": [ "application/json" ], - "operationId": "SparkLibraries_DeleteStagingLibrary", + "operationId": "Staging_Delete_Custom_Library_(preview)", "parameters": [ { "name": "workspaceId", @@ -593,19 +1021,253 @@ }, "x-ms-examples": { "Delete environment staging libraries example": { - "$ref": "./examples/DeleteStagingLibraries.json" + "$ref": "./examples/DeleteCustomLibraryPreview.json" } } } }, - "/workspaces/{workspaceId}/environments/{environmentId}/libraries": { + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries?preview=true": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nGet environment published libraries.", - "description": "## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.Read.All or Environment.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", + "summary": "Get environment staging libraries.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/staging/list-libraries). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Different response format and schema structure\n* Enhanced library properties in the response\n* Updated field names and data types\n* Improved error handling and messages\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": [ - "SparkLibraries" + "Staging" + ], + "operationId": "Staging_List_Libraries_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/staging/list-libraries).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/LibrariesPreview" + } + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any staging libraries.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environment staging libraries example": { + "$ref": "./examples/GetStagingLibrariesPreview.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries/{libraryName}": { + "post": { + "summary": "Upload spark library into environment.", + "description": "This API allows one file upload at a time. The supported file formats are .jar, .py, .whl, and .tar.gz. \n\n## Limitations\n\nThe maximum request size allowed is 100MB.\n\nNetwork issues may impact the upload size and may result in timeouts.\n\n## Content-Type\n\nThe library file needs to be upload using `Content-Type` as `application/octet-stream`.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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_UploadCustomLibrary", + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "libraryName", + "in": "path", + "description": "The library name to be uploaded. The library name needs to include its extension, for example `samplefile.jar`.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentValidationFailed - Provide a library with a valid format such as .jar, .py, .whl, .tar.gz.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Upload environment staging libraries example": { + "$ref": "./examples/UploadCustomLibrary.json" + } + } + }, + "delete": { + "summary": "Delete a custom library from environment. It supports deleting one file at a time. The supported file formats are .jar, .py, .whl, and .tar.gz.", + "description": "## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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" + ], + "produces": [ + "application/json" + ], + "operationId": "Staging_DeleteCustomLibrary", + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "libraryName", + "in": "path", + "description": "The library name to be deleted. The library name needs to include its extension if it is a custom library, for example `samplefile.jar`.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentValidationFailed - Provide a name of a valid library.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete environment staging libraries example": { + "$ref": "./examples/DeleteCustomLibrary.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries/removeExternalLibrary": { + "post": { + "summary": "Delete a spark external library from an environment.", + "description": "\nThis API allows one library deletion at a time.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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_RemoveExternalLibrary", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "removeExternalLibraryRequest", + "in": "body", + "description": "The external library request payload.", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/RemoveExternalLibrariesRequest" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentValidationFailed - Provide a valid request", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete an external library from environment example": { + "$ref": "./examples/RemoveExternalLibraries.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries/importExternalLibraries": { + "post": { + "summary": "Upload spark external libraries as an `environment.yml` file into environment. It overrides the list of existing external libraries in environment.", + "description": "\nThis API allows file upload at a time. \n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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_ImportExternalLibraries", + "consumes": [ + "application/octet-stream" ], - "operationId": "SparkLibraries_GetPublishedLibraries", "produces": [ "application/json" ], @@ -627,15 +1289,133 @@ "format": "uuid" } ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentValidationFailed - Provide a valid environment.yml.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Upload environment staging external libraries example": { + "$ref": "./examples/ImportExternalLibraries.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries/exportExternalLibraries": { + "get": { + "summary": "Export a set of external libraries saved in the environment in YML format.", + "description": "## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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_ExportExternalLibraries", + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any staging external libraries.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Export staging external libraries in environment.yml example": { + "$ref": "./examples/ExportStagingExternalLibraries.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/libraries?preview=false": { + "get": { + "summary": "Get environment published libraries.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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_ListLibraries", + "x-ms-pageable": { + "nextLinkName": "continuationUri", + "itemName": "libraries" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "continuationToken", + "description": "Token to retrieve the next page of results, if available.", + "type": "string", + "required": false + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], "responses": { "200": { "description": "Request completed successfully.", "schema": { - "$ref": "./definitions.json#/definitions/EnvironmentLibraries" + "$ref": "./definitions.json#/definitions/Libraries" } }, "default": { - "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any staged libraries.", + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any published libraries.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } @@ -648,17 +1428,80 @@ } } }, - "/workspaces/{workspaceId}/environments/{environmentId}/staging/publish": { - "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nTrigger an environment publish operation.", - "description": "## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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", + "/workspaces/{workspaceId}/environments/{environmentId}/libraries?preview=true": { + "get": { + "summary": "Get environment published libraries.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/published/list-libraries). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Different response format and schema structure\n* Enhanced library properties in the response\n* Updated field names and data types\n* Improved error handling and messages\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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": [ - "SparkLibraries" + "Published" ], - "operationId": "SparkLibraries_PublishEnvironment", + "operationId": "Published_List_Libraries_(preview)", "produces": [ "application/json" ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/published/list-libraries).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/LibrariesPreview" + } + }, + "default": { + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any published libraries.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environment published libraries example": { + "$ref": "./examples/GetPublishedLibrariesPreview.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/libraries/exportExternalLibraries": { + "get": { + "summary": "Export a set of external libraries published in the environment in `YML` format.", + "description": "## Permissions\n\nRead permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.Read.All or Item.ReadWrite.All or Environment.Read.All or Environment.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_ExportExternalLibraries", + "produces": [ + "application/octet-stream" + ], "parameters": [ { "name": "workspaceId", @@ -679,23 +1522,90 @@ ], "responses": { "200": { - "description": "Publish operation request has been submitted successfully.", - "schema": { - "$ref": "./definitions.json#/definitions/EnvironmentPublishInfo" - } + "description": "Request completed successfully." }, + "default": { + "description": "Common error codes:\n\n* EnvironmentLibrariesNotFound - This environment does not have any published external libraries.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Export published external libraries in environment.yml example": { + "$ref": "./examples/ExportPublishedExternalLibraries.json" + } + } + } + }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/publish?preview=false": { + "post": { + "summary": "Trigger an environment publish operation.", + "description": "> [!NOTE]\n> This API is a release version of a preview version due to be deprecated on March 1, 2026.\n**When calling this API - callers must set the query parameter `preview` to the value `false`**\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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_PublishEnvironment", + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": true, + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `false` to use the release version.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { "202": { - "description": "> [!NOTE]\n> This code is not available.\n\nRequest accepted, publish operation is in progress.", + "description": "Request accepted, publish operation is in progress. Returns the GA contract when `preview=false` (default after March 1, 2026).", "headers": { "Location": { - "description": "The URL to check the status of the publish operation.", + "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": { + "description": "The number of seconds to wait before retrying the request.", "type": "integer" } } }, + "200": { + "description": "Publish operation request has been submitted successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentProperties" + } + }, "default": { "description": "Common error codes:\n\n* InvalidEnvironmentPublish - Environment publish operation for version <*GUID* of the failed publish operation> failed due to error: Code = EnvironmentAnotherOngoingPublishProcess.", "schema": { @@ -710,14 +1620,77 @@ } } }, + "/workspaces/{workspaceId}/environments/{environmentId}/staging/publish?preview=true": { + "post": { + "summary": "Trigger an environment publish operation.", + "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. This preview API will be deprecated on **March 1, 2026**, and replaced by a stable version, available [here](/rest/api/fabric/environment/items/publish-environment). The new version introduces breaking changes and is not backward compatible.\n**When calling this API, callers must specify `true` as the value for the query parameter `preview`.**\n\n## Deprecation Notice\n\nA new query parameter `preview` has been introduced to facilitate this transition:\n* The `preview` query parameter currently defaults to `true`.\n* Set the value of the `preview` query parameter to `false` to use the stable Release version of this API.\n* Starting March 1, 2026, the default value for `preview` will change to `false`.\n\nIt is recommended to migrate your integration to use the Release version as soon as possible by specifying `false` for the `preview` query parameter (**the default value for the `preview` query parameter will be set to `false` on API's deprecation date**).\n\nThe following incompatible changes were introduced in the Release version:\n* Response is following [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation) pattern and HTTP response code 202 may be returned.\n\n## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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_Publish_Environment_(preview)", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "workspaceId", + "in": "path", + "description": "The workspace ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "environmentId", + "in": "path", + "description": "The environment ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "preview", + "in": "query", + "description": "This parameter specifies which version of the API to use. Set to `true` to use the preview version described on this page, or to `false` to use the Release version detailed [here](/rest/api/fabric/environment/items/publish-environment).\nStarting March 1, 2026, the default value for `preview` will change to `false`.", + "required": true, + "type": "boolean", + "x-ms-deprecation": { + "defaultChangeDate": "2026-03-01", + "currentDefault": true, + "newDefault": false, + "description": "The default value will change from `true` to `false` on **March 1, 2026**." + } + } + ], + "responses": { + "200": { + "description": "Publish operation request has been submitted successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/EnvironmentProperties" + } + }, + "default": { + "description": "Common error codes:\n\n* InvalidEnvironmentPublish - Environment publish operation for version <*GUID* of the failed publish operation> failed due to error: Code = EnvironmentAnotherOngoingPublishProcess.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Publish environment example": { + "$ref": "./examples/PublishEnvironmentPreview.json" + } + } + } + }, "/workspaces/{workspaceId}/environments/{environmentId}/staging/cancelPublish": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nTrigger an environment publish cancellation.", - "description": "## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nEnvironment.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", + "summary": "Trigger an environment publish cancellation.", + "description": "## Permissions\n\nWrite permission for the environment item. \n\n## Required Delegated Scopes\n\nItem.ReadWrite.All or Environment.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": [ - "SparkLibraries" + "Items" ], - "operationId": "SparkLibraries_CancelPublish", + "operationId": "Items_CancelPublishEnvironment", "produces": [ "application/json" ], @@ -743,7 +1716,7 @@ "200": { "description": "Request completed successfully.", "schema": { - "$ref": "./definitions.json#/definitions/EnvironmentPublishInfo" + "$ref": "./definitions.json#/definitions/EnvironmentProperties" } }, "default": { diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/operatorCommon.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/operatorCommon.json index e7205f161..3e29f6860 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/operatorCommon.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/operatorCommon.json @@ -384,10 +384,10 @@ "type": "object", "description": "Represents an operation on a column.", "required": [ - "operationType" + "type" ], "properties": { - "operationType": { + "type": { "type": "string", "description": "The operation type.", "enum": [ @@ -396,7 +396,7 @@ "Rename" ], "x-ms-enum": { - "name": "operationType", + "name": "type", "modelAsString": true, "values": [ { @@ -419,7 +419,7 @@ "description": "The alias of the operation." } }, - "discriminator": "operationType" + "discriminator": "type" }, "ManageFieldsFunctionCallOperation": { "type": "object", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json index c7872e318..8bbbff6ce 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/definitions/source.json @@ -975,7 +975,7 @@ }, "filters": { "type": "object", - "description": "The advanced filters defined in https://learn.microsoft.com/azure/event-grid/event-filtering#advanced-filtering." + "description": "The advanced filters defined in https://learn.microsoft.com/en-us/azure/event-grid/event-filtering#advanced-filtering." } } }, @@ -1017,7 +1017,7 @@ }, "filters": { "type": "object", - "description": "The advanced filters defined in https://learn.microsoft.com/azure/event-grid/event-filtering#advanced-filtering." + "description": "The advanced filters defined in https://learn.microsoft.com/en-us/azure/event-grid/event-filtering#advanced-filtering." } } }, @@ -1062,7 +1062,7 @@ }, "filters": { "type": "object", - "description": "The advanced filters defined in https://learn.microsoft.com/azure/event-grid/event-filtering#advanced-filtering." + "description": "The advanced filters defined in https://learn.microsoft.com/en-us/azure/event-grid/event-filtering#advanced-filtering." } } }, @@ -1103,9 +1103,9 @@ }, "filters": { "type": "object", - "description": "The advanced filters defined in https://learn.microsoft.com/azure/event-grid/event-filtering#advanced-filtering." + "description": "The advanced filters defined in https://learn.microsoft.com/en-us/azure/event-grid/event-filtering#advanced-filtering." } } } } -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestination.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestination.json index 50550abea..0c149efaf 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestination.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestination.json @@ -6,28 +6,30 @@ }, "responses": { "200": { - "id": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "name": "LakehouseDestination", - "type": "Lakehouse", - "properties": { - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", - "schema": "dbo", - "deltaTable": "deltaTable", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" + "body": { + "id": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "name": "LakehouseDestination", + "type": "Lakehouse", + "properties": { + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", + "schema": "dbo", + "deltaTable": "deltaTable", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } } - } - }, - "inputNodes": [ - { - "name": "InputNodeName" - } - ], - "status": "Running", - "error": null + }, + "inputNodes": [ + { + "name": "InputNodeName" + } + ], + "status": "Running", + "error": null + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestinationConnection.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestinationConnection.json index 60c20fda3..fc73f7500 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestinationConnection.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamDestinationConnection.json @@ -6,14 +6,16 @@ }, "responses": { "200": { - "fullyQualifiedNamespace": "namespace.servicebus.windows.net", - "eventHubName": "eventhub", - "consumerGroupName": "$Default", - "accessKeys": { - "primaryKey": "key1", - "secondaryKey": "key2", - "primaryConnectionString": "connectionString1", - "secondaryConnectionString": "connectionString2" + "body": { + "fullyQualifiedNamespace": "namespace.servicebus.windows.net", + "eventHubName": "eventhub", + "consumerGroupName": "$Default", + "accessKeys": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryConnectionString": "connectionString1", + "secondaryConnectionString": "connectionString2" + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSource.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSource.json index ef582df4e..9181f58ef 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSource.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSource.json @@ -6,21 +6,23 @@ }, "responses": { "200": { - "id": "e2886002-d696-4c05-969c-51361365cc24", - "name": "AzureEventHubSource", - "type": "AzureEventHub", - "properties": { - "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" + "body": { + "id": "e2886002-d696-4c05-969c-51361365cc24", + "name": "AzureEventHubSource", + "type": "AzureEventHub", + "properties": { + "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } } - } - }, - "status": "Running", - "error": null + }, + "status": "Running", + "error": null + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSourceConnection.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSourceConnection.json index a694e977e..fcb10ac6b 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSourceConnection.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamSourceConnection.json @@ -6,13 +6,15 @@ }, "responses": { "200": { - "fullyQualifiedNamespace": "namespace.servicebus.windows.net", - "eventHubName": "eventhub", - "accessKeys": { - "primaryKey": "key1", - "secondaryKey": "key2", - "primaryConnectionString": "connectionString1", - "secondaryConnectionString": "connectionString2" + "body": { + "fullyQualifiedNamespace": "namespace.servicebus.windows.net", + "eventHubName": "eventhub", + "accessKeys": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryConnectionString": "connectionString1", + "secondaryConnectionString": "connectionString2" + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json index 1bb218c97..17d180e50 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/examples/GetEventstreamTopology.json @@ -5,649 +5,651 @@ }, "responses": { "200": { - "compatibilityLevel": "1.0", - "sources": [ - { - "id": "514d0e11-cf65-44fb-a292-fc88a2a78618", - "name": "AzureEventHubSource", - "type": "AzureEventHub", - "properties": { - "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "status": "Running", - "error": null - }, - { - "id": "e2886002-d696-4c05-969c-51361365cc24", - "name": "AzureIoTHubSource", - "type": "AzureIoTHub", - "properties": { - "dataConnectionId": "8c500070-073f-4a88-b478-8fabe1941c52", - "consumerGroupName": "$Default", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "status": "Running", - "error": null - }, - { - "id": "0d9bf4db-bc7f-4854-8579-6fdf244ed503", - "name": "CustomEndpointSource", - "type": "CustomEndpoint", - "properties": {}, - "status": "Running", - "error": null - }, - { - "id": "19258e62-4de9-4c52-b45e-71502dc2ddea", - "name": "SampleDataSource", - "type": "SimpleData", - "properties": { - "sampleType": "Bicycles" - }, - "status": "Running", - "error": null - }, - { - "id": "7afaa265-1d67-416f-8183-e6e1b1ebb4ea", - "name": "AmazonKinesisSource", - "type": "AmazonKinesis", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "region": "us-east-1" - }, - "status": "Running", - "error": null - }, - { - "id": "d020dd19-e84c-42e1-b4be-87e58145e1b5", - "name": "AmazonMSKKafkaSource", - "type": "AmazonMSKKafka", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Earliest", - "saslMechanism": "PLAIN", - "securityProtocol": "SASL_PLAINTEXT" - }, - "status": "Running", - "error": null - }, - { - "id": "03a6dd4a-4627-422f-a287-2ccd7daf903d", - "name": "ApacheKafkaSource", - "type": "ApacheKafka", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Latest", - "saslMechanism": "SCRAM-SHA-512", - "securityProtocol": "SASL_SSL" - }, - "status": "Running", - "error": null - }, - { - "id": "6f493321-6c12-40c6-9980-c2aa38804829", - "name": "ConfluentCloudSource", - "type": "ConfluentCloud", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "topic": "topic", - "consumerGroupName": "consumerGroupName", - "autoOffsetReset": "Earliest" - }, - "status": "Running", - "error": null - }, - { - "id": "e7f88779-0349-47e3-bead-85afc9d3c9a4", - "name": "AzureCosmosDBCDCSource", - "type": "AzureCosmosDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "containerName": "containerName", - "databaseName": "databaseName", - "offsetPolicy": "Earliest" - }, - "status": "Running", - "error": null - }, - { - "id": "da5ed80d-c672-4809-a7ac-6224aa2ab2c7", - "name": "AzureSQLDBCDCSource", - "type": "AzureSQLDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "745e401f-aac6-463f-b107-c336a2440abe", - "name": "AzureSQLMIDBCDCSource", - "type": "AzureSQLMIDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "759842ab-a968-498d-9f37-f46297da8b07", - "name": "SQLServerOnVMDBCDCSource", - "type": "SQLServerOnVMDBCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName" - }, - "status": "Running", - "error": null - }, - { - "id": "9791cd2a-19fb-4991-b878-2b061420a460", - "name": "MySQLCDCSource", - "type": "MySQLCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "serverId": 9, - "port": 3306 - }, - "status": "Running", - "error": null - }, - { - "id": "57b3394b-bcf3-479a-952b-22a815e1d684", - "name": "PostgreSQLCDCSource", - "type": "PostgreSQLCDC", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", - "tableName": "tableName", - "slotName": "slotName", - "port": 5432 - }, - "status": "Running", - "error": null - }, - { - "id": "d5f702ca-8b2b-4ac5-88e7-50697cb1b207", - "name": "GooglePubSubSource", - "type": "GooglePubSub", - "properties": { - "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37" - }, - "status": "Running", - "error": null - } - ], - "destinations": [ - { - "id": "4642073b-c216-4675-a17c-ed2e75756330", - "name": "CustomEndpointDestination", - "type": "CustomEndpoint", - "properties": {}, - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "status": "Running", - "error": null - }, - { - "id": "e1e2d0cc-87e5-46d9-977d-2a8eede7bef0", - "name": "LakehouseDestination", - "type": "Lakehouse", - "properties": { - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", - "schema": "dbo", - "deltaTable": "deltaTable", - "minimumRows": 100000, - "maximumDurationInSeconds": 120, - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "status": "Running", - "error": null - }, - { - "id": "49b5d6ec-f8af-4ae9-a4d6-5e94645efe1f", - "name": "EventhouseProcessedIngestionModeDestination", - "type": "Eventhouse", - "properties": { - "dataIngestionMode": "ProcessedIngestion", - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", - "databaseName": "databaseName", - "tableName": "tableName", - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "status": "Running", - "error": null - }, - { - "id": "c0ca1c2a-b8c5-482c-98da-40088f988e9c", - "name": "EventhouseDirectIngestionModeDestination", - "type": "Eventhouse", - "properties": { - "dataIngestionMode": "DirectIngestion", - "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", - "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", - "connectionName": "connectionName", - "mappingRuleName": "mappingRuleName" - }, - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "status": "External", - "error": null - } - ], - "streams": [ - { - "id": "8eff3cbe-f452-4d7f-bc2d-f35b4359c917", - "name": "Eventstream-stream", - "type": "DefaultStream", - "properties": {}, - "inputNodes": [ - { - "name": "AzureEventHubSource" - } - ] - }, - { - "id": "0f6f0dd8-9de2-48e2-92e7-e15b755b22a6", - "name": "DerivedStreamName", - "type": "DerivedStream", - "properties": { - "inputSerialization": { - "type": "Json", - "properties": { - "encoding": "UTF8" - } - } - }, - "inputNodes": [ - { - "name": "FilterName" - } - ] - } - ], - "operators": [ - { - "name": "FilterName", - "type": "Filter", - "inputNodes": [ - { - "name": "EventStreamName-stream" - } - ], - "properties": { - "conditions": [ - { - "column": { - "node": "nodeName", - "columnName": "columnName", - "columnPathSegments": [ - "path", - "to", - "column" - ] - }, - "operator": "Equals", - "value": { - "dataType": "nvarchar(max)", - "value": "stringValue" + "body": { + "compatibilityLevel": "1.0", + "sources": [ + { + "id": "514d0e11-cf65-44fb-a292-fc88a2a78618", + "name": "AzureEventHubSource", + "type": "AzureEventHub", + "properties": { + "dataConnectionId": "9c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" } } + }, + "status": "Running", + "error": null + }, + { + "id": "e2886002-d696-4c05-969c-51361365cc24", + "name": "AzureIoTHubSource", + "type": "AzureIoTHub", + "properties": { + "dataConnectionId": "8c500070-073f-4a88-b478-8fabe1941c52", + "consumerGroupName": "$Default", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "status": "Running", + "error": null + }, + { + "id": "0d9bf4db-bc7f-4854-8579-6fdf244ed503", + "name": "CustomEndpointSource", + "type": "CustomEndpoint", + "properties": {}, + "status": "Running", + "error": null + }, + { + "id": "19258e62-4de9-4c52-b45e-71502dc2ddea", + "name": "SampleDataSource", + "type": "SampleData", + "properties": { + "type": "Bicycles" + }, + "status": "Running", + "error": null + }, + { + "id": "7afaa265-1d67-416f-8183-e6e1b1ebb4ea", + "name": "AmazonKinesisSource", + "type": "AmazonKinesis", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "region": "us-east-1" + }, + "status": "Running", + "error": null + }, + { + "id": "d020dd19-e84c-42e1-b4be-87e58145e1b5", + "name": "AmazonMSKKafkaSource", + "type": "AmazonMSKKafka", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Earliest", + "saslMechanism": "PLAIN", + "securityProtocol": "SASL_PLAINTEXT" + }, + "status": "Running", + "error": null + }, + { + "id": "03a6dd4a-4627-422f-a287-2ccd7daf903d", + "name": "ApacheKafkaSource", + "type": "ApacheKafka", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Latest", + "saslMechanism": "SCRAM-SHA-512", + "securityProtocol": "SASL_SSL" + }, + "status": "Running", + "error": null + }, + { + "id": "6f493321-6c12-40c6-9980-c2aa38804829", + "name": "ConfluentCloudSource", + "type": "ConfluentCloud", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "topic": "topic", + "consumerGroupName": "consumerGroupName", + "autoOffsetReset": "Earliest" + }, + "status": "Running", + "error": null + }, + { + "id": "e7f88779-0349-47e3-bead-85afc9d3c9a4", + "name": "AzureCosmosDBCDCSource", + "type": "AzureCosmosDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "containerName": "containerName", + "databaseName": "databaseName", + "offsetPolicy": "Earliest" + }, + "status": "Running", + "error": null + }, + { + "id": "da5ed80d-c672-4809-a7ac-6224aa2ab2c7", + "name": "AzureSQLDBCDCSource", + "type": "AzureSQLDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "745e401f-aac6-463f-b107-c336a2440abe", + "name": "AzureSQLMIDBCDCSource", + "type": "AzureSQLMIDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "759842ab-a968-498d-9f37-f46297da8b07", + "name": "SQLServerOnVMDBCDCSource", + "type": "SQLServerOnVMDBCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName" + }, + "status": "Running", + "error": null + }, + { + "id": "9791cd2a-19fb-4991-b878-2b061420a460", + "name": "MySQLCDCSource", + "type": "MySQLCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName", + "serverId": 9, + "port": 3306 + }, + "status": "Running", + "error": null + }, + { + "id": "57b3394b-bcf3-479a-952b-22a815e1d684", + "name": "PostgreSQLCDCSource", + "type": "PostgreSQLCDC", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37", + "tableName": "tableName", + "slotName": "slotName", + "port": 5432 + }, + "status": "Running", + "error": null + }, + { + "id": "d5f702ca-8b2b-4ac5-88e7-50697cb1b207", + "name": "GooglePubSubSource", + "type": "GooglePubSub", + "properties": { + "dataConnectionId": "2e4c91e7-0c4a-4cc4-abe3-cc7ba4310a37" + }, + "status": "Running", + "error": null + } + ], + "destinations": [ + { + "id": "4642073b-c216-4675-a17c-ed2e75756330", + "name": "CustomEndpointDestination", + "type": "CustomEndpoint", + "properties": {}, + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "status": "Running", + "error": null + }, + { + "id": "e1e2d0cc-87e5-46d9-977d-2a8eede7bef0", + "name": "LakehouseDestination", + "type": "Lakehouse", + "properties": { + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "ee579458-85ea-4652-bd77-5c7d7c298b2a", + "schema": "dbo", + "deltaTable": "deltaTable", + "minimumRows": 100000, + "maximumDurationInSeconds": 120, + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "status": "Running", + "error": null + }, + { + "id": "49b5d6ec-f8af-4ae9-a4d6-5e94645efe1f", + "name": "EventhouseProcessedIngestionModeDestination", + "type": "Eventhouse", + "properties": { + "dataIngestionMode": "ProcessedIngestion", + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", + "databaseName": "databaseName", + "tableName": "tableName", + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "status": "Running", + "error": null + }, + { + "id": "c0ca1c2a-b8c5-482c-98da-40088f988e9c", + "name": "EventhouseDirectIngestionModeDestination", + "type": "Eventhouse", + "properties": { + "dataIngestionMode": "DirectIngestion", + "workspaceId": "9625b495-17b3-4d6c-aeea-a81ae76ba369", + "itemId": "4c8c3353-9652-4567-b8f3-eb585ef01ba9", + "connectionName": "connectionName", + "mappingRuleName": "mappingRuleName" + }, + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "status": "External", + "error": null + } + ], + "streams": [ + { + "id": "8eff3cbe-f452-4d7f-bc2d-f35b4359c917", + "name": "Eventstream-stream", + "type": "DefaultStream", + "properties": {}, + "inputNodes": [ + { + "name": "AzureEventHubSource" + } ] }, - "inputSchemas": [ - { - "name": "EventStreamName-stream", - "schema": { - "columns": [ - { - "name": "BikepointID", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Street", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Neighbourhood", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Latitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "Longitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "No_Bikes", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "No_Empty_Docks", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "Record_Example", - "type": "Record", - "fields": [ - { - "name": "column1", - "type": "BigInt" - }, - { - "name": "column2", - "type": "Nvarchar(max)" - } + { + "id": "0f6f0dd8-9de2-48e2-92e7-e15b755b22a6", + "name": "DerivedStreamName", + "type": "DerivedStream", + "properties": { + "inputSerialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "inputNodes": [ + { + "name": "FilterName" + } + ] + } + ], + "operators": [ + { + "name": "FilterName", + "type": "Filter", + "inputNodes": [ + { + "name": "EventStreamName-stream" + } + ], + "properties": { + "conditions": [ + { + "column": { + "node": "nodeName", + "columnName": "columnName", + "columnPathSegments": [ + "path", + "to", + "column" ] }, - { - "name": "Array_Example", - "type": "Array", - "items": { - "type": "BigInt" - } + "operatorType": "Equals", + "value": { + "dataType": "Nvarchar(max)", + "value": "stringValue" } - ] - } - } - ] - }, - { - "name": "JoinerName", - "type": "Join", - "inputNodes": [ - { - "name": "FilterName" - }, - { - "name": "DerivedStreamName" - } - ], - "properties": { - "joinType": "Inner", - "joinOn": [ - { - "left": { - "node": "leftNodeName", - "columnName": "leftColumnName" - }, - "right": { - "node": "rightNodeName", - "columnName": "rightColumnName" } - } - ], - "duration": { - "value": 1, - "unit": "Minute" - } - } - }, - { - "name": "FieldsManagerName", - "type": "ManageFields", - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "properties": { - "columns": [ + ] + }, + "inputSchemas": [ { - "type": "Rename", - "properties": { - "column": { - "node": "renameNode", - "columnName": "renameColumn" - } - }, - "alias": "renameAlias" - }, - { - "type": "Cast", - "properties": { - "targetDataType": "BigInt", - "column": { - "node": "castNode", - "columnName": "castColumn" - } - }, - "alias": "castAlias" - }, - { - "type": "FunctionCall", - "properties": { - "functionName": "CharIndex", - "arguments": [ - "a", + "name": "EventStreamName-stream", + "schema": { + "columns": [ { - "node": "functionCallNode", - "columnName": "functionCallColumn" + "name": "BikepointID", + "type": "Nvarchar(max)", + "fields": null, + "items": null }, - 1 + { + "name": "Street", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Neighbourhood", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Latitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "Longitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "No_Bikes", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "No_Empty_Docks", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "Record_Example", + "type": "Record", + "fields": [ + { + "name": "column1", + "type": "BigInt" + }, + { + "name": "column2", + "type": "Nvarchar(max)" + } + ] + }, + { + "name": "Array_Example", + "type": "Array", + "items": { + "type": "BigInt" + } + } ] - }, - "alias": "indexOf" + } } ] }, - "inputSchemas": [ - { - "name": "DerivedStreamName", - "schema": { - "columns": [ - { - "name": "BikepointID", - "type": "Nvarchar(max)", - "fields": null, - "items": null + { + "name": "JoinerName", + "type": "Join", + "inputNodes": [ + { + "name": "FilterName" + }, + { + "name": "DerivedStreamName" + } + ], + "properties": { + "joinType": "Inner", + "joinOn": [ + { + "left": { + "node": "leftNodeName", + "columnName": "leftColumnName" }, - { - "name": "Street", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Neighbourhood", - "type": "Nvarchar(max)", - "fields": null, - "items": null - }, - { - "name": "Latitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "Longitude", - "type": "Float", - "fields": null, - "items": null - }, - { - "name": "No_Bikes", - "type": "BigInt", - "fields": null, - "items": null - }, - { - "name": "No_Empty_Docks", - "type": "BigInt", - "fields": null, - "items": null + "right": { + "node": "rightNodeName", + "columnName": "rightColumnName" } - ] + } + ], + "duration": { + "value": 1, + "unit": "Minute" } } - ] - }, - { - "name": "AggregatorName", - "type": "Aggregate", - "inputNodes": [ - { - "name": "DerivedStreamName" - } - ], - "properties": { - "aggregations": [ + }, + { + "name": "FieldsManagerName", + "type": "ManageFields", + "inputNodes": [ { - "aggregationFunction": "Average", - "column": { - "node": "aggregationNode", - "columnName": "aggregationColumn" + "name": "DerivedStreamName" + } + ], + "properties": { + "columns": [ + { + "type": "Rename", + "properties": { + "column": { + "node": "renameNode", + "columnName": "renameColumn" + } + }, + "alias": "renameAlias" }, - "alias": "aggregatedAlias", - "partitionBy": [ - { - "node": "partitionByNode", - "columnName": "partitionByColumn" - } - ], - "duration": { - "value": 1, - "unit": "Minute" + { + "type": "Cast", + "properties": { + "targetDataType": "BigInt", + "column": { + "node": "castNode", + "columnName": "castColumn" + } + }, + "alias": "castAlias" + }, + { + "type": "FunctionCall", + "properties": { + "functionName": "CharIndex", + "arguments": [ + "a", + { + "node": "functionCallNode", + "columnName": "functionCallColumn" + }, + 1 + ] + }, + "alias": "indexOf" + } + ] + }, + "inputSchemas": [ + { + "name": "DerivedStreamName", + "schema": { + "columns": [ + { + "name": "BikepointID", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Street", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Neighbourhood", + "type": "Nvarchar(max)", + "fields": null, + "items": null + }, + { + "name": "Latitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "Longitude", + "type": "Float", + "fields": null, + "items": null + }, + { + "name": "No_Bikes", + "type": "BigInt", + "fields": null, + "items": null + }, + { + "name": "No_Empty_Docks", + "type": "BigInt", + "fields": null, + "items": null + } + ] } } ] - } - }, - { - "name": "GroupByName", - "type": "GroupBy", - "inputNodes": [ - { - "name": "DerivedStreamName" + }, + { + "name": "AggregatorName", + "type": "Aggregate", + "inputNodes": [ + { + "name": "DerivedStreamName" + } + ], + "properties": { + "aggregations": [ + { + "aggregationFunction": "Average", + "column": { + "node": "aggregationNode", + "columnName": "aggregationColumn" + }, + "alias": "aggregatedAlias", + "partitionBy": [ + { + "node": "partitionByNode", + "columnName": "partitionByColumn" + } + ], + "duration": { + "value": 1, + "unit": "Minute" + } + } + ] } - ], - "properties": { - "aggregations": [ + }, + { + "name": "GroupByName", + "type": "GroupBy", + "inputNodes": [ { - "aggregationFunction": "Average", - "column": { - "node": "groupByAggregationNode", - "columnName": "groupByAggregationColumn" - }, - "alias": "groupByAggregationAlias" + "name": "DerivedStreamName" } ], - "groupBy": [ - { - "node": "groupByNode", - "columnName": "groupByColumn" - } - ], - "window": { - "type": "Tumbling", - "properties": { - "duration": { - "value": 5, - "unit": "Minute" - }, - "offset": { - "value": 1, - "unit": "Minute" + "properties": { + "aggregations": [ + { + "aggregationFunction": "Average", + "column": { + "node": "groupByAggregationNode", + "columnName": "groupByAggregationColumn" + }, + "alias": "groupByAggregationAlias" + } + ], + "groupBy": [ + { + "node": "groupByNode", + "columnName": "groupByColumn" + } + ], + "window": { + "type": "Tumbling", + "properties": { + "duration": { + "value": 5, + "unit": "Minute" + }, + "offset": { + "value": 1, + "unit": "Minute" + } } } } - } - }, - { - "name": "UnionName", - "type": "Union", - "inputNodes": [ - { - "name": "FilterName" - }, - { - "name": "GroupByName" - } - ], - "properties": {} - }, - { - "name": "ExpansionName", - "type": "Expand", - "inputNodes": [ - { - "name": "MyNode" - } - ], - "properties": { - "column": [ + }, + { + "name": "UnionName", + "type": "Union", + "inputNodes": [ { - "node": "expansionNode", - "columnName": "expansionColumn" + "name": "FilterName" + }, + { + "name": "GroupByName" } ], - "ignoreMissingOrEmpty": true + "properties": {} + }, + { + "name": "ExpansionName", + "type": "Expand", + "inputNodes": [ + { + "name": "MyNode" + } + ], + "properties": { + "column": [ + { + "node": "expansionNode", + "columnName": "expansionColumn" + } + ], + "ignoreMissingOrEmpty": true + } } - } - ] + ] + } } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/swagger.json index f8f4faccc..12db7a1fa 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/eventstream/swagger.json @@ -452,7 +452,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/topology": { "get": { "summary": "Returns the topology of the specified eventstream.", - "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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", + "description": "## Permissions\n\n The caller must have *read* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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": [ "Topology" ], @@ -502,7 +502,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/pause": { "post": { "summary": "Pause running all supported sources and destinations of the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], @@ -549,7 +549,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/resume": { "post": { "summary": "Resume running all supported sources and destinations of the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], @@ -605,7 +605,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/sources/{sourceId}": { "get": { "summary": "Returns the specified source of the eventstream.", - "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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", + "description": "## Permissions\n\n The caller must have *read* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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": [ "Topology" ], @@ -663,7 +663,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/destinations/{destinationId}": { "get": { "summary": "Returns the specified destination of the eventstream.", - "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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", + "description": "## Permissions\n\n The caller must have *read* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.Read.All or Eventstream.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": [ "Topology" ], @@ -720,8 +720,8 @@ }, "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/sources/{sourceId}/connection": { "get": { - "summary": "Returns the connection information of specified source of the eventstream. Only custom endpoints sources are supported.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "summary": "Returns the connection information of specified source of the eventstream.", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\n Only custom endpoints sources are supported.\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": [ "Topology" ], @@ -778,8 +778,8 @@ }, "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/destinations/{destinationId}/connection": { "get": { - "summary": "Returns the connection information of a specified destination of the eventstream. Only custom endpoints destinations are supported.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "summary": "Returns the connection information of a specified destination of the eventstream.", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\n Only custom endpoints destinations are supported.\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": [ "Topology" ], @@ -837,7 +837,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/sources/{sourceId}/pause": { "post": { "summary": "Pause running the specified source in the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], @@ -892,7 +892,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/sources/{sourceId}/resume": { "post": { "summary": "Resume running the specified source in the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], @@ -956,7 +956,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/destinations/{destinationId}/pause": { "post": { "summary": "Pause running the specified destination in the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], @@ -1011,7 +1011,7 @@ "/workspaces/{workspaceId}/eventstreams/{eventstreamId}/destinations/{destinationId}/resume": { "post": { "summary": "Resume running the specified destination in the eventstream.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role. \n\n## Required Delegated Scopes \n\n Eventstream.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the eventstream. \n\n## Required Delegated Scopes \n\n Eventstream.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": [ "Topology" ], diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/graphQLApi/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/graphQLApi/swagger.json index bcdc1a135..9f8771a16 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/graphQLApi/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/graphQLApi/swagger.json @@ -63,7 +63,7 @@ }, "post": { "summary": "Creates a API for GraphQL item in the specified workspace.", - "description": "\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo create GraphQLApi item with a public definition, refer to [GraphQLApi definition](/rest/api/fabric/articles/item-management/definitions/graphql-api-definition).\n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n GraphQLApi.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a GraphQLApi 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, except for definition payload with SQL analytics endpoint |\n\n## Interface", + "description": "\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo create GraphQLApi item with a public definition, refer to [GraphQLApi definition](/rest/api/fabric/articles/item-management/definitions/graphql-api-definition).\n\n ## Permissions \n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes\n\n GraphQLApi.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a GraphQLApi 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" ], @@ -369,8 +369,8 @@ }, "/workspaces/{workspaceId}/GraphQLApis/{GraphQLApiId}/updateDefinition": { "post": { - "summary": "Overrides the definition for the specified .", - "description": "\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the GraphQLApi's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the GraphQLApi. \n## Required Delegated Scopes\n\n GraphQLApi.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, except for definition payload with SQL analytics endpoint |\n\n## Interface", + "summary": "Overrides the definition for the specified API for GraphQL.", + "description": "\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the GraphQLApi's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the GraphQLApi. \n## Required Delegated Scopes\n\n GraphQLApi.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" ], diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json index bb57a1f55..44768236a 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/definitions.json @@ -5,518 +5,548 @@ "version": "v1" }, "paths": {}, - "definitions": { - "Lakehouses": { - "description": "A list of lakehouses.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "A list of lakehouses.", - "type": "array", - "items": { - "$ref": "#/definitions/Lakehouse" - } - } - }, - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "Lakehouse": { - "description": "A lakehouse item.", - "type": "object", - "required": [ - "type" - ], - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/Item" - } - ], - "properties": { - "properties": { - "description": "The lakehouse properties.", - "$ref": "#/definitions/LakehouseProperties" - } - } - }, - "LakehouseProperties": { - "required": [ - "oneLakeTablesPath", - "oneLakeFilesPath" - ], - "description": "The lakehouse properties.", - "type": "object", - "properties": { - "oneLakeTablesPath": { - "description": "OneLake path to the Lakehouse tables directory.", - "type": "string" - }, - "oneLakeFilesPath": { - "description": "OneLake path to the Lakehouse files directory.", - "type": "string" - }, - "sqlEndpointProperties": { - "description": "An object containing the properties of the SQL endpoint.", - "$ref": "#/definitions/SqlEndpointProperties" - }, - "defaultSchema": { - "description": "Default schema of the lakehouse. This property is returned only for schema enabled lakehouse.", - "type": "string" - } - } - }, - "SqlEndpointProperties": { - "required": [ - "provisioningStatus" - ], - "description": "An object containing the properties of the SQL endpoint.", - "type": "object", - "properties": { - "id": { - "description": "SQL endpoint ID.", - "type": "string" - }, - "connectionString": { - "description": "SQL endpoint connection string.", - "type": "string" - }, - "provisioningStatus": { - "description": "The SQL endpoint provisioning status.", - "$ref": "#/definitions/SqlEndpointProvisioningStatus" - } - } - }, - "SqlEndpointProvisioningStatus": { - "type": "string", - "description": "The SQL endpoint provisioning status type. Additional `SqlEndpointProvisioningStatus` types may be added over time.", - "enum": [ - "InProgress", - "Success", - "Failed" - ], - "x-ms-enum": { - "name": "SqlEndpointProvisioningStatus", - "modelAsString": true, - "values": [ - { - "value": "InProgress", - "description": "SQL endpoint provisioning is in progress." - }, - { - "value": "Success", - "description": "SQL endpoint provisioning succeeded." - }, - { - "value": "Failed", - "description": "SQL endpoint provisioning failed." - } - ] - } - }, - "CreateLakehouseRequest": { - "description": "Create lakehouse request payload.", - "required": [ - "displayName" - ], - "properties": { - "displayName": { - "description": "The lakehouse display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The lakehouse description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - }, - "folderId": { - "description": "The folder ID. If not specified or null, the lakehouse is created with the workspace as its folder.", - "type": "string", - "format": "uuid", - "readOnly": false - }, - "creationPayload": { - "description": "The lakehouse creation payload.", - "$ref": "#/definitions/LakehouseCreationPayload", - "readOnly": false - } - } - }, - "UpdateLakehouseDefinitionRequest": { - "description": "Update Lakehouse public definition request payload.", - "required": [ - "definition" - ], - "properties": { - "definition": { - "$ref": "#/definitions/LakehouseDefinition" - } - } - }, - "LakehouseDefinitionResponse": { - "description": "Lakehouse public definition response.", - "required": [ - "definition" - ], - "properties": { - "definition": { - "$ref": "#/definitions/LakehouseDefinition", - "readOnly": true - } - } - }, - "LakehouseDefinition": { - "description": "Lakehouse public definition object.", - "type": "object", - "required": [ - "parts" - ], - "properties": { - "format": { - "description": "The format of the item definition.", - "type": "string", - "readOnly": false - }, - "parts": { - "description": "A list of definition parts.", - "type": "array", - "items": { - "$ref": "#/definitions/LakehouseDefinitionPart" - }, - "readOnly": false - } - } - }, - "LakehouseDefinitionPart": { - "description": "Lakehouse definition part object.", - "type": "object", - "properties": { - "path": { - "description": "The lakehouse part path.", - "type": "string", - "readOnly": false - }, - "payload": { - "description": "The lakehouse part payload.", - "type": "string", - "readOnly": false - }, - "payloadType": { - "description": "The payload type.", - "$ref": "../common/definitions.json#/definitions/PayloadType", - "readOnly": false - } - } - }, - "UpdateLakehouseRequest": { - "description": "Update lakehouse request.", - "properties": { - "displayName": { - "description": "The lakehouse display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The lakehouse description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - } - } - }, - "LakehouseCreationPayload": { - "description": "**(Preview)** Lakehouse item payload. This property is currently required due to the schema enabled lakehouse being in preview. It might become redundant upon General Availability (GA).", - "type": "object", - "required": [ - "enableSchemas" - ], - "properties": { - "enableSchemas": { - "description": "Create a schema enabled lakehouse when set to true. Only 'true' is allowed.", - "type": "boolean" - } - } - }, - "Tables": { - "required": [ - "data" - ], - "description": "A paginated list of tables.", - "type": "object", - "properties": { - "continuationToken": { - "description": "Token to get the next page of results.", - "type": "string" - }, - "continuationUri": { - "description": "The URI of the next chunk in the result set.", - "type": "string" - }, - "data": { - "description": "List of tables.", - "type": "array", - "items": { - "$ref": "#/definitions/Table" - } - } - } - }, - "Table": { - "required": [ - "type", - "name", - "location", - "format" - ], - "description": "Table information.", - "type": "object", - "properties": { - "type": { - "description": "Table type.", - "$ref": "#/definitions/TableType" - }, - "name": { - "type": "string", - "description": "Table name." - }, - "location": { - "type": "string", - "description": "Table location." - }, - "format": { - "type": "string", - "description": "Table format." - } - } - }, - "TableType": { - "type": "string", - "description": "The table type. Additional `TableType` types may be added over time.", - "enum": [ - "Managed", - "External" - ], - "x-ms-enum": { - "name": "TableType", - "modelAsString": true, - "values": [ - { - "value": "Managed", - "description": "Managed table." - }, - { - "value": "External", - "description": "External table." - } - ] - } - }, - "LoadTableRequest": { - "type": "object", - "description": "Represents a load table operation request.", - "required": [ - "relativePath", - "pathType" - ], - "properties": { - "relativePath": { - "pattern": "^Files(\\/[\\p{L}\\w]{1}([ \\p{L}\\w\\.-]*[\\p{L}\\w\\.-]{1})*)*$", - "type": "string", - "description": "The relative path of the data file or folder." - }, - "pathType": { - "type": "string", - "description": "The type of `relativePath`, either file or folder. Additional `PathType` types may be added over time.", - "enum": [ - "File", - "Folder" - ], - "x-ms-enum": { - "name": "PathType", - "modelAsString": true, - "values": [ - { - "value": "File", - "description": "load table from file." - }, - { - "value": "Folder", - "description": "load table from folder." - } - ] - } - }, - "fileExtension": { - "pattern": "^[a-zA-Z0-9_-]{1,16}$", - "type": "string", - "description": "The file extension of the data file." - }, - "mode": { - "type": "string", - "description": "The load table operation mode, overwrite or append. Additional mode types may be added over time.", - "enum": [ - "Overwrite", - "Append" - ], - "x-ms-enum": { - "name": "ModeType", - "modelAsString": true, - "values": [ - { - "value": "Overwrite", - "description": "load table in overwrite mode." - }, - { - "value": "Append", - "description": "load table in append mode." - } - ] - } - }, - "recursive": { - "type": "boolean", - "description": "Indicates whether to search data files recursively or not, when loading a table from a folder." - }, - "formatOptions": { - "$ref": "#/definitions/FileFormatOptions" - } - } - }, - "FileFormatOptions": { - "type": "object", - "description": "Abstract type of data file format options.", - "discriminator": "format", - "required": [ - "format" - ], - "properties": { - "format": { - "type": "string", - "description": "Data file format name. Additional file format types may be added over time.", - "enum": [ - "Csv", - "Parquet" - ], - "x-ms-enum": { - "name": "FileFormat", - "modelAsString": true, - "values": [ - { - "value": "Csv", - "description": "CSV format name." - }, - { - "value": "Parquet", - "description": "Parquet format name." - } - ] - } - } - } - }, - "Csv": { - "type": "object", - "description": "CSV format options for CSV files.", - "properties": { - "header": { - "type": "boolean", - "description": "This property indicates whether the CSV data file contains a header line or not." - }, - "delimiter": { - "pattern": "^[^\\(\\)\\[\\]\\{\\}'\"\"]{0,8}$", - "type": "string", - "description": "The delimiter of CSV file." - } - }, - "allOf": [ - { - "$ref": "#/definitions/FileFormatOptions" - } - ], - "x-ms-discriminator-value": "Csv" - }, - "Parquet": { - "type": "object", - "description": "Format options for Parquet files.", - "allOf": [ - { - "$ref": "#/definitions/FileFormatOptions" - } - ], - "x-ms-discriminator-value": "Parquet" - }, - "RunOnDemandTableMaintenanceRequest": { - "description": "Run on demand lakehouse table maintenance instance payload", - "type": "object", - "required": [ - "executionData" - ], - "properties": { - "executionData": { - "description": "Execution data to configure the [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) job.", - "$ref": "#/definitions/TableMaintenanceExecutionData" - } - } - }, - "TableMaintenanceExecutionData": { - "type": "object", - "description": "Run on demand lakehouse table maintenance instance payload", - "required": [ - "tableName" - ], - "properties": { - "tableName": { - "type": "string", - "description": "Name of the table to run maintenance on. Max length of 256 character alphanumeric string with underscores.", - "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,256}$" - }, - "schemaName": { - "type": "string", - "description": "Name of the schema under which the table is created. This property is applicable only for a schema enabled Lakehouse. Max length of 128 character alphanumeric string with underscores.", - "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,128}$" - }, - "optimizeSettings": { - "$ref": "#/definitions/OptimizeSettings", - "description": "Configures the optimization settings of the maintenance job. To skip table optimization, leave this parameter empty." - }, - "vacuumSettings": { - "$ref": "#/definitions/VacuumSettings", - "description": "Configures the [vacuum](https://docs.delta.io/latest/delta-utility.html#-delta-vacuum) settings of the maintenance job. To skip table vacuum, leave this parameter empty." - } - } - }, - "OptimizeSettings": { - "type": "object", - "description": "Table maintenance optimization settings.", - "properties": { - "zOrderBy": { - "type": "array", - "description": "A list of column names to Z-Order the data by. If not provided, Z-Ordering isn't applied.", - "items": { - "type": "string" - } - }, - "vOrder": { - "type": "boolean", - "description": "The [V-Order](/fabric/data-engineering/delta-optimization-and-v-order#what-is-v-order) settings. True - Enabled, False - Disabled." - } - } - }, - "VacuumSettings": { - "type": "object", - "description": "Table maintenance [vacuum](/fabric/data-engineering/lakehouse-table-maintenance#table-maintenance-operations) settings.", - "properties": { - "retentionPeriod": { - "type": "string", - "pattern": "^(\\d+:)?\\d{1,2}:\\d{1,2}:\\d{1,2}$", - "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." - } - } + "definitions": { + "Lakehouses": { + "description": "A list of lakehouses.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of lakehouses.", + "type": "array", + "items": { + "$ref": "#/definitions/Lakehouse" + } } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Lakehouse": { + "description": "A lakehouse item.", + "type": "object", + "required": [ + "type" + ], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The lakehouse properties.", + "$ref": "#/definitions/LakehouseProperties" + } + } + }, + "LakehouseProperties": { + "required": [ + "oneLakeTablesPath", + "oneLakeFilesPath" + ], + "description": "The lakehouse properties.", + "type": "object", + "properties": { + "oneLakeTablesPath": { + "description": "OneLake path to the Lakehouse tables directory.", + "type": "string" + }, + "oneLakeFilesPath": { + "description": "OneLake path to the Lakehouse files directory.", + "type": "string" + }, + "sqlEndpointProperties": { + "description": "An object containing the properties of the SQL endpoint.", + "$ref": "#/definitions/SqlEndpointProperties" + }, + "defaultSchema": { + "description": "Default schema of the lakehouse. This property is returned only for schema enabled lakehouse.", + "type": "string" + } + } + }, + "SqlEndpointProperties": { + "required": [ + "provisioningStatus" + ], + "description": "An object containing the properties of the SQL endpoint.", + "type": "object", + "properties": { + "id": { + "description": "SQL endpoint ID.", + "type": "string" + }, + "connectionString": { + "description": "SQL endpoint connection string.", + "type": "string" + }, + "provisioningStatus": { + "description": "The SQL endpoint provisioning status.", + "$ref": "#/definitions/SqlEndpointProvisioningStatus" + } + } + }, + "SqlEndpointProvisioningStatus": { + "type": "string", + "description": "The SQL endpoint provisioning status type. Additional `SqlEndpointProvisioningStatus` types may be added over time.", + "enum": [ + "InProgress", + "Success", + "Failed" + ], + "x-ms-enum": { + "name": "SqlEndpointProvisioningStatus", + "modelAsString": true, + "values": [ + { + "value": "InProgress", + "description": "SQL endpoint provisioning is in progress." + }, + { + "value": "Success", + "description": "SQL endpoint provisioning succeeded." + }, + { + "value": "Failed", + "description": "SQL endpoint provisioning failed." + } + ] + } + }, + "CreateLakehouseRequest": { + "description": "Create lakehouse request payload.", + "required": [ + "displayName" + ], + "properties": { + "displayName": { + "description": "The lakehouse display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The lakehouse description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the lakehouse is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "creationPayload": { + "description": "The lakehouse creation payload.", + "$ref": "#/definitions/LakehouseCreationPayload", + "readOnly": false + } + } + }, + "LakehouseRefreshMaterializedLakeViewsSchedule": { + "description": "Lakehouse refresh materialized lake views schedule.", + "type": "object", + "required": [ "id", "enabled" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/ItemSchedule" + } + ] + }, + "CreateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { + "description": "Create lakehouse refresh materialized lake views schedule request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/CreateScheduleRequest" + } + ] + }, + "UpdateLakehouseRefreshMaterializedLakeViewsScheduleRequest": { + "description": "Update lakehouse refresh materialized lake views schedule request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "allOf": [ + { + "$ref": "../platform/definitions/platform.json#/definitions/UpdateScheduleRequest" + } + ] + }, + "UpdateLakehouseDefinitionRequest": { + "description": "Update Lakehouse public definition request payload.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/LakehouseDefinition" + } + } + }, + "LakehouseDefinitionResponse": { + "description": "Lakehouse public definition response.", + "required": [ + "definition" + ], + "properties": { + "definition": { + "$ref": "#/definitions/LakehouseDefinition", + "readOnly": true + } + } + }, + "LakehouseDefinition": { + "description": "Lakehouse public definition object.", + "type": "object", + "required": [ + "parts" + ], + "properties": { + "format": { + "description": "The format of the item definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/LakehouseDefinitionPart" + }, + "readOnly": false + } + } + }, + "LakehouseDefinitionPart": { + "description": "Lakehouse definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The lakehouse part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The lakehouse part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateLakehouseRequest": { + "description": "Update lakehouse request.", + "properties": { + "displayName": { + "description": "The lakehouse display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The lakehouse description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + }, + "LakehouseCreationPayload": { + "description": "**(Preview)** Lakehouse item payload. This property is currently required due to the schema enabled lakehouse being in preview. It might become redundant upon General Availability (GA).", + "type": "object", + "required": [ + "enableSchemas" + ], + "properties": { + "enableSchemas": { + "description": "Create a schema enabled lakehouse when set to true. Only 'true' is allowed.", + "type": "boolean" + } + } + }, + "Tables": { + "required": [ + "data" + ], + "description": "A paginated list of tables.", + "type": "object", + "properties": { + "continuationToken": { + "description": "Token to get the next page of results.", + "type": "string" + }, + "continuationUri": { + "description": "The URI of the next chunk in the result set.", + "type": "string" + }, + "data": { + "description": "List of tables.", + "type": "array", + "items": { + "$ref": "#/definitions/Table" + } + } + } + }, + "Table": { + "required": [ + "type", + "name", + "location", + "format" + ], + "description": "Table information.", + "type": "object", + "properties": { + "type": { + "description": "Table type.", + "$ref": "#/definitions/TableType" + }, + "name": { + "type": "string", + "description": "Table name." + }, + "location": { + "type": "string", + "description": "Table location." + }, + "format": { + "type": "string", + "description": "Table format." + } + } + }, + "TableType": { + "type": "string", + "description": "The table type. Additional `TableType` types may be added over time.", + "enum": [ + "Managed", + "External" + ], + "x-ms-enum": { + "name": "TableType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Managed table." + }, + { + "value": "External", + "description": "External table." + } + ] + } + }, + "LoadTableRequest": { + "type": "object", + "description": "Represents a load table operation request.", + "required": [ + "relativePath", + "pathType" + ], + "properties": { + "relativePath": { + "pattern": "^Files(\\/[\\p{L}\\w]{1}([ \\p{L}\\w\\.-]*[\\p{L}\\w\\.-]{1})*)*$", + "type": "string", + "description": "The relative path of the data file or folder." + }, + "pathType": { + "type": "string", + "description": "The type of `relativePath`, either file or folder. Additional `PathType` types may be added over time.", + "enum": [ + "File", + "Folder" + ], + "x-ms-enum": { + "name": "PathType", + "modelAsString": true, + "values": [ + { + "value": "File", + "description": "load table from file." + }, + { + "value": "Folder", + "description": "load table from folder." + } + ] + } + }, + "fileExtension": { + "pattern": "^[a-zA-Z0-9_-]{1,16}$", + "type": "string", + "description": "The file extension of the data file." + }, + "mode": { + "type": "string", + "description": "The load table operation mode, overwrite or append. Additional mode types may be added over time.", + "enum": [ + "Overwrite", + "Append" + ], + "x-ms-enum": { + "name": "ModeType", + "modelAsString": true, + "values": [ + { + "value": "Overwrite", + "description": "load table in overwrite mode." + }, + { + "value": "Append", + "description": "load table in append mode." + } + ] + } + }, + "recursive": { + "type": "boolean", + "description": "Indicates whether to search data files recursively or not, when loading a table from a folder." + }, + "formatOptions": { + "$ref": "#/definitions/FileFormatOptions" + } + } + }, + "FileFormatOptions": { + "type": "object", + "description": "Abstract type of data file format options.", + "discriminator": "format", + "required": [ + "format" + ], + "properties": { + "format": { + "type": "string", + "description": "Data file format name. Additional file format types may be added over time.", + "enum": [ + "Csv", + "Parquet" + ], + "x-ms-enum": { + "name": "FileFormat", + "modelAsString": true, + "values": [ + { + "value": "Csv", + "description": "CSV format name." + }, + { + "value": "Parquet", + "description": "Parquet format name." + } + ] + } + } + } + }, + "Csv": { + "type": "object", + "description": "CSV format options for CSV files.", + "properties": { + "header": { + "type": "boolean", + "description": "This property indicates whether the CSV data file contains a header line or not." + }, + "delimiter": { + "pattern": "^[^\\(\\)\\[\\]\\{\\}'\"\"]{0,8}$", + "type": "string", + "description": "The delimiter of CSV file." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FileFormatOptions" + } + ], + "x-ms-discriminator-value": "Csv" + }, + "Parquet": { + "type": "object", + "description": "Format options for Parquet files.", + "allOf": [ + { + "$ref": "#/definitions/FileFormatOptions" + } + ], + "x-ms-discriminator-value": "Parquet" + }, + "RunOnDemandTableMaintenanceRequest": { + "description": "Run on demand lakehouse table maintenance instance payload", + "type": "object", + "required": [ + "executionData" + ], + "properties": { + "executionData": { + "description": "Execution data to configure the [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) job.", + "$ref": "#/definitions/TableMaintenanceExecutionData" + } + } + }, + "TableMaintenanceExecutionData": { + "type": "object", + "description": "Run on demand lakehouse table maintenance instance payload", + "required": [ + "tableName" + ], + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table to run maintenance on. Max length of 256 character alphanumeric string with underscores.", + "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,256}$" + }, + "schemaName": { + "type": "string", + "description": "Name of the schema under which the table is created. This property is applicable only for a schema enabled Lakehouse. Max length of 128 character alphanumeric string with underscores.", + "pattern": "^(?=[0-9]*[a-zA-Z_])[a-zA-Z0-9_]{1,128}$" + }, + "optimizeSettings": { + "$ref": "#/definitions/OptimizeSettings", + "description": "Configures the optimization settings of the maintenance job. To skip table optimization, leave this parameter empty." + }, + "vacuumSettings": { + "$ref": "#/definitions/VacuumSettings", + "description": "Configures the [vacuum](https://docs.delta.io/latest/delta-utility.html#-delta-vacuum) settings of the maintenance job. To skip table vacuum, leave this parameter empty." + } + } + }, + "OptimizeSettings": { + "type": "object", + "description": "Table maintenance optimization settings.", + "properties": { + "zOrderBy": { + "type": "array", + "description": "A list of column names to Z-Order the data by. If not provided, Z-Ordering isn't applied.", + "items": { + "type": "string" + } + }, + "vOrder": { + "type": "boolean", + "description": "The [V-Order](/fabric/data-engineering/delta-optimization-and-v-order#what-is-v-order) settings. True - Enabled, False - Disabled." + } + } + }, + "VacuumSettings": { + "type": "object", + "description": "Table maintenance [vacuum](/fabric/data-engineering/lakehouse-table-maintenance#table-maintenance-operations) settings.", + "properties": { + "retentionPeriod": { + "type": "string", + "pattern": "^(\\d+:)?\\d{1,2}:\\d{1,2}:\\d{1,2}$", + "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." + } + } } -} \ No newline at end of file + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 000000000..1b2eb3108 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "jobType": "RefreshMaterializedLakeViews", + "createScheduleRequest": { + "enabled": true, + "configuration": { + "startDateTime": "2025-04-28T00:00:00", + "endDateTime": "2025-04-30T23:59:00", + "localTimeZoneId": "Central Standard Time", + "type": "Cron", + "interval": 10 + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/items/dddddddd-9999-0000-1111-eeeeeeeeeeee/jobs/RefreshMaterializedLakeViews/schedules/bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": true, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2025-04-28T00:00:00", + "endDateTime": "2025-04-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.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 000000000..cd7017e1d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/RunOnDemandRefreshMaterializedLakeViewsNoBody.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/RunOnDemandRefreshMaterializedLakeViewsNoBody.json new file mode 100644 index 000000000..d74a9709b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/RunOnDemandRefreshMaterializedLakeViewsNoBody.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "workspaceId": "4b218778-e7a5-4d73-8187-f10824047715", + "lakehouseId": "431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7", + "jobType": "RefreshMaterializedLakeViews" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/4b218778-e7a5-4d73-8187-f10824047715/items/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/jobs/instances/f2d65699-dd22-4889-980c-15226deb0e1b", + "Retry-After": 60 + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json new file mode 100644 index 000000000..513037b6b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "workspaceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", + "lakehouseId": "dddddddd-9999-0000-1111-eeeeeeeeeeee", + "scheduleId": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "updateScheduleRequest": { + "enabled": false, + "configuration": { + "startDateTime": "2025-05-01T00:00:00", + "endDateTime": "2025-05-31T23:59:00", + "localTimeZoneId": "Pacific Standard Time", + "type": "Cron", + "interval": 15 + } + } + }, + "responses": { + "200": { + "body": { + "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "enabled": false, + "createdDateTime": "2024-05-28T05:35:20.5366667", + "configuration": { + "startDateTime": "2025-05-01T00:00:00", + "endDateTime": "2025-05-31T23:59:00", + "localTimeZoneId": "Pacific Standard Time", + "type": "Cron", + "interval": 15 + }, + "owner": { + "id": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", + "type": "User" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json index 7939fed42..75ddca486 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/lakehouse/swagger.json @@ -296,8 +296,8 @@ }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of lakehouse Tables.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Required Delegated Scopes \n\nLakehouse.Read.All or Lakehouse.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", + "summary": "Returns a list of lakehouse Tables.", + "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).\n\n## Required Delegated Scopes \n\nLakehouse.Read.All or Lakehouse.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": [ "Tables" ], @@ -368,8 +368,8 @@ }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/tables/{tableName}/load": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nStarts a load table operation and returns the operation status URL in the response location header.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nWrite permission to the lakehouse item. \n\n## Required Delegated Scopes \n\nLakehouse.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", + "summary": "Starts a load table operation and returns the operation status URL in the response location header.", + "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 [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\nWrite permission to the lakehouse item. \n\n## Required Delegated Scopes \n\nLakehouse.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": [ "Tables" ], @@ -451,8 +451,8 @@ }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/instances?jobType=TableMaintenance": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRun on-demand [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) job instance.", - "description": "## 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", + "summary": "Run on-demand [table maintenance](/fabric/data-engineering/lakehouse-table-maintenance) 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## 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" ], @@ -528,119 +528,371 @@ } } }, + "/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", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_CreateRefreshMaterializedLakeViewsSchedule", + "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": "createScheduleRequest", + "description": "A lakehouse refresh materialized lake views schedule create request.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateLakehouseRefreshMaterializedLakeViewsScheduleRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully create the schedule.", + "headers": { + "Location": { + "description": "The URL of the newly created schedule.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/LakehouseRefreshMaterializedLakeViewsSchedule" + } + }, + "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 lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/CreateLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } + } + }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/livySessions": { "get": { - "tags": [ - "LivySessions" - ], - "summary": "Returns a list of livy sessions from the specified item identifier.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Lakehouse.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", - "operationId": "LivySessions_ListLivySessions", - "x-ms-pageable": { - "nextLinkName": "continuationUri" + "tags": [ + "LivySessions" + ], + "summary": "Returns a list of livy sessions from the specified item identifier.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Lakehouse.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", + "operationId": "LivySessions_ListLivySessions", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace identifier.", + "required": true, + "type": "string" }, - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "workspaceId", - "description": "The workspace identifier.", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "lakehouseId", - "description": "The lakehouse ID.", - "type": "string", - "format": "uuid", - "required": true - }, - { - "in": "query", - "name": "continuationToken", - "description": "Token to retrieve the next page of results, if available.", - "type": "string", - "required": false - } - ], - "responses": { - "200": { - "description": "OK -- Returns a list of all livy sessions associated to an itemId.", - "schema": { - "$ref": "../common/spark_definitions.json#/definitions/LivySessions" - } - }, - "default": { - "description": "Common error codes:\n\n* SparkCoreItemNotFound - Lakehouse identifier does not exist\n\n* SparkCoreUnexpectedException - Unhandled exception ocurred.", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true }, - "x-ms-examples": { - "List all livy sessions example": { - "$ref": "./examples/ListSessionsInItemId.json" - } + { + "in": "query", + "name": "continuationToken", + "description": "Token to retrieve the next page of results, if available.", + "type": "string", + "required": false } + ], + "responses": { + "200": { + "description": "OK -- Returns a list of all livy sessions associated to an itemId.", + "schema": { + "$ref": "../common/spark_definitions.json#/definitions/LivySessions" + } + }, + "default": { + "description": "Common error codes:\n\n* SparkCoreItemNotFound - Lakehouse identifier does not exist\n\n* SparkCoreUnexpectedException - Unhandled exception ocurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all livy sessions example": { + "$ref": "./examples/ListSessionsInItemId.json" + } + } } }, "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/livySessions/{livyId}": { "get": { - "tags": [ - "LivySessions" - ], - "operationId": "LivySessions_GetLivySession", - "summary": "Returns properties of the specified livy session.", - "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Lakehouse.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", - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "workspaceId", - "description": "The workspace identifier.", - "type": "string", - "required": true - }, - { - "in": "path", - "name": "lakehouseId", - "description": "The lakehouse ID.", - "type": "string", - "format": "uuid", - "required": true - }, - { - "in": "path", - "name": "livyId", - "description": "The session identifier.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK -- Returns a livy session by its id.", - "schema": { - "$ref": "../common/spark_definitions.json#/definitions/LivySession" - } - }, - "default": { - "description": "Common error codes:\n\n* SparkCoreSessionNotFound - Livy identifier does not exist\n\n* SparkCoreUnexpectedException - Unhandled exception ocurred.", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "tags": [ + "LivySessions" + ], + "operationId": "LivySessions_GetLivySession", + "summary": "Returns properties of the specified livy session.", + "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n Lakehouse.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", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace identifier.", + "type": "string", + "required": true }, - "x-ms-examples": { - "Get a livy session example": { - "$ref": "./examples/GetSessionInItemId.json" - } + { + "in": "path", + "name": "lakehouseId", + "description": "The lakehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "livyId", + "description": "The session identifier.", + "required": true, + "type": "string" } + ], + "responses": { + "200": { + "description": "OK -- Returns a livy session by its id.", + "schema": { + "$ref": "../common/spark_definitions.json#/definitions/LivySession" + } + }, + "default": { + "description": "Common error codes:\n\n* SparkCoreSessionNotFound - Livy identifier does not exist\n\n* SparkCoreUnexpectedException - Unhandled exception ocurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a livy session example": { + "$ref": "./examples/GetSessionInItemId.json" + } + } + } + }, + "/workspaces/{workspaceId}/lakehouses/{lakehouseId}/jobs/instances?jobType=RefreshMaterializedLakeViews": { + "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## 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", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_RunOnDemandRefreshMaterializedLakeViews", + "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": "jobType", + "description": "*RefreshMaterializedLakeViews* job type.", + "type": "string", + "required": true + } + ], + "responses": { + "202": { + "description": "Request accepted, job execution is in progress.", + "headers": { + "Location": { + "type": "string", + "description": "The URL to the job instance resource." + }, + "Retry-After": { + "type": "integer", + "description": "The number of seconds to wait before retrying the request." + } + } + }, + "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 RefreshMaterializedLakeViews with no request body.": { + "$ref": "./examples/RunOnDemandRefreshMaterializedLakeViewsNoBody.json" + } + } + } + }, + "/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", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_UpdateRefreshMaterializedLakeViewsSchedule", + "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": "scheduleId", + "description": "The lakehouse schedule ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateScheduleRequest", + "description": "A lakehouse refresh materialized lake views schedule update request.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateLakehouseRefreshMaterializedLakeViewsScheduleRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/LakehouseRefreshMaterializedLakeViewsSchedule" + } + }, + "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 lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/UpdateLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } + }, + "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", + "tags": [ + "BackgroundJobs" + ], + "operationId": "BackgroundJobs_DeleteRefreshMaterializedLakeViewsSchedule", + "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": "scheduleId", + "description": "The lakehouse schedule ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "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 lakehouse Refresh MaterializedLakeViews schedule example": { + "$ref": "./examples/DeleteLakehouseRefreshMaterializedLakeViewsSchedule.json" + } + } } } }, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/definitions.json new file mode 100644 index 000000000..2d52e2e65 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/definitions.json @@ -0,0 +1,141 @@ +{ + "swagger": "2.0", + "info": { + "title": "Map data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "Map": { + "description": "A Map object.", + "type": "object", + "required": ["type"], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ] + }, + "Maps": { + "description": "A list of Public Facing Collection Names.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of Public Facing Collection Names.", + "type": "array", + "items": { + "$ref": "#/definitions/Map" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateMapRequest": { + "description": "Create Map request payload.", + "required": ["displayName"], + "properties": { + "displayName": { + "description": "The Map display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The Map description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the Map is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The Map public definition.", + "$ref": "#/definitions/MapPublicDefinition", + "readOnly": false + } + } + }, + "UpdateMapDefinitionRequest": { + "description": "Update Map public definition request payload.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/MapPublicDefinition" + } + } + }, + "MapDefinitionResponse": { + "description": "Map public definition response.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/MapPublicDefinition", + "readOnly": true + } + } + }, + "MapPublicDefinition" : { + "description": "Map public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/map) for more details on how to craft a Map public definition.", + "type": "object", + "required": ["parts"], + "properties": { + "format": { + "description": "The format of the item definition. Additional `format` types may be added over time.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/MapPublicDefinitionPart" + }, + "readOnly": false + } + } + }, + "MapPublicDefinitionPart": { + "description": "Map definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The Map public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The Map public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateMapRequest": { + "description": "Update Map request.", + "properties": { + "displayName": { + "description": "The Map display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The Map description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMap.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMap.json new file mode 100644 index 000000000..025267f5f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMap.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createMapRequest": { + "displayName": "Map 1", + "description": "A Map description.", + "definition": { + "parts": [ + { + "path": "map.json", + "payload": "eyJleGVjdXRhYmxlRm..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "Map 1", + "description": "A Map description.", + "type": "Map", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMapWithoutDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMapWithoutDefinition.json new file mode 100644 index 000000000..4b285dbf0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/CreateMapWithoutDefinition.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createMapRequest": { + "displayName": "Map 1", + "description": "A Map description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "Map 1", + "description": "A Map description.", + "type": "Map", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/DeleteMap.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/DeleteMap.json new file mode 100644 index 000000000..e81d6c6b2 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/DeleteMap.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "MapId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMap.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMap.json new file mode 100644 index 000000000..c40d5e9c5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMap.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "MapId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87" + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "Map 1", + "description": "A Map description.", + "type": "Map", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMapDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMapDefinition.json new file mode 100644 index 000000000..73b9d055f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/GetMapDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "MapId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "map.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.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/ListMapsInWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/ListMapsInWorkspace.json new file mode 100644 index 000000000..3ce36f8fc --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/ListMapsInWorkspace.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "Map Name 1", + "description": "A Map description.", + "type": "Map", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + { + "id": "f697fb63-abd4-4399-9548-be7e3c3c0dac", + "displayName": "Map Name 2", + "description": "A Map description.", + "type": "Map", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMap.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMap.json new file mode 100644 index 000000000..f9a2d1072 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMap.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "MapId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMapRequest": { + "displayName": "Map's New name", + "description": "Map's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "Map's New name", + "description": "Map's New description", + "type": "Map", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMapDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMapDefinition.json new file mode 100644 index 000000000..52231d7b8 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/examples/UpdateMapDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "MapId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata" : true, + "updateMapDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "map.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.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/swagger.json new file mode 100644 index 000000000..8ee52b010 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/map/swagger.json @@ -0,0 +1,456 @@ +{ + "swagger": "2.0", + "info": { + "title": "Map REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/Maps": { + "get": { + "summary": "Returns a list of Maps from the specified workspace.", + "description": "> [!NOTE]\n> Map item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\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\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_ListMaps", + "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": "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/Maps" + } + }, + "default": { + "description": "Common error codes:\n\n* InvalidItemType - Invalid item type.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Maps in workspace example": { + "$ref": "./examples/ListMapsInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates a Map in the specified workspace.", + "description": "> [!NOTE]\n> Map 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\n To create Map with a public definition, refer to [Map](/rest/api/fabric/articles/item-management/definitions/map-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 a Map 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_CreateMap", + "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": "createMapRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateMapRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/Map" + } + }, + "202": { + "description": "Request accepted, Map 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." + } + } + }, + "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 Map example": { + "$ref": "./examples/CreateMapWithoutDefinition.json" + }, + "Create a Map with public definition example": { + "$ref": "./examples/CreateMap.json" + } + } + } + }, + "/workspaces/{workspaceId}/Maps/{MapId}": { + "get": { + "summary": "Returns properties of the specified Map.", + "description": "> [!NOTE]\n> Map item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read* permissions for the Map. \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_GetMap", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "MapId", + "description": "The Map ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/Map" + } + }, + "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 Map example": { + "$ref": "./examples/GetMap.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified Map.", + "description": "> [!NOTE]\n> Map item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read and write* permissions for the Map.\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_UpdateMap", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "MapId", + "description": "The Map ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateMapRequest", + "description": "Update Map request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateMapRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/Map" + } + }, + "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 Map example": { + "$ref": "./examples/UpdateMap.json" + } + } + }, + "delete": { + "summary": "Deletes the specified Map.", + "description": "> [!NOTE]\n> Map item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the Map. \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_DeleteMap", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "MapId", + "description": "The Map ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "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 Map example": { + "$ref": "./examples/DeleteMap.json" + } + } + } + }, + "/workspaces/{workspaceId}/Maps/{MapId}/getDefinition": { + "post": { + "summary": "Returns the specified Map public definition.", + "description": "> [!NOTE]\n> Map 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 Map'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 Map. \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_GetMapDefinition", + "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": "MapId", + "description": "The Map ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "format", + "description": "The format of the Map public definition. Additional `format` types may be added over time.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/MapDefinitionResponse" + } + }, + "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." + } + } + }, + "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 Map public definition example": { + "$ref": "./examples/GetMapDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/Maps/{MapId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified Map.", + "description": "> [!NOTE]\n> Map 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\n \nUpdating the Map's definition, does not affect its sensitivity label. \n\n## Permissions\n\n The caller must have *read and write* permissions for the Map. \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_UpdateMapDefinition", + "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": "MapId", + "description": "The Map 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": "updateMapDefinitionRequest", + "description": "Update Map definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateMapDefinitionRequest" + }, + "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." + } + } + }, + "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 Map public definition example": { + "$ref": "./examples/UpdateMapDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredAzureDatabricksCatalog/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredAzureDatabricksCatalog/swagger.json index ae92ceb16..f459b7e34 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredAzureDatabricksCatalog/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredAzureDatabricksCatalog/swagger.json @@ -12,8 +12,8 @@ "paths": { "/workspaces/{workspaceId}/mirroredAzureDatabricksCatalogs": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of mirroredAzureDatabricksCatalogs 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", + "summary": "Returns a list of mirroredAzureDatabricksCatalogs from the specified workspace.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\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\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" ], @@ -62,8 +62,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a mirroredAzureDatabricksCatalog 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 MirroredAzureDatabricksCatalog.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", + "summary": "Creates a mirroredAzureDatabricksCatalog in the specified workspace.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog 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\n## Permissions\n\n The caller must have a *contributor* workspace role. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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" ], @@ -138,8 +138,8 @@ }, "/workspaces/{workspaceId}/mirroredAzureDatabricksCatalogs/{mirroredAzureDatabricksCatalogId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns properties of the specified mirroredAzureDatabricksCatalog.", - "description": "## Permissions\n\n The caller must have *read* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.Read.All or MirroredAzureDatabricksCatalog.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) | No |\n\n## Interface", + "summary": "Returns properties of the specified mirroredAzureDatabricksCatalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.Read.All or MirroredAzureDatabricksCatalog.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" ], @@ -186,8 +186,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the properties of the specified mirroredAzureDatabricksCatalog.", - "description": "## Permissions\n\n The caller must have *read and write* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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", + "summary": "Updates the properties of the specified mirroredAzureDatabricksCatalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *read and write* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.ReadWrite.All or Item.ReadWrite.All\n\n [!NOTE]\n> Item.Execute.All is required if you are updating AutoSync property.\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" ], @@ -249,8 +249,8 @@ } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified mirroredAzureDatabricksCatalog.", - "description": "## Permissions\n\n The caller must have *write* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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", + "summary": "Deletes the specified mirroredAzureDatabricksCatalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\n The caller must have *write* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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" ], @@ -296,8 +296,8 @@ }, "/workspaces/{workspaceId}/mirroredAzureDatabricksCatalogs/{mirroredAzureDatabricksCatalogId}/getDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the specified mirroredAzureDatabricksCatalog 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 mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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", + "summary": "Returns the specified mirroredAzureDatabricksCatalog public definition.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog 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\n## Permissions\n\n The caller must have *read and write* permissions for the mirrored azure databricks catalog. \n\n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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" ], @@ -365,8 +365,8 @@ }, "/workspaces/{workspaceId}/mirroredAzureDatabricksCatalogs/{mirroredAzureDatabricksCatalogId}/updateDefinition": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nOverrides the definition for the specified mirroredAzureDatabricksCatalog.", - "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 mirrored azure databricks catalog. \n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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", + "summary": "Overrides the definition for the specified mirroredAzureDatabricksCatalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog 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\n## Permissions\n\n The caller must have *read and write* permissions for the mirrored azure databricks catalog. \n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.ReadWrite.All or Item.ReadWrite.All\n\n [!NOTE]\n> Item.Execute.All is required if you are updating AutoSync property.\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" ], @@ -440,8 +440,8 @@ }, "/workspaces/{workspaceId}/mirroredAzureDatabricksCatalogs/{mirroredAzureDatabricksCatalogId}/refreshCatalogMetadata": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nRefresh Databricks catalog metadata in mirroredAzureDatabricksCatalogs Item.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\n The API caller must have *contributor* or higher workspace role. \n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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", + "summary": "Refresh Databricks catalog metadata in mirroredAzureDatabricksCatalogs Item.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog 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\n## Permissions\n\n The API caller must have *contributor* or higher workspace role. \n## Required Delegated Scopes \n\n MirroredAzureDatabricksCatalog.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": [ "Refresh" ], @@ -506,8 +506,8 @@ }, "/workspaces/{workspaceId}/azuredatabricks/catalogs": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of catalogs from Unity Catalog.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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", + "summary": "Returns a list of catalogs from Unity Catalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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": [ "Discovery" ], @@ -573,8 +573,8 @@ }, "/workspaces/{workspaceId}/azuredatabricks/catalogs/{catalogName}/schemas": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of schemas in the given catalog from Unity Catalog.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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", + "summary": "Returns a list of schemas in the given catalog from Unity Catalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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": [ "Discovery" ], @@ -647,8 +647,8 @@ }, "/workspaces/{workspaceId}/azuredatabricks/catalogs/{catalogName}/schemas/{schemaName}/tables": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of tables in the given schema from Unity Catalog.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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", + "summary": "Returns a list of tables in the given schema from Unity Catalog.", + "description": "> [!NOTE]\n> Mirrored Azure Databricks Catalog item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\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 or DatabricksCatalog.Read.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": [ "Discovery" ], @@ -730,4 +730,4 @@ "responses": {}, "security": [], "tags": [] -} +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/definitions.json index 48643beca..d278e5bd9 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/definitions.json @@ -358,6 +358,11 @@ "format": "date-time", "type": "string", "description": "Last processed time of the table in in UTC, using the YYYY-MM-DDTHH:mm:ssZ format." + }, + "lastSyncLatencyInSeconds": { + "format": "int32", + "type": "integer", + "description": "Latency in seconds between source commit time and target commit time of last processed change. For sources whose source commit time is not available, this value is not returned." } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/examples/GetTablesMirroringStatus.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/examples/GetTablesMirroringStatus.json index 69b08306d..efd0f8d81 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/examples/GetTablesMirroringStatus.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/examples/GetTablesMirroringStatus.json @@ -15,7 +15,8 @@ "metrics": { "processedBytes": 1247, "processedRows": 6, - "lastSyncDateTime": "2024-10-08T05:07:11.0663362Z" + "lastSyncDateTime": "2024-10-08T05:07:11.0663362Z", + "lastSyncLatencyInSeconds": 15 } } ] diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/swagger.json index 3d2d1adb4..5ff38b921 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mirroredDatabase/swagger.json @@ -417,7 +417,7 @@ "/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/startMirroring": { "post": { "summary": "Starts the mirroring.", - "description": "## Permissions\n\n The API caller must have *contributor* or higher workspace role. \n## Required Delegated Scopes \n\n MirroredDatabase.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the mirrored database. \n## Required Delegated Scopes \n\n MirroredDatabase.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": [ "Mirroring" ], @@ -465,7 +465,7 @@ "/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/stopMirroring": { "post": { "summary": "Stops the mirroring.", - "description": "## Permissions\n\n The API caller must have *contributor* or higher workspace role. \n## Required Delegated Scopes \n\n MirroredDatabase.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", + "description": "## Permissions\n\n The caller must have *read and write* permissions for the mirrored database. \n## Required Delegated Scopes \n\n MirroredDatabase.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": [ "Mirroring" ], @@ -513,7 +513,7 @@ "/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getMirroringStatus": { "post": { "summary": "Get the status of the mirrored database.", - "description": "## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n MirroredDatabase.Read.All or MirroredDatabase.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", + "description": "## Permissions\n\n The caller must have *read* permissions for the mirrored database. \n\n## Required Delegated Scopes \n\n MirroredDatabase.Read.All or MirroredDatabase.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": [ "Mirroring" ], @@ -564,7 +564,7 @@ "/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getTablesMirroringStatus": { "post": { "summary": "Get the mirroring status of the tables.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes \n\n MirroredDatabase.Read.All or MirroredDatabase.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", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have *read* permissions for the mirrored database. \n\n## Required Delegated Scopes \n\n MirroredDatabase.Read.All or MirroredDatabase.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": [ "Mirroring" ], diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/definitions.json index efca5e97a..77f6a1050 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/definitions.json @@ -1,131 +1,450 @@ { "swagger": "2.0", "info": { - "version": "v1", - "title": "MLModel data types" + "version": "v1", + "title": "MLModel data types" }, "paths": {}, "definitions": { - "MLModels": { - "description": "A list of machine learning models.", + "MLModels": { + "description": "A list of machine learning models.", "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of machine learning models.", - "type": "array", - "items": { - "$ref": "#/definitions/MLModel" - } - } - }, - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/PaginatedResponse" - } - ] + "type": "object", + "properties": { + "value": { + "description": "A list of machine learning models.", + "type": "array", + "items": { + "$ref": "#/definitions/MLModel" + } + } }, - "MLModel": { - "description": "A machine learning model object.", - "type": "object", + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "MLModel": { + "description": "A machine learning model object.", + "type": "object", "required": ["type"], - "allOf": [ - { - "$ref": "../common/definitions.json#/definitions/Item" - } - ] - }, - "CreateMLModelRequest": { - "description": "Create machine learning model request payload.", + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ] + }, + "CreateMLModelRequest": { + "description": "Create machine learning model request payload.", "required": ["displayName"], - "properties": { - "displayName": { - "description": "The machine learning model display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The machine learning model description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - }, - "folderId": { - "description": "The folder ID. If not specified or null, the machine learning model is created with the workspace as its folder.", - "type": "string", - "format": "uuid", - "readOnly": false - } - } - }, - "UpdateMLModelDefinitionRequest": { - "description": "Update machine learning model public definition request payload.", - "required": ["definition"], - "properties": { - "definition": { - "$ref": "#/definitions/MLModelDefinition" - } - } - }, - "MLModelDefinitionResponse": { - "description": "Machine learning model public definition response.", - "required": ["definition"], - "properties": { - "definition": { - "$ref": "#/definitions/MLModelDefinition", - "readOnly": true - } - } - }, - "MLModelDefinition" : { - "description": "Machine learning model public definition object.", - "type": "object", - "required": ["parts"], - "properties": { - "format": { - "description": "The format of the item definition.", - "type": "string", - "readOnly": false - }, - "parts": { - "description": "A list of definition parts.", - "type": "array", - "items": { - "$ref": "#/definitions/MLModelDefinitionPart" - }, - "readOnly": false - } - } - }, - "MLModelDefinitionPart": { - "description": "Machine learning model definition part object.", - "type": "object", - "properties": { - "path": { - "description": "The machine learning model part path.", - "type": "string", - "readOnly": false - }, - "payload": { - "description": "The machine learning model part payload.", - "type": "string", - "readOnly": false - }, - "payloadType":{ - "description": "The payload type.", - "$ref": "../common/definitions.json#/definitions/PayloadType", - "readOnly": false - } - } - }, - "UpdateMLModelRequest": { - "description": "Update machine learning model request.", - "properties": { - "description": { - "description": "The machine learning model description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - } - } + "properties": { + "displayName": { + "description": "The machine learning model display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The machine learning model description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the machine learning model is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + } } + }, + "UpdateMLModelDefinitionRequest": { + "description": "Update machine learning model public definition request payload.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/MLModelDefinition" + } + } + }, + "MLModelDefinitionResponse": { + "description": "Machine learning model public definition response.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/MLModelDefinition", + "readOnly": true + } + } + }, + "MLModelDefinition" : { + "description": "Machine learning model public definition object.", + "type": "object", + "required": ["parts"], + "properties": { + "format": { + "description": "The format of the item definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/MLModelDefinitionPart" + }, + "readOnly": false + } + } + }, + "MLModelDefinitionPart": { + "description": "Machine learning model definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The machine learning model part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The machine learning model part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateMLModelRequest": { + "description": "Update machine learning model request.", + "properties": { + "description": { + "description": "The machine learning model description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + }, + "MLModelEndpoint": { + "description": "A machine learning model endpoint object.", + "required": [ + "defaultVersionAssignmentBehavior", + "defaultVersionName", + "defaultVersionInfo" + ], + "type": "object", + "properties": { + "defaultVersionAssignmentBehavior": { + "$ref": "#/definitions/EndpointDefaultVersionConfigurationPolicy" + }, + "defaultVersionName": { + "type": "string", + "description": "Default machine learning model endpoint version name." + }, + "defaultVersionInfo": { + "$ref": "#/definitions/MLModelEndpointVersionInfo" + } + } + }, + "EndpointDefaultVersionConfigurationPolicy": { + "type": "string", + "description": "The default version assignment behavior of a given machine learning model endpoint. Additional EndpointDefaultVersionConfigurationPolicy types may be added over time.", + "enum": [ + "StaticallyConfigured", + "NotConfigured" + ], + "x-ms-enum": { + "name": "EndpointDefaultVersionConfigurationPolicy", + "modelAsString": true, + "values": [ + { + "value": "StaticallyConfigured", + "description": "The default version is statically configured." + }, + { + "value": "NotConfigured", + "description": "No default version has been configured." + } + ] + } + }, + "MLModelEndpointVersions": { + "description": "All MLModel Versions Endpoints info.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "The information about all versions available as endpoint for this MLModel.", + "items": { + "$ref": "#/definitions/MLModelEndpointVersionInfo" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "MLModelEndpointVersionInfo": { + "description": "Machine Learning Model Endpoint version information.", + "required": [ + "versionName", + "status" + ], + "type": "object", + "properties": { + "versionName": { + "type": "string", + "description": "The machine learning model version name", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/MLModelEndpointVersionStatus", + "readOnly": true + }, + "inputSignature": { + "type": "array", + "description": "The input signature for this version of the machine learning model.", + "readOnly": true, + "items": { + "$ref": "#/definitions/MLModelDataSchema" + } + }, + "outputSignature": { + "type": "array", + "description": "The output signature for this version of the machine learning model.", + "readOnly": true, + "items": { + "$ref": "#/definitions/MLModelDataSchema" + } + }, + "scaleRule": { + "$ref": "#/definitions/ScaleRule" + } + } + }, + "MLModelDataSchema": { + "description": "Machine learning model data schema.", + "required": [ + "type", + "name", + "required" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the signature." + }, + "name": { + "type": "string", + "description": "The name of the signature." + }, + "required": { + "type": "boolean", + "description": "The boolean value to indicate if the signature is required or no. True - Required, False - Not Required." + } + } + }, + "MLModelEndpointVersionStatus": { + "type": "string", + "description": "The status of a given machine learning model endpoint version. Additional ModelEndpointVersionStatus types may be added over time.", + "enum": [ + "Deactivated", + "Activating", + "Deactivating", + "Active", + "Failed" + ], + "x-ms-enum": { + "name": "ModelEndpointVersionStatus", + "modelAsString": true, + "values": [ + { + "value": "Deactivated", + "description": "All resources are deactivated." + }, + { + "value": "Activating", + "description": "Machine learning model endpoint activation is under progress." + }, + { + "value": "Deactivating", + "description": "Machine learning model endpoint deactivation is in progress." + }, + { + "value": "Active", + "description": "Machine learning model endpoint is available to serve score requests." + }, + { + "value": "Failed", + "description": "Machine learning model endpoint is in failed state." + } + ] + } + }, + "ScoreDataRequest": { + "description": "Machine learning model endpoint request to score the given input data.", + "type": "object", + "required": [ + "inputs" + ], + "properties": { + "formatType": { + "$ref": "#/definitions/FormatType" + }, + "orientation": { + "$ref": "#/definitions/Orientation" + }, + "inputs": { + "type": "array", + "description": "Machine learning inputs to score in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans.", + "items": { + "type": "array", + "description": "Machine learning inputs to score in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans.", + "items": { + "type": "object", + "description": "Machine learning inputs to score in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans." + } + }, + "readOnly": false + } + } + }, + "ScoreDataResponse": { + "description": "Machine learning model endpoint response to score the given input data.", + "type": "object", + "required": [ + "formatType", + "orientation", + "predictions" + ], + "properties": { + "formatType": { + "$ref": "#/definitions/FormatType" + }, + "orientation": { + "$ref": "#/definitions/Orientation" + }, + "predictions": { + "type": "array", + "description": "Machine learning predictions represented in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans.", + "items": { + "type": "array", + "description": "Machine learning predictions represented in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans.", + "items": { + "type": "object", + "description": "Machine learning predictions represented in the form of Pandas dataset arrays that can include strings, numbers, integers and booleans." + } + }, + "readOnly": true + } + } + }, + "UpdateMLModelEndpointRequest": { + "description": "Machine learning model endpoint request body to update Model Endpoint properties.", + "type": "object", + "properties": { + "defaultVersionName": { + "description": "Default machine learning model endpoint version name.", + "type": "string", + "readOnly": false + }, + "defaultVersionAssignmentBehavior": { + "$ref": "#/definitions/EndpointDefaultVersionConfigurationPolicy" + } + } + }, + "UpdateMLModelEndpointVersionRequest": { + "description": "Machine learning model endpoint version configuration info.", + "type": "object", + "properties": { + "scaleRule": { + "$ref": "#/definitions/ScaleRule" + } + } + }, + "ScaleRule": { + "description": "Machine learning model endpoint scale rule. Additional ScaleRule types may be added over time.", + "type": "string", + "enum": [ + "AlwaysOn", + "AllowScaleToZero" + ], + "x-ms-enum": { + "name": "ScaleRule", + "modelAsString": true, + "values": [ + { + "value": "AlwaysOn", + "description": "Machine learning model endpoint should be AlwaysOn." + }, + { + "value": "AllowScaleToZero", + "description": "Machine learning model endpoint can be scaled to zero after a period of inactivity." + } + ] + } + }, + "FormatType": { + "type": "string", + "description": "Format type of data. Additional Format types may be added over time.", + "enum": [ + "dataframe" + ], + "x-ms-enum": { + "name": "FormatType", + "modelAsString": true, + "values": [ + { + "value": "dataframe", + "description": "Dataframe format type." + } + ] + } + }, + "Orientation": { + "type": "string", + "description": "Orientation of data. Additional Orientation types may be added over time.", + "enum": [ + "split", + "values", + "record", + "index", + "table" + ], + "x-ms-enum": { + "name": "Orientation", + "modelAsString": true, + "values": [ + { + "value": "split", + "description": "Split orientation." + }, + { + "value": "values", + "description": "Values orientation." + }, + { + "value": "record", + "description": "Record orientation." + }, + { + "value": "index", + "description": "Index orientation." + }, + { + "value": "table", + "description": "Table orientation." + } + ] + } + } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ActivateMLModelEndpointVersion.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ActivateMLModelEndpointVersion.json new file mode 100644 index 000000000..17afebb26 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ActivateMLModelEndpointVersion.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "name": "1" + }, + "responses": { + "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 + } + }, + "200": { + "description": "Provisioning completed successfully." + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpoint.json new file mode 100644 index 000000000..78a25d7fe --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpoint.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313" + }, + "responses": { + "200": { + "description": "Deactivation completed successfully." + }, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpointVersion.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpointVersion.json new file mode 100644 index 000000000..2da1060d6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/DeactivateMLModelEndpointVersion.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "name": "1" + }, + "responses": { + "200": { + "description": "Deactivation completed successfully." + }, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpoint.json new file mode 100644 index 000000000..3b3b9a1e6 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpoint.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313" + }, + "responses": { + "200": { + "body": { + "defaultVersionAssignmentBehavior": "StaticallyConfigured", + "defaultVersionName": "1", + "defaultVersionInfo": { + "versionName": "1", + "status": "Running", + "inputSignature": [ + { + "type": "double", + "name": "age", + "required": true + }, + { + "type": "double", + "name": "sex", + "required": true + }, + { + "type": "double", + "name": "bmi", + "required": true + }, + { + "type": "double", + "name": "bp", + "required": true + }, + { + "type": "double", + "name": "s1", + "required": true + }, + { + "type": "double", + "name": "s2", + "required": true + }, + { + "type": "double", + "name": "s3", + "required": true + }, + { + "type": "double", + "name": "s4", + "required": true + }, + { + "type": "double", + "name": "s5", + "required": true + }, + { + "type": "double", + "name": "s6", + "required": true + } + ], + "outputSignature": [ + { + "type": "double", + "name": "target", + "required": true + } + ], + "scaleRule": "AlwaysOn" + } + } + } + } + } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpointVersion.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpointVersion.json new file mode 100644 index 000000000..a014ed1bb --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/GetMLModelEndpointVersion.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "name": "1" + }, + "responses": { + "200": { + "body": { + "versionName": "1", + "status": "Running", + "inputSignature": [ + { + "type": "double", + "name": "age", + "required": true + }, + { + "type": "double", + "name": "sex", + "required": true + }, + { + "type": "double", + "name": "bmi", + "required": true + }, + { + "type": "double", + "name": "bp", + "required": true + }, + { + "type": "double", + "name": "s1", + "required": true + }, + { + "type": "double", + "name": "s2", + "required": true + }, + { + "type": "double", + "name": "s3", + "required": true + }, + { + "type": "double", + "name": "s4", + "required": true + }, + { + "type": "double", + "name": "s5", + "required": true + }, + { + "type": "double", + "name": "s6", + "required": true + } + ], + "outputSignature": [ + { + "type": "double", + "name": "target", + "required": true + } + ], + "scaleRule": "AlwaysOn" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ListMLModelEndpointVersions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ListMLModelEndpointVersions.json new file mode 100644 index 000000000..f26787036 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ListMLModelEndpointVersions.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313" + }, + "responses": { + "200": { + "body": { + "value":[ + { + "versionName": "1", + "status": "Active", + "inputSignature": [ + { + "type": "double", + "name": "age", + "required": true + }, + { + "type": "double", + "name": "sex", + "required": true + }, + { + "type": "double", + "name": "bmi", + "required": true + }, + { + "type": "double", + "name": "bp", + "required": true + }, + { + "type": "double", + "name": "s1", + "required": true + }, + { + "type": "double", + "name": "s2", + "required": true + }, + { + "type": "double", + "name": "s3", + "required": true + }, + { + "type": "double", + "name": "s4", + "required": true + }, + { + "type": "double", + "name": "s5", + "required": true + }, + { + "type": "double", + "name": "s6", + "required": true + } + ], + "outputSignature": [ + { + "type": "double", + "name": "target", + "required": true + } + ], + "scaleRule": "AlwaysOn" + }, + { + "versionName": "2", + "status": "Deactivated" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpoint.json new file mode 100644 index 000000000..4d4daad3d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpoint.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "scoreDataRequest": { + "formatType": "dataframe", + "orientation": "values", + "inputs": [ + [ -0.00188201652779, -0.04464163650698, -0.05147406123880, -0.0263275281478529, -0.00844872411121, -0.01916333974822, 0.07441156407875721, -0.03949338287409329, -0.0683315470939731, -0.092204049626824 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ], + [ 11, 2, 3, 4, 5, 6, 77, 8, 9, 0 ], + [ 1, 22, 3, 47, 5, 6, 7, 0, 9, 0 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ], + [ 1, 2, 3, 4, 5, 86, 7, 8, 9, 0 ], + [ 1, 25, 3, 4, 5, 6, 7, 98, 9, 0 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 99, 0 ], + [ 1, 205, 3, 4, 5, 96, 7, 8, 9, 0 ], + [ 1, 2, 35, 4, 5, 6, 7, 18, 19, 0 ] + ] + } + }, + "responses": { + "200": { + "body": { + "formatType": "dataframe", + "orientation": "values", + "predictions": [ + [ + 72.0 + ], + [ + 248.0 + ], + [ + 87.0 + ], + [ + 217.0 + ], + [ + 248.0 + ], + [ + 84.0 + ], + [ + 248.0 + ], + [ + 220.0 + ], + [ + 139.0 + ], + [ + 242.0 + ] + ] + } + }, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpointVersion.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpointVersion.json new file mode 100644 index 000000000..9eb01be7b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/ScoreMLModelEndpointVersion.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "name": "1", + "scoreDataRequest": { + "formatType": "dataframe", + "orientation": "values", + "inputs": [ + [ -0.00188201652779, -0.04464163650698, -0.05147406123880, -0.0263275281478529, -0.00844872411121, -0.01916333974822, 0.07441156407875721, -0.03949338287409329, -0.0683315470939731, -0.092204049626824 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ], + [ 11, 2, 3, 4, 5, 6, 77, 8, 9, 0 ], + [ 1, 22, 3, 47, 5, 6, 7, 0, 9, 0 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ], + [ 1, 2, 3, 4, 5, 86, 7, 8, 9, 0 ], + [ 1, 25, 3, 4, 5, 6, 7, 98, 9, 0 ], + [ 1, 2, 3, 4, 5, 6, 7, 8, 99, 0 ], + [ 1, 205, 3, 4, 5, 96, 7, 8, 9, 0 ], + [ 1, 2, 35, 4, 5, 6, 7, 18, 19, 0 ] + ] + } + }, + "responses": { + "200": { + "body": { + "formatType": "dataframe", + "orientation": "values", + "predictions": [ + [ + 72.0 + ], + [ + 248.0 + ], + [ + 87.0 + ], + [ + 217.0 + ], + [ + 248.0 + ], + [ + 84.0 + ], + [ + 248.0 + ], + [ + 220.0 + ], + [ + 139.0 + ], + [ + 242.0 + ] + ] + } + }, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpoint.json new file mode 100644 index 000000000..fc746c858 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpoint.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "updateMLModelEndpointRequest": { + "defaultVersionAssignmentBehavior": "StaticallyConfigured", + "defaultVersionName": "1" + } + }, + "responses": { + "200": { + "body": { + "defaultVersionAssignmentBehavior": "StaticallyConfigured", + "defaultVersionName": "1", + "defaultVersionInfo": { + "versionName": "1", + "status": "Running", + "inputSignature": [ + { + "type": "double", + "name": "age", + "required": true + }, + { + "type": "double", + "name": "sex", + "required": true + }, + { + "type": "double", + "name": "bmi", + "required": true + }, + { + "type": "double", + "name": "bp", + "required": true + }, + { + "type": "double", + "name": "s1", + "required": true + }, + { + "type": "double", + "name": "s2", + "required": true + }, + { + "type": "double", + "name": "s3", + "required": true + }, + { + "type": "double", + "name": "s4", + "required": true + }, + { + "type": "double", + "name": "s5", + "required": true + }, + { + "type": "double", + "name": "s6", + "required": true + } + ], + "outputSignature": [ + { + "type": "double", + "name": "target", + "required": true + } + ], + "scaleRule": "AlwaysOn" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpointVersion.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpointVersion.json new file mode 100644 index 000000000..42c2965a4 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/examples/UpdateMLModelEndpointVersion.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "workspaceId": "cf5fef71-f7f3-43f3-ae7f-3c427922bef1", + "modelId": "7e92a6fc-3ef5-40bf-96df-ddae3fcde313", + "name": "1", + "updateMLModelEndpointVersionRequest": { + "scaleRule": "AllowScaleToZero" + } + }, + "responses": { + "200": { + "body": { + "versionName": "1", + "status": "Running", + "inputSignature": [ + { + "type": "double", + "name": "age", + "required": true + }, + { + "type": "double", + "name": "sex", + "required": true + }, + { + "type": "double", + "name": "bmi", + "required": true + }, + { + "type": "double", + "name": "bp", + "required": true + }, + { + "type": "double", + "name": "s1", + "required": true + }, + { + "type": "double", + "name": "s2", + "required": true + }, + { + "type": "double", + "name": "s3", + "required": true + }, + { + "type": "double", + "name": "s4", + "required": true + }, + { + "type": "double", + "name": "s5", + "required": true + }, + { + "type": "double", + "name": "s6", + "required": true + } + ], + "outputSignature": [ + { + "type": "double", + "name": "target", + "required": true + } + ], + "scaleRule": "AllowScaleToZero" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/swagger.json index f34b085c0..b6c0c7589 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/mlModel/swagger.json @@ -287,9 +287,657 @@ } } } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint": { + "get": { + "summary": "Returns properties of the specified machine learning model's endpoint.", + "description": "## Permissions\n\n The caller must have read permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.Read.All or MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_GetMLModelEndpoint", + "produces": [ "application/json" ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/MLModelEndpoint" + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Could not retrieve endpoint metadata. \n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/GetMLModelEndpoint.json" + } + } + }, + "patch": { + "summary": "Updates the default version of the specified model.", + "description": "## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_UpdateMLModelEndpoint", + "consumes": [ "application/json" ], + "produces": [ "application/json" ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "updateMLModelEndpointRequest", + "description": "Update MLModel endpoint request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateMLModelEndpointRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Endpoint updated.", + "schema": { + "$ref": "./definitions.json#/definitions/MLModelEndpoint" + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred. \n\n* Conflict - An operation is already is proress. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/UpdateMLModelEndpoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions/deactivateAll": { + "post": { + "summary": "Deactivates the specified machine learning model and its version's endpoints.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_DeactivateAllMLModelEndpointVersions", + "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": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "202": { + "description": "Request accepted, model activation 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred. \n\n* Conflict - An operation is already is proress. \n\n* BadInput - User Input is invalid. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/DeactivateMLModelEndpoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions": { + "get": { + "summary": "Returns a list of all machine learning model endpoint versions.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination). \n\n## Permissions\n\n The caller must have read permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.Read.All or MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_ListMLModelEndpointVersions", + "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": "modelId", + "description": "The machine learning model 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/MLModelEndpointVersions" + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Could not retrieve endpoint metadata. \n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/ListMLModelEndpointVersions.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions/{name}": { + "get": { + "summary": "Returns information about the specified MLModel endpoint version.", + "description": "For machine learning model versions where endpoints have never been enabled, or have been disabled after enabling, the status would be 'deactivated'.\n\n## Permissions\n\n The caller must have read permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.Read.All or MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_GetMLModelEndpointVersion", + "produces": [ "application/json" ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "name", + "description": "The MLModel version name.", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/MLModelEndpointVersionInfo" + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Could not retrieve endpoint metadata. \n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/GetMLModelEndpointVersion.json" + } + } + }, + "patch": { + "summary": "Update machine learning model endpoint version configuration.", + "description": "## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- Only machine learning model endpoint versions which are enabled can be updated.\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": [ + "Endpoint" + ], + "operationId": "Endpoint_UpdateMLModelEndpointVersion", + "consumes": [ "application/json" ], + "produces": [ "application/json" ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "name", + "description": "The MLModel version name.", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "updateMLModelEndpointVersionRequest", + "description": "MLModel endpoint configuration update request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateMLModelEndpointVersionRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Endpoint version configuration details.", + "schema": { + "$ref": "./definitions.json#/definitions/MLModelEndpointVersionInfo" + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred. \n\n* Conflict - An operation is already is proress. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/UpdateMLModelEndpointVersion.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions/{name}/activate": { + "post": { + "summary": "Activates the specified model version endpoint.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_ActivateMLModelEndpointVersion", + "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": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "name", + "description": "The MLModel version name.", + "type": "string", + "required": true + } + ], + "responses": { + "202": { + "description": "Request accepted, model activation 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." + } + } + }, + "200": { + "description": "Machine learning model endpoint activation completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred. \n\n* Conflict - Model endpoint version is already activating. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/ActivateMLModelEndpointVersion.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions/{name}/deactivate": { + "post": { + "summary": "Deactivates the specified model version version.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_DeactivateMLModelEndpointVersion", + "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": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "name", + "description": "The MLModel version name.", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Machine learning model endpoint deactivation completed successfully." + }, + "202": { + "description": "Request accepted, model activation 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred. \n\n* Conflict - Model endpoint version is already deactivating. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/DeactivateMLModelEndpointVersion.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlModels/{modelId}/endpoint/score": { + "post": { + "summary": "Scores input data using the default version of the endpoint and returns results.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_ScoreMLModelEndpoint", + "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": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "scoreDataRequest", + "description": "The data to score with the model.", + "schema": { + "$ref": "./definitions.json#/definitions/ScoreDataRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/ScoreDataResponse" + } + }, + "202": { + "description": "Request accepted, scoring 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred. \n\n* BadInput - User Input is invalid.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Score data using the default model version": { + "$ref": "./examples/ScoreMLModelEndpoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/mlmodels/{modelId}/endpoint/versions/{name}/score": { + "post": { + "summary": "Scores input data for the specific version of the endpoint and returns results.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions \n The caller must have write permission on the MLModel. \n\n## Required Delegated Scopes \n\n MLModel.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": [ + "Endpoint" + ], + "operationId": "Endpoint_ScoreMLModelEndpointVersion", + "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": "modelId", + "description": "The machine learning model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "name", + "description": "The MLModel version name.", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "scoreDataRequest", + "description": "The data to score with the model.", + "schema": { + "$ref": "./definitions.json#/definitions/ScoreDataRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/ScoreDataResponse" + } + }, + "202": { + "description": "Request accepted, scoring 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* NotFound - Version not found. \n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Example": { + "$ref": "./examples/ScoreMLModelEndpointVersion.json" + } + } + } } }, "responses": {}, "security": [], "tags": [] -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/CreateNotebook.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/CreateNotebook.json new file mode 100644 index 000000000..428c1f080 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/CreateNotebook.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "createNotebookRequest": { + "displayName": "Notebook 1", + "description": "A notebook description", + "definition": { + "format": "ipynb", + "parts": [ + { + "path": "notebook-content.py", + "payload": "eyJuYmZvcm1hdCI6N..5ndWUiOiJweXRob24ifX19", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "Notebook 1", + "description": "A notebook description", + "type": "Notebook", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/GetNotebookDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/GetNotebookDefinition.json new file mode 100644 index 000000000..363577d9e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/GetNotebookDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "notebookId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229" + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "notebook-content.py", + "payload": "IyBGYWJyaWMgbm90ZWJv..5ndWUiOiJweXRob24ifX19", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/UpdateNotebookDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/UpdateNotebookDefinition.json new file mode 100644 index 000000000..2e0207ee9 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/notebook/examples/UpdateNotebookDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "notebookId": "5b218778-e7a5-4d73-8187-f10824047715", + "updateMetadata" : true, + "updateNotebookDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "notebook-content.py", + "payload": "IyBGYWJyaWMgbm90ZWJv...", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json index 4af944912..8237fb148 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/connections.json @@ -824,6 +824,10 @@ "credentialDetails": { "description": "The credential details of the connection.", "$ref": "#/definitions/CreateCredentialDetails" + }, + "allowConnectionUsageInGateway": { + "description": "Allow this connection to be utilized with either on-premises data gateways or VNet data gateways.", + "type": "boolean" } } }, @@ -912,6 +916,10 @@ "credentialDetails": { "description": "The credential details of the connection.", "$ref": "#/definitions/UpdateCredentialDetails" + }, + "allowConnectionUsageInGateway": { + "description": "Allow this connection to be utilized with either on-premises data gateways or VNet data gateways.", + "type": "boolean" } } }, @@ -927,12 +935,18 @@ "credentialDetails": { "description": "The credential details of the connection.", "$ref": "#/definitions/UpdateCredentialDetails" + }, + "allowConnectionUsageInGateway": { + "description": "Allow this connection to be utilized with either on-premises data gateways or VNet data gateways.", + "type": "boolean" } } }, "Connection": { "required": ["id", "connectivityType", "connectionDetails"], "type": "object", + "description": "The base object of a connection.", + "discriminator": "connectivityType", "properties": { "id": { "description": "The object ID of the connection.", @@ -943,11 +957,6 @@ "description": "The display name of the connection.", "type": "string" }, - "gatewayId": { - "description": "The gateway object ID of the connection.", - "type": "string", - "format": "uuid" - }, "connectivityType": { "description": "The connectivity type of the connection.", "$ref": "#/definitions/ConnectivityType" @@ -966,6 +975,89 @@ } } }, + "ShareableCloudConnection": { + "type": "object", + "description": "A connection that connects through the cloud.", + "allOf": [ + { + "$ref": "#/definitions/Connection" + } + ], + "properties": { + "allowConnectionUsageInGateway": { + "description": "Allow this connection to be utilized with either on-premises data gateways or VNet data gateways.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "ShareableCloud" + }, + "PersonalCloudConnection": { + "type": "object", + "description": "A connection that connects through the cloud and cannot be shared.", + "allOf": [ + { + "$ref": "#/definitions/Connection" + } + ], + "properties": { + "allowConnectionUsageInGateway": { + "description": "Allow this connection to be utilized with either on-premises data gateways or VNet data gateways.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "PersonalCloud" + }, + "OnPremisesGatewayConnection": { + "type": "object", + "description": "A connection that connects through on-premises data gateway.", + "allOf": [ + { + "$ref": "#/definitions/Connection" + } + ], + "properties": { + "gatewayId": { + "description": "The gateway object ID of the connection.", + "type": "string", + "format": "uuid" + } + }, + "x-ms-discriminator-value": "OnPremisesGateway" + }, + "OnPremisesGatewayPersonalConnection": { + "type": "object", + "description": "A connection that connects through a personal on-premises data gateway.", + "allOf": [ + { + "$ref": "#/definitions/Connection" + } + ], + "properties": { + "gatewayId": { + "description": "The gateway object ID of the connection.", + "type": "string", + "format": "uuid" + } + }, + "x-ms-discriminator-value": "OnPremisesGatewayPersonal" + }, + "VirtualNetworkGatewayConnection": { + "type": "object", + "description": "A connection that connects through a 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": "VirtualNetworkGateway" + }, "ListConnectionsResponse": { "required": ["value"], "type": "object", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/deploymentPipelines.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/deploymentPipelines.json index 0a1a9f8ef..ebf3af8a2 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/deploymentPipelines.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/deploymentPipelines.json @@ -619,9 +619,15 @@ } }, "DeploymentPipelineRoleAssignment": { - "required": ["principal", "role"], + "required": ["id", "principal", "role"], "description": "A Fabric principal role assignment for a deployment pipeline.", "properties": { + "id": { + "description": "The deployment pipeline role assignment ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, "principal": { "description": "The principal.", "$ref": "../../common/definitions.json#/definitions/Principal", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/externaldatasharing.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/externaldatasharing.json index 7d7bf98e7..38885ae3c 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/externaldatasharing.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/externaldatasharing.json @@ -13,7 +13,7 @@ "properties": { "paths": { "type": "array", - "description": "The path or list of paths that are to be externally shared. You can share up to 100 paths in each share. A valid path to an external data share must start with \"Files/\" or \"Tables/\". You can't share the root folder itself (Files or Tables).\n\nFor example, these paths are valid:\n\n* \"Files/MyFolder1\"\n\n* \"Tables/MyTable1\"", + "description": "The path or list of paths that are to be externally shared. You can share up to 100 paths in each share. A valid path to an external data share must start with \"Files/\" or \"Tables/\". You can't share the root folder itself (Files or Tables).\n\nFor example, these paths are valid:\n\n* \"Files/MyFolder1\"\n\n* \"Tables/MySchema\"\n\n* \"Tables/MyTable1\"", "items": { "type": "string" }, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/managedPrivateEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/managedPrivateEndpoint.json index 2c5c11f7a..2ef09e5ac 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/managedPrivateEndpoint.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/managedPrivateEndpoint.json @@ -10,8 +10,7 @@ "description": "Create managed private endpoint request payload.", "required": [ "name", - "targetPrivateLinkResourceId", - "targetSubresourceType" + "targetPrivateLinkResourceId" ], "properties": { "name": { @@ -33,6 +32,14 @@ "description": "Message to approve private endpoint request. Should not be more than 140 characters.", "type": "string", "readOnly": false + }, + "targetFQDNs": { + "description": "Fully qualified domain names (FQDNs) to be associated with the private endpoint. Should not be more than 20 FQDNs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": false } } }, @@ -160,6 +167,24 @@ } ] } + }, + "ManagedPrivateEndpointTargetFQDNs":{ + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of FQDNs in the managed private endpoints.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json index 9fbeca988..846d1b178 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/platform.json @@ -5,1811 +5,2458 @@ "title": "Platform data types" }, "paths": {}, - "definitions": { - "Workspaces": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of workspaces.", - "type": "array", - "items": { - "$ref": "#/definitions/Workspace" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "Workspace": { - "description": "A workspace object.", - "type": "object", - "required": ["id", "displayName", "description"], - "properties": { - "id": { - "description": "The workspace ID.", - "type": "string", - "format": "uuid", - "readOnly": true - }, - "displayName": { - "description": "The workspace display name.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The workspace description.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The workspace type.", - "$ref": "../../common/definitions.json#/definitions/WorkspaceType", - "readOnly": true - }, - "capacityId": { - "description": "The ID of the capacity the workspace is assigned to.", - "type": "string", - "format": "uuid", - "readOnly": true - } - }, - "readOnly": true - }, - "WorkspaceInfo": { - "description": "A workspace object.", - "type": "object", - "required": [ "id", "displayName", "description" ], - "allOf": [ - { - "$ref": "#/definitions/Workspace" - } - ], - "properties": { - "capacityAssignmentProgress": { - "description": "The status of the workspace's capacity assignment progress.", - "$ref": "#/definitions/CapacityAssignmentProgress", - "readOnly": true - }, - "workspaceIdentity": { - "description": "The workspace identity.", - "$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", - "readOnly": true - } - }, - "readOnly": true - }, - "CapacityRegion": { - "type": "string", - "description": "The region of the capacity associated with this workspace. Additional capacity region values may be added over time.", - "enum": ["Australia East", "Australia Southeast", "Brazil South", "Brazil Southeast", "Canada Central", "Canada East", "Central India" - ,"Central US", "Central US EUAP", "East Asia", "East US", "East US 2", "France Central", "France South", "Germany Central", "Germany Northeast" - ,"Israel Central", "Italy North", "Japan East", "Japan West", "Korea Central", "Korea South", "Mexico Central", "North Central US", "North Europe" - ,"Norway East", "Norway West", "Poland Central", "South Africa North", "South Africa West", "South Central US", "South India", "Southeast Asia" - ,"Spain Central", "Sweden Central", "Switzerland North", "Switzerland West", "West Europe", "West India", "West US", "West US 2", "West US 3" - ,"West Central US", "UAE Central", "UAE North", "Qatar Central", "Germany West Central", "Germany North", "UK South", "UK West", "China North" - ,"China East", "China East 2", "China East 3", "China North 2", "China North 3"], - "x-ms-enum": { - "modelAsString": true, - "values": [ - { - "value": "Australia East", - "description": "Australia East region" - }, - { - "value": "Australia Southeast", - "description": "Australia Southeast region" - }, - { - "value": "Brazil South", - "description": "Brazil South region" - }, - { - "value": "Brazil Southeast", - "description": "Brazil Southeast region" - }, - { - "value": "Canada Central", - "description": "Canada Central region" - }, - { - "value": "Canada East", - "description": "Canada East region" - }, - { - "value": "Central India", - "description": "Central India region" - }, - { - "value": "Central US", - "description": "Central US region" - }, - { - "value": "Central US EUAP", - "description": "Central US EUAP region" - }, - { - "value": "East Asia", - "description": "East Asia region" - }, - { - "value": "East US", - "description": "East US region" - }, - { - "value": "East US 2", - "description": "East US 2 region" - }, - { - "value": "France Central", - "description": "France Central region" - }, - { - "value": "France South", - "description": "France South region" - }, - { - "value": "Germany Central", - "description": "Germany Central region" - }, - { - "value": "Germany Northeast", - "description": "Germany Northeast region" - }, - { - "value": "Israel Central", - "description": "Israel Central region" - }, - { - "value": "Italy North", - "description": "Italy North region" - }, - { - "value": "Japan East", - "description": "Japan East region" - }, - { - "value": "Japan West", - "description": "Japan West region" - }, - { - "value": "Korea Central", - "description": "Korea Central region" - }, - { - "value": "Korea South", - "description": "Korea South region" - }, - { - "value": "Mexico Central", - "description": "Mexico Central region" - }, - { - "value": "North Central US", - "description": "North Central US region" - }, - { - "value": "North Europe", - "description": "North Europe region" - }, - { - "value": "Norway East", - "description": "Norway East region" - }, - { - "value": "Norway West", - "description": "Norway West region" - }, - { - "value": "Poland Central", - "description": "Poland Central region" - }, - { - "value": "South Africa North", - "description": "South Africa North region" - }, - { - "value": "South Africa West", - "description": "South Africa West region" - }, - { - "value": "South Central US", - "description": "South Central US region" - }, - { - "value": "South India", - "description": "South India region" - }, - { - "value": "Southeast Asia", - "description": "Southeast Asia region" - }, - { - "value": "Spain Central", - "description": "Spain Central region" - }, - { - "value": "Sweden Central", - "description": "Sweden Central region" - }, - { - "value": "Switzerland North", - "description": "Switzerland North region" - }, - { - "value": "Switzerland West", - "description": "Switzerland West region" - }, - { - "value": "West Europe", - "description": "West Europe region" - }, - { - "value": "West India", - "description": "West India region" - }, - { - "value": "West US", - "description": "West US region" - }, - { - "value": "West US 2", - "description": "West US 2 region" - }, - { - "value": "West US 3", - "description": "West US 3 region" - }, - { - "value": "West Central US", - "description": "West Central US region" - }, - { - "value": "UAE Central", - "description": "UAE Central region" - }, - { - "value": "UAE North", - "description": "UAE North region" - }, - { - "value": "Qatar Central", - "description": "Qatar Central region" - }, - { - "value": "Germany West Central", - "description": "Germany West Central region" - }, - { - "value": "Germany North", - "description": "Germany North region" - }, - { - "value": "UK South", - "description": "UK South region" - }, - { - "value": "UK West", - "description": "UK West region" - }, - { - "value": "China North", - "description": "China North region" - }, - { - "value": "China East", - "description": "China East region" - }, - { - "value": "China East 2", - "description": "China East 2 region" - }, - { - "value": "China East 3", - "description": "China East 3 region" - }, - { - "value": "China North 2", - "description": "China North 2 region" - }, - { - "value": "China North 3", - "description": "China North 3 region" - } - ] - } - }, - "OneLakeEndpoints": { - "description": "The OneLake API endpoints associated with this workspace.", - "type": "object", - "properties": { - "blobEndpoint": { - "description": "The OneLake API endpoint available for Blob API operations. This is a region specific endpoint, unless the tenant has Private Link enabled and public access disabled, in which case the global endpoint is provided.", - "type": "string", - "readOnly": true - }, - "dfsEndpoint": { - "description": "The OneLake API endpoint available for Distributed File System (DFS) or ADLSgen2 filesystem API operations. This is a region specific endpoint, unless the tenant has Private Link enabled and public access disabled, in which case the global endpoint is provided.", - "type": "string", - "readOnly": true - } - } - }, - "CreateWorkspaceRequest": { - "description": "Create workspace request payload.", - "required": ["displayName"], - "properties": { - "displayName": { - "description": "The workspace display name.
The display name cannot contain more than 256 characters.
Only unused workspace names are allowed.
\"Admin monitoring\" is a reserved workspace name.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The workspace description.
The description cannot contain more than 4000 characters.", - "type": "string", - "readOnly": false - }, - "capacityId": { - "description": "The ID of the capacity to assign the workspace to.", - "type": "string", - "format": "uuid", - "readOnly": false - } - } - }, - "UpdateWorkspaceRequest": { - "description": "Update workspace request payload.", - "properties": { - "displayName": { - "description": "The workspace display name.
The display name cannot contain more than 256 characters.
Workspace names must be unique within the tenant.
\"Admin monitoring\" is a reserved workspace name.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The workspace description.
The description cannot contain more than 4000 characters.", - "type": "string", - "readOnly": false - } - } - }, - "UpdateWorkspaceRoleAssignmentRequest": { - "description": "Update workspace role assignment request payload.", - "required": ["role"], - "properties": { - "role": { - "description": "The workspace role of the principal.", - "$ref": "../../common/definitions.json#/definitions/WorkspaceRole", - "readOnly": false - } - } - }, - "WorkspaceRoleAssignments": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "description": "A list of workspace role assignments.", - "$ref": "#/definitions/WorkspaceRoleAssignment" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "AddWorkspaceRoleAssignmentRequest": { - "type": "object", - "description": "Add workspace role assignment request payload.", - "required": ["principal", "role"], - "properties": { - "principal": { - "description": "The principal.", - "$ref": "../../common/definitions.json#/definitions/Principal" - }, - "role": { - "description": "The workspace role of the principal.", - "$ref": "../../common/definitions.json#/definitions/WorkspaceRole" - } - } - }, - "WorkspaceRoleAssignment": { - "type": "object", - "description": "A workspace role assignment object.", - "required": ["id", "principal", "role"], - "properties": { - "id": { - "description": "The workspace role assignment ID.", - "type": "string", - "format": "uuid", - "readOnly": true - }, - "principal": { - "description": "The principal.", - "$ref": "../../common/definitions.json#/definitions/Principal", - "readOnly": true - }, - "role": { - "description": "The workspace role of the principal.", - "$ref": "../../common/definitions.json#/definitions/WorkspaceRole", - "readOnly": true - } - } - }, - "Capacities": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of capacities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capacity" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "Capacity": { - "description": "A capacity object.", - "type": "object", - "required": ["id", "displayName", "sku", "region", "state"], - "properties": { - "id": { - "description": "The capacity ID.", - "type": "string", - "format": "uuid", - "readOnly": true - }, - "displayName": { - "description": "The capacity display name.", - "type": "string", - "readOnly": true - }, - "sku": { - "description": "The capacity SKU.", - "type": "string", - "readOnly": true - }, - "region": { - "description": "The Azure region where the capacity was provisioned.", - "type": "string", - "readOnly": true - }, - "state": { - "description": "The capacity state.", - "$ref": "#/definitions/CapacityState", - "readOnly": true - } - }, - "readOnly": true - }, - "CapacityState": { - "type": "string", - "description": "A Capacity state. Additional capacity states may be added over time.", - "enum": ["Active", "Inactive"], - "x-ms-enum": { - "name": "CapacityState", - "modelAsString": true, - "values": [ - { - "value": "Active", - "description": "The capacity is ready to use." - }, - { - "value": "Inactive", - "description": "The capacity can't be used." - } - ] - } - }, - "AssignWorkspaceToCapacityRequest": { - "type": "object", - "description": "A capacity assignment request.", - "required": ["capacityId"], - "properties": { - "capacityId": { - "description": "The ID of the capacity the workspace should be assigned to.", - "type": "string", - "format": "uuid" - } - } - }, - "CapacityAssignmentProgress": { - "type": "string", - "description": "A Workspace assignment to capacity progress status. Additional capacity assignment progress values may be added over time.", - "enum": ["Completed", "Failed", "InProgress"], - "x-ms-enum": { - "name": "CapacityAssignmentProgress", - "modelAsString": true, - "values": [ - { - "value": "Completed", - "description": "Last capacity assignment operation was completed successfully." - }, - { - "value": "Failed", - "description": "Capacity assignment operation has encountered an error or failure and was unable to complete." - }, - { - "value": "InProgress", - "description": "Capacity assignment operation is currently running and has not yet completed." - } - ] - }, - "readOnly": true - }, - "WorkspaceIdentity": { - "type": "object", - "description": "A workspace identity object.", - "required": ["applicationId", "servicePrincipalId"], - "properties": { - "applicationId": { - "description": "The application ID.", - "type": "string", - "readOnly": true - }, - "servicePrincipalId": { - "description": "The service principal ID.", - "type": "string", - "readOnly": true - } - }, - "readOnly": true - }, - "Items": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of items.", - "type": "array", - "items": { - "$ref": "../../common/definitions.json#/definitions/Item" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "CreateItemRequest": { - "description": "Create item request payload.", - "required": ["displayName", "type"], - "properties": { - "displayName": { - "description": "The item display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The item description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - }, - "type": { - "description": "The item type.", - "$ref": "../../common/definitions.json#/definitions/ItemType", - "readOnly": false - }, - "folderId": { - "description": "The folder ID. If not specified or null, the item is created with the workspace as its folder.", - "type": "string", - "format": "uuid", - "readOnly": false - }, - "definition": { - "description": "The item definition. The *Create Item* page of the relevant type indicates whether the definition is supported and details its structure. Use `definition` or `creationPayload`. You can't use both at the same time.", - "$ref": "#/definitions/ItemDefinition", - "readOnly": false - }, - "creationPayload": { - "description": "A set of properties used to create the item. The *Create Item* page of the relevant type indicates whether `creationPayload` is supported and lists the item's properties. Use `creationPayload` or `definition`. You can't use both at the same time.", - "type": "object", - "readOnly": false - } - } - }, - "UpdateItemDefinitionRequest": { - "description": "Update item definition request payload.", - "required": ["definition"], - "properties": { - "definition": { - "$ref": "#/definitions/ItemDefinition" - } - } - }, - "ItemDefinitionResponse": { - "description": "Item public definition response.", - "required": ["definition"], - "properties": { - "definition": { - "$ref": "#/definitions/ItemDefinition", - "readOnly": true - } - } - }, - "ItemDefinition" : { - "description": "An item definition object.", - "type": "object", - "required": ["parts"], - "properties": { - "format": { - "description": "The format of the item definition.", - "type": "string", - "readOnly": false - }, - "parts": { - "description": "A list of definition parts.", - "type": "array", - "items": { - "$ref": "#/definitions/ItemDefinitionPart" - }, - "readOnly": false - } - } - }, - "ItemDefinitionPart": { - "description": "An item definition part object.", - "type": "object", - "required": ["path", "payload", "payloadType"], - "properties": { - "path": { - "description": "The item part path.", - "type": "string", - "readOnly": false - }, - "payload": { - "description": "The item part payload.", - "type": "string", - "readOnly": false - }, - "payloadType":{ - "description": "The payload type.", - "$ref": "../../common/definitions.json#/definitions/PayloadType", - "readOnly": false - } - } - }, - "UpdateItemRequest": { - "description": "Update item request.", - "properties": { - "displayName": { - "description": "The item display name. The display name must follow naming rules according to item type.", - "type": "string", - "readOnly": false - }, - "description": { - "description": "The item description. Maximum length is 256 characters.", - "type": "string", - "readOnly": false - } - } - }, - "DataAccessRoles": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of roles that are used to manage data access security and ensure that only authorized users can view certain data. A role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be a Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", - "type": "array", - "items": { - "$ref": "#/definitions/DataAccessRole" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "CreateOrUpdateDataAccessRolesRequest": { - "description": "Contains definition of Roles that are used to manage data access security and ensure that only authorized users can view, edit, or delete certain data. Calling this API updates role definitions and creates, updates, or deletes roles to match the provided payload.", - "type": "object", - "properties": { - "value": { - "description": "A list of roles that are used to manage data access security and ensure that only authorized users can view certain data. A role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be a Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", - "type": "array", - "items": { - "$ref": "#/definitions/DataAccessRole" - } - } - } - }, - "DataAccessRole": { - "description": "A Data access role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Data access roles are used to manage data access security and ensure that only authorized users can view, edit, or delete certain data. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be an Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", - "type": "object", - "required": [ "name", "decisionRules" ], - "properties": { - "id": { - "description": "The unique id for the Data access role.", - "type": "string", - "format": "uuid", - "readOnly": true - }, - "name": { - "description": "The name of the Data access role.", - "type": "string" - }, - "decisionRules": { - "description": "The array of permissions that make up the Data access role.", - "type": "array", - "items": { - "$ref": "#/definitions/DecisionRule" - } - }, - "members": { - "description": "The members object which contains the members of the role as arrays of different member types.", - "type": "object", - "$ref": "#/definitions/Members" - } - } - }, - "DecisionRule": { - "description": "Specifies a rule for matching the requested action. Contains effect (Permit) and Permission which determine whether a user or entity is authorized to perform a specific action (e.g., read) on a resource. Permission is a set of scopes, defined by attributes, that must match the requested action for the rule to apply.", - "type": "object", - "required": [ "permission" ], - "properties": { - "effect": { - "description": "The effect that a role has on access to the data resource. Currently, the only supported effect type is `Permit`, which grants access to the resource. Additional effect types may be added over time.", - "type": "string", - "enum": ["Permit"], - "x-ms-enum": { - "name": "Effect", - "modelAsString": true, - "values": [ - { - "value": "Permit", - "description": "the effect type Permit" - } - ] - } - }, - "permission": { - "description": "The `permission` property is an array that specifies the scope and level of access for a requested action. The array must contain exactly two PermissionScope objects: `Path` and `Action`. The `scope` is defined using the `PermissionScope` object, with `attributeValueIncludedIn` specifying either the location of the resource being accessed or the type of action being granted. The `access` refers to the level of access being granted, such as `Read`.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionScope" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "PermissionScope": { - "description": "Defines a set of attributes (properties) that determine the scope and level of access to a resource. When `attributeName` property is set to `Path`, the `attributeValueIncludedIn` property must specify the location of the resource being accessed, such as \"Tables/Table1\". When the `attributeName` property is set to `Action`, the `attributeValueIncludedIn` property must specify the type of access being granted, such as `Read`.", - "type": "object", - "required": [ "attributeName", "attributeValueIncludedIn" ], - "properties": { - "attributeName": { - "description": "Specifies the name of the attribute that is being evaluated for access permissions. AttributeName can be `Path` or `Action`. Additional attributeName types may be added over time.", - "type": "string", - "enum": [ "Path", "Action" ], - "x-ms-enum": { - "name": "AttributeName", - "modelAsString": true, - "values": [ - { - "value": "Path", - "description": "Attribute name Path" - }, - { - "value": "Action", - "description": "Attribute name Action" - } - ] - } - }, - "attributeValueIncludedIn": { - "description": "Specifies a list of values for the `attributeName` to define the scope and the level of access to a resource. \nWhen `attributeName` is `Path`, `attributeValueIncludedIn` must specify the location of the resource being accessed, such as \"Tables/Table1\".\nWhen `attributeName` is `Action`, the `attributeValueIncludedIn` must specify the type of access being granted, such as `Read`.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Members": { - "description": "The members object which contains the members of the role as arrays of different member types.", - "type": "object", - "properties": { - "fabricItemMembers": { - "description": "A list of members who have a certain permission set in Microsoft Fabric. All members with that permission set are added as members of this Data Access Role.", - "type": "array", - "items": { - "$ref": "#/definitions/FabricItemMember" - } - }, - "microsoftEntraMembers": { - "description": "The list of Microsoft Entra ID members.", - "type": "array", - "items": { - "$ref": "#/definitions/MicrosoftEntraMember" - } - } - } - }, - "MicrosoftEntraMember": { - "description": "Microsoft Entra ID member assigned to the role.", - "type": "object", - "required": [ "tenantId", "objectId" ], - "properties": { - "tenantId": { - "description": "The tenant id.", - "type": "string", - "format": "uuid" - }, - "objectId": { - "description": "The object id.", - "type": "string", - "format": "uuid" - }, - "objectType": { - "description": "The type of Microsoft Entra ID object. Additional objectType types may be added over time.", - "type": "string", - "enum": [ "Group", "User", "ServicePrincipal", "ManagedIdentity" ], - "x-ms-enum": { - "name": "ObjectType", - "modelAsString": true, - "values": [ - { - "value": "Group", - "description": "Attribute name Group" - }, - { - "value": "User", - "description": "Attribute name User" - }, - { - "value": "ServicePrincipal", - "description": "Attribute name ServicePrincipal" - }, - { - "value": "ManagedIdentity", - "description": "Attribute name ManagedIdentity" - } - ] - } - } - } - }, - "FabricItemMember": { - "description": "Fabric item member.", - "type": "object", - "required": [ "itemAccess", "sourcePath" ], - "properties": { - "itemAccess": { - "description": "A list specifying the access permissions for Fabric user to have to be automatically included in the role members. Additional itemAccess types may be added over time.", - "type": "array", - "items": { - "type": "string", - "enum": [ "Read", "Write", "Reshare", "Explore", "Execute", "ReadAll" ], - "x-ms-enum": { - "name": "ItemAccess", - "modelAsString": true, - "values": [ - { - "value": "Read", - "description": "Item Access Read." - }, - { - "value": "Write", - "description": "Item Access Write." - }, - { - "value": "Reshare", - "description": "Item Access Reshare." - }, - { - "value": "Explore", - "description": "Item Access Explore." - }, - { - "value": "Execute", - "description": "Item Access Execute." - }, - { - "value": "ReadAll", - "description": "Item Access ReadAll." - } - ] - } - } - }, - "sourcePath": { - "description": "The path to Fabric item having the specified item access.", - "type": "string", - "pattern": "^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?/[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$" - } - } - }, - "CreateShortcutRequest": { - "description": "A shortcut creation request with an object representing a reference to another storage location.", - "type": "object", - "required": ["path", "name", "target"], - "properties": { - "path": { - "description": "A string representing the full path where the shortcut is created, including either \"Files\" or \"Tables\".", - "type": "string" - }, - "name": { - "description": "Name of the shortcut.", - "type": "string" - }, - "target": { - "description": "An object that contains the target datasource, and it must specify exactly one of the supported destinations: OneLake, Amazon S3, ADLS Gen2, Google Cloud Storage, S3 compatible, Dataverse or Azure Blob storage.", - "type": "object", - "$ref": "#/definitions/CreatableShortcutTarget" - } - } - }, - "Shortcuts": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of shortcuts.", - "type": "array", - "items": { - "$ref": "#/definitions/Shortcut" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "Shortcut": { - "description": "An object representing a reference that points to other storage locations which can be internal or external to OneLake. Shortcut is defined by name, path where the shortcut is created and target specifying the target storage location.", - "type": "object", - "required": ["path", "name", "target"], - "properties": { - "path": { - "description": "A string representing the full path where the shortcut is created, including either \"Files\" or \"Tables\".", - "type": "string" - }, - "name": { - "description": "Name of the shortcut.", - "type": "string" - }, - "target": { - "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations.", - "type": "object", - "$ref": "#/definitions/Target" - } - } - }, - "CreatableShortcutTarget": { - "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations as described in the table below.", - "type": "object", - "properties": { - "oneLake": { - "description": "An object containing the properties of the target OneLake data source.", - "type": "object", - "$ref": "#/definitions/OneLake" - }, - "amazonS3": { - "description": "An object containing the properties of the target Amazon S3 data source.", - "type": "object", - "$ref": "#/definitions/AmazonS3" - }, - "adlsGen2": { - "description": "An object containing the properties of the target ADLS Gen2 data source.", - "type": "object", - "$ref": "#/definitions/AdlsGen2" - }, - "googleCloudStorage": { - "description": "An object containing the properties of the target Google Cloud Storage data source.", - "type": "object", - "$ref": "#/definitions/GoogleCloudStorage" - }, - "s3Compatible": { - "description": "An object containing the properties of the target S3 compatible data source.", - "type": "object", - "$ref": "#/definitions/S3Compatible" - }, - "dataverse": { - "description": "An object containing the properties of the target Dataverse data source.", - "type": "object", - "$ref": "#/definitions/Dataverse" - }, - "azureBlobStorage": { - "description": "An object containing the properties of the target Azure Blob Storage data source.", - "type": "object", - "$ref": "#/definitions/AzureBlobStorage" - } - } - }, - "Target": { - "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations as described in the table below.", - "type": "object", - "required": ["type"], - "properties": { - "type": { - "description": "The type object contains properties like target shortcut account type. Additional types may be added over time.", - "type": "string", - "enum": ["OneLake", "AmazonS3", "AdlsGen2", "GoogleCloudStorage", "S3Compatible", "Dataverse", "ExternalDataShare", "AzureBlobStorage"], - "x-ms-enum": { - "name": "Type", - "modelAsString": true, - "values": [ - { - "value": "OneLake", - "description": "OneLake" - }, - { - "value": "AmazonS3", - "description": "AmazonS3" - } - , - { - "value": "AdlsGen2", - "description": "AdlsGen2" - } - , - { - "value": "GoogleCloudStorage", - "description": "GoogleCloudStorage" - } - , - { - "value": "S3Compatible", - "description": "S3Compatible" - } - , - { - "value": "Dataverse", - "description": "Dataverse" - } - , - { - "value": "ExternalDataShare", - "description": "ExternalDataShare" - } - , - { - "value": "AzureBlobStorage", - "description": "AzureBlobStorage" - } - ] - } - }, - "oneLake": { - "description": "An object containing the properties of the target OneLake data source.", - "type": "object", - "$ref": "#/definitions/OneLake" - }, - "amazonS3": { - "description": "An object containing the properties of the target Amazon S3 data source.", - "type": "object", - "$ref": "#/definitions/AmazonS3" - }, - "adlsGen2": { - "description": "An object containing the properties of the target ADLS Gen2 data source.", - "type": "object", - "$ref": "#/definitions/AdlsGen2" - }, - "googleCloudStorage": { - "description": "An object containing the properties of the target Google Cloud Storage data source.", - "type": "object", - "$ref": "#/definitions/GoogleCloudStorage" - }, - "s3Compatible": { - "description": "An object containing the properties of the target S3 compatible data source.", - "type": "object", - "$ref": "#/definitions/S3Compatible" - }, - "dataverse": { - "description": "An object containing the properties of the target Dataverse data source.", - "type": "object", - "$ref": "#/definitions/Dataverse" - }, - "externalDataShare": { - "description": "An object containing the properties of the target external data share.", - "type": "object", - "$ref": "#/definitions/ExternalDataShareTarget" - }, - "azureBlobStorage": { - "description": "An object containing the properties of the target Azure Blob Storage data source.", - "type": "object", - "$ref": "#/definitions/AzureBlobStorage" - } - } - }, - "OneLake": { - "description": "An object containing the properties of the target OneLake data source.", - "type": "object", - "required": [ "itemId", "workspaceId", "path" ], - "properties": { - "itemId": { - "description": "The ID of the target in OneLake. The target can be an item of Lakehouse, KQLDatabase, or Warehouse. ", - "type": "string", - "format": "uuid" - }, - "workspaceId": { - "description": "The ID of the target workspace.", - "type": "string", - "format": "uuid" - }, - "path": { - "description": "A string representing the full path to the target folder within the Item. This path should be relative to the root of the OneLake directory structure. For example: \"Tables/myTablesFolder/someTableSubFolder\".", - "type": "string" - } - } - }, - "AmazonS3": { - "description": "An object containing the properties of the target Amazon S3 data source.", - "type": "object", - "required": ["location", "connectionId"], - "properties": { - "location": { - "description": "HTTP URL that points to the target bucket in S3. The URL should be in the format https://[bucket-name].s3.[region-code].amazonaws.com, where \"bucket-name\" is the name of the S3 bucket you want to point to, and \"region-code\" is the code for the region where the bucket is located. For example: https://my-s3-bucket.s3.us-west-2.amazonaws.com", - "type": "string", - "format": "uri" - }, - "subpath": { - "description": "Specifies a target folder or subfolder within the S3 bucket.", - "type": "string" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Amazon S3 data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", - "type": "string", - "format": "uuid" - } - } - }, - "AdlsGen2": { - "description": "An object containing the properties of the target ADLS Gen2 data source.", - "type": "object", - "required": ["location", "subpath", "connectionId"], - "properties": { - "location": { - "description": "Specifies the location of the target ADLS container. The URI must be in the format https://[account-name].dfs.core.windows.net where [account-name] is the name of the target ADLS account.", - "type": "string", - "format": "uri" - }, - "subpath": { - "description": "Specifies the container and subfolder within the ADLS account where the target folder is located. Must be of the format [container]/[subfolder] where [container] is the name of the container that holds the files and folders; [subfolder] is the name of the subfolder within the container (optional). For example: /mycontainer/mysubfolder", - "type": "string" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the ADLS data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", - "type": "string", - "format": "uuid" - } - } - }, - "GoogleCloudStorage": { - "description": "An object containing the properties of the target Google Cloud Storage data source.", - "type": "object", - "required": ["location", "subpath", "connectionId"], - "properties": { - "location": { - "description": "HTTP URL that points to the target bucket in GCS. The URL should be in the format https://[bucket-name].storage.googleapis.com, where [bucket-name] is the name of the bucket you want to point to. For example: https://my-gcs-bucket.storage.googleapis.com", - "type": "string", - "format": "uri" - }, - "subpath": { - "description": "Specifies a target folder or subfolder within the GCS bucket. For example: /folder", - "type": "string" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", - "type": "string", - "format": "uuid" - } - } - }, - "S3Compatible": { - "description": "An object containing the properties of the target S3 compatible data source.", - "type": "object", - "required": ["location", "subpath", "bucket", "connectionId"], - "properties": { - "location": { - "description": "HTTP URL of the S3 compatible endpoint. This endpoint must be able to receive ListBuckets S3 API calls. The URL must be in the non-bucket specific format; no bucket should be specified here. For example: https://s3endpoint.contoso.com", - "type": "string", - "format": "uri" - }, - "subpath": { - "description": "Specifies a target folder or subfolder within the S3 compatible bucket. For example: /folder", - "type": "string" - }, - "bucket": { - "description": "Specifies the target bucket within the S3 compatible location.", - "type": "string" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", - "type": "string", - "format": "uuid" - } - } - }, - "Dataverse": { - "description": "An object containing the properties of the target Dataverse data source.", - "type": "object", - "required": ["environmentDomain", "connectionId", "deltaLakeFolder", "tableName"], - "properties": { - "environmentDomain": { - "description": "URI that indicates the Dataverse target environment's domain name. The URI should be formatted as \"https://[orgname].crm[xx].dynamics.com\", where `[orgname]` represents the name of your Dataverse organization.", - "type": "string", - "format": "uri" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Dataverse data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", - "type": "string", - "format": "uuid" - }, - "deltaLakeFolder": { - "description": "Specifies the DeltaLake folder path where the target data is stored.", - "type": "string" - }, - "tableName": { - "description": "Specifies the name of the target table in Dataverse ", - "type": "string" - } - } - }, - "AzureBlobStorage": { - "description": "An object containing the properties of the target Azure Blob Storage data source.", - "type": "object", - "required": ["location", "subpath", "connectionId"], - "properties": { - "location": { - "description": "Specifies the location of the target Azure Blob Storage container. The URI must be in the format `https://[account-name].blob.core.windows.net` where `[account-name]` is the name of the target Azure Blob Storage account.", - "type": "string", - "format": "uri" - }, - "subpath": { - "description": "Specifies the container and subfolder within the Azure Blob Storage account where the target folder is located. Must be of the format [container]/[subfolder]. [Container] is the name of the container that holds the files and folders. [Subfolder] is the name of the subfolder within the container and is optional. For example: /mycontainer/mysubfolder", - "type": "string" - }, - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Azure Blob Storage data location. Open the cloud connection's settings view and copy the GUID that is the connection ID.", - "type": "string", - "format": "uuid" - } - } - }, - "ExternalDataShareTarget": { - "description": "An object containing the properties of the target external data share.", - "type": "object", - "required": ["connectionId"], - "properties": { - "connectionId": { - "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", - "type": "string", - "format": "uuid" - } - } - }, - "RunOnDemandItemJobRequest": { - "description": "Run on demand item job instance payload", - "properties": { - "executionData": { - "description": "Payload for run on-demand job request. Needed only if the job type requires a payload.", - "type": "object" - } - } - }, - "ItemJobInstances": { - "required": ["value"], - "type": "object", - "properties": { - "value": { - "description": "A list of item job instances.", - "type": "array", - "items": { - "$ref": "#/definitions/ItemJobInstance" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "ItemJobInstance": { - "description": "An object representing item job instance", - "type": "object", - "properties": { - "id": { - "description": "Job instance Id", - "type": "string", - "format": "uuid" - }, - "itemId": { - "description": "Item Id", - "type": "string", - "format": "uuid" - }, - "jobType": { - "description": "Job type", - "type": "string" - }, - "invokeType": { - "description": "The item job invoke type. Additional invokeTypes may be added over time.", - "type": "string", - "enum": ["Scheduled", "Manual"], - "x-ms-enum": { - "name": "InvokeType", - "modelAsString": true, - "values": [ - { - "value": "Scheduled", - "description": "Job is scheduled" - }, - { - "value": "Manual", - "description": "Job is invoked manually" - } - ] - } - }, - "status": { - "description": "The item job status. Additional statuses may be added over time.", - "type": "string", - "enum": ["NotStarted", "InProgress", "Completed", "Failed", "Cancelled", "Deduped"], - "x-ms-enum": { - "name": "Status", - "modelAsString": true, - "values": [ - { - "value": "NotStarted", - "description": "Job not started" - }, - { - "value": "InProgress", - "description": "Job in progress" - }, - { - "value": "Completed", - "description": "Job completed" - }, - { - "value": "Failed", - "description": "Job failed" - }, - { - "value": "Cancelled", - "description": "Job cancelled" - }, - { - "value": "Deduped", - "description": "A job instance of the same job type is already running and this job instance is skipped" - } - ] - } - }, - "rootActivityId": { - "description": "Root activity id to trace requests across services", - "type": "string" - }, - "startTimeUtc": { - "description": "Job start time in UTC", - "type": "string" - }, - "endTimeUtc": { - "description": "Job end time in UTC", - "type": "string" - }, - "failureReason": { - "description": "Error response when job is failed", - "type": "object", - "$ref": "../../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "OperationState": { - "description": "An object describing the details and current state of a long running operation", - "type": "object", - "required": ["status", "createdTimeUtc", "lastUpdatedTimeUtc"], - "properties": { - "status": { - "type": "string", - "description": "The current status of the operation. Additional operation statuses may be added over time.", - "enum": [ - "Undefined", - "NotStarted", - "Running", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "LongRunningOperationStatus", - "modelAsString": true, - "values": [ - { - "value": "Undefined", - "description": "The status of the operation is undefined" - }, - { - "value": "NotStarted", - "description": "The operation didn't start" - }, - { - "value": "Running", - "description": "The operation is running" - }, - { - "value": "Succeeded", - "description": "The operation has finished successfully" - }, - { - "value": "Failed", - "description": "The operation has failed" - } - ] - } - }, - "createdTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The start date and time of the operation" - }, - "lastUpdatedTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The date and time of the last change to the operation" - }, - "percentComplete": { - "type": "integer", - "description": "Operation progress as a percentage", - "format": "int32", - "minimum": 0, - "maximum": 100 - }, - "error": { - "description": "The error details in case the operation is in failed state", - "$ref": "../../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "ItemSchedules": { - "description": "list of schedules for this item.", - "required": ["value"], - "type": "object", - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ], - "properties": { - "value": { - "description": "list of schedules for this item.", - "type": "array", - "items": { - "$ref": "#/definitions/ItemSchedule" - } - } - } - }, - "ScheduleConfig": { - "description": "Item schedule plan detail settings.", - "type": "object", - "discriminator": "type", - "required": ["type", "startDateTime", "endDateTime", "localTimeZoneId"], - "properties": { - "type": { - "description": "A string represents the type of the plan. Additional planType types may be added over time.", - "type": "string", - "enum": ["Cron", "Daily", "Weekly"], - "x-ms-enum": { - "name": "ScheduleType", - "modelAsString": true, - "values": [ - { - "value": "Cron", - "description": "A type of schedule triggers jobs periodically." - }, - { - "value": "Daily", - "description": "A type of schedule triggers jobs daily." - }, - { - "value": "Weekly", - "description": "A type of schedule triggers jobs by the week." - } - ] - } - }, - "startDateTime": { - "description": "The start time for this schedule. If the start time is in the past, it will trigger a job instantly. The time is in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", - "type": "string", - "format": "date-time" - }, - "endDateTime": { - "description": "The end time for this schedule. The end time must be later than the start time. It has to be in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", - "type": "string", - "format": "date-time" - }, - "localTimeZoneId": { - "description": "The time zone identifier registry on local computer for windows, see [Default Time Zones](/windows-hardware/manufacture/desktop/default-time-zones)", - "type": "string" - } - } - }, - "CronScheduleConfig": { - "type": "object", - "x-ms-discriminator-value": "Cron", - "allOf": [ - { - "$ref": "#/definitions/ScheduleConfig" - } - ], - "required": ["interval"], - "properties": { - "interval": { - "description": "The time interval in minutes. A number between 1 and 5270400 (10 years).", - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 5270400 - } - } - }, - "DailyScheduleConfig": { - "type": "object", - "x-ms-discriminator-value": "Daily", - "allOf": [ - { - "$ref": "#/definitions/ScheduleConfig" - } - ], - "required": ["times"], - "properties": { - "times": { - "description": "A list of time slots in hh:mm format, at most 100 elements are allowed.", - "type": "array", - "items": { - "description": "Time slots in hh:mm format.", - "type": "string" - }, - "minItems": 1, - "maxItems": 100 - } - } - }, - "WeeklyScheduleConfig": { - "type": "object", - "x-ms-discriminator-value": "Weekly", - "allOf": [ - { - "$ref": "#/definitions/ScheduleConfig" - } - ], - "required": ["times", "weekdays"], - "properties": { - "times": { - "description": "A list of time slots in hh:mm format, at most 100 elements are allowed.", - "type": "array", - "items": { - "description": "Time slots in hh:mm format.", - "type": "string" - }, - "minItems": 1, - "maxItems": 100 - }, - "weekdays": { - "description": "A list of weekdays, at most seven elements are allowed.", - "type": "array", - "items": { - "description": "Days of the week", - "type": "string", - "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": true, - "values": [ - { - "value": "Monday", - "description": "Monday" - }, - { - "value": "Tuesday", - "description": "Tuesday" - }, - { - "value": "Wednesday", - "description": "Wednesday" - }, - { - "value": "Thursday", - "description": "Thursday" - }, - { - "value": "Friday", - "description": "Friday" - }, - { - "value": "Saturday", - "description": "Saturday" - }, - { - "value": "Sunday", - "description": "Sunday" - } - ] - } - }, - "minItems": 1, - "maxItems": 7 - } - } - }, - "ItemSchedule": { - "description": "Item schedule.", - "type": "object", - "required": ["id", "enabled"], - "properties": { - "id" : { - "description": "The schedule ID.", - "type": "string", - "format": "uuid" - }, - "enabled": { - "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", - "type": "boolean" - }, - "createdDateTime": { - "description": "The created time stamp of this schedule in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", - "type": "string", - "format": "date-time" - }, - "configuration": { - "description": "The actual data contains the time/weekdays of this schedule.", - "$ref": "#/definitions/ScheduleConfig" - }, - "owner": { - "description": "The user identity that created this schedule or last modified.", - "$ref": "../../common/definitions.json#/definitions/Principal" - } - } - }, - "CreateScheduleRequest": { - "description": "Create item schedule plan request payload.", - "type": "object", - "required": ["enabled", "configuration"], - "properties": { - "enabled": { - "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", - "type": "boolean" - }, - "configuration": { - "description": "The actual data contains the time/weekdays of this schedule.", - "$ref": "#/definitions/ScheduleConfig" - } - } - }, - "UpdateScheduleRequest": { - "description": "Update item schedule plan request payload.", - "required": ["enabled", "configuration"], - "properties": { - "enabled": { - "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", - "type": "boolean" - }, - "configuration": { - "description": "The actual data contains the time/weekdays of this schedule.", - "$ref": "#/definitions/ScheduleConfig" - } - } - }, - "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." - } - } - }, - "Folders": { - "type": "object", - "properties": { - "value": { - "description": "A list of folders.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "../../common/definitions.json#/definitions/Folder" - } - } - }, - "allOf": [ - { - "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" - } - ] - }, - "CreateFolderRequest": { - "description": "Create folder request payload.", - "required": ["displayName"], - "properties": { - "displayName": { - "description": "The folder display name. The name must meet [Folder name requirements](/fabric/get-started/workspaces-folders#folder-name-requirements)", - "type": "string", - "readOnly": false - }, - "parentFolderId": { - "description": "The parent folder ID. If not specified or null, the folder is created with the workspace as its parent folder.", - "type": "string", - "format": "uuid", - "readOnly": false - } - } - }, - "UpdateFolderRequest": { - "description": "Update folder request.", - "required": ["displayName"], - "properties": { - "displayName": { - "description": "The folder display name. The name must meet [Folder name requirements](/fabric/get-started/workspaces-folders#folder-name-requirements)", - "type": "string", - "readOnly": false - } - } - }, - "MoveFolderRequest": { - "description": "Move folder request.", - "properties": { - "targetFolderId": { - "description": "The destination folder ID. If not provided, the workspace is used as the destination folder.", - "type": "string", - "format": "uuid", - "readOnly": false - } - } + "definitions": { + "Workspaces": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Workspace": { + "description": "A workspace object.", + "type": "object", + "required": [ "id", "displayName", "description" ], + "properties": { + "id": { + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "displayName": { + "description": "The workspace display name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The workspace description.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The workspace type.", + "$ref": "../../common/definitions.json#/definitions/WorkspaceType", + "readOnly": true + }, + "capacityId": { + "description": "The ID of the capacity the workspace is assigned to.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "apiEndpoint": { + "description": "HTTP URL that represents the API endpoint specific to the workspace. This endpoint value is returned when the user enables preferWorkspaceSpecificEndpoints. It allows for API access over private links.", + "type": "string", + "format": "uri", + "readOnly": true + }, + "domainId": { + "description": "The ID of the domain the workspace is assigned to.", + "type": "string", + "format": "uuid", + "readOnly": true + } + }, + "readOnly": true + }, + "WorkspaceInfo": { + "description": "A workspace object.", + "type": "object", + "required": [ "id", "displayName", "description" ], + "allOf": [ + { + "$ref": "#/definitions/Workspace" + } + ], + "properties": { + "capacityAssignmentProgress": { + "description": "The status of the workspace's capacity assignment progress.", + "$ref": "#/definitions/CapacityAssignmentProgress", + "readOnly": true + }, + "workspaceIdentity": { + "description": "The workspace identity.", + "$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", + "readOnly": true + } + }, + "readOnly": true + }, + "CapacityRegion": { + "type": "string", + "description": "The region of the capacity associated with this workspace. Additional capacity region values may be added over time.", + "enum": [ + "Australia East", + "Australia Southeast", + "Brazil South", + "Brazil Southeast", + "Canada Central", + "Canada East", + "Central India", + "Central US", + "Central US EUAP", + "East Asia", + "East US", + "East US 2", + "France Central", + "France South", + "Germany Central", + "Germany Northeast", + "Israel Central", + "Italy North", + "Japan East", + "Japan West", + "Korea Central", + "Korea South", + "Mexico Central", + "North Central US", + "North Europe", + "Norway East", + "Norway West", + "Poland Central", + "South Africa North", + "South Africa West", + "South Central US", + "South India", + "Southeast Asia", + "Spain Central", + "Sweden Central", + "Switzerland North", + "Switzerland West", + "West Europe", + "West India", + "West US", + "West US 2", + "West US 3", + "West Central US", + "UAE Central", + "UAE North", + "Qatar Central", + "Germany West Central", + "Germany North", + "UK South", + "UK West", + "China North", + "China East", + "China East 2", + "China East 3", + "China North 2", + "China North 3" + ], + "x-ms-enum": { + "modelAsString": true, + "values": [ + { + "value": "Australia East", + "description": "Australia East region" + }, + { + "value": "Australia Southeast", + "description": "Australia Southeast region" + }, + { + "value": "Brazil South", + "description": "Brazil South region" + }, + { + "value": "Brazil Southeast", + "description": "Brazil Southeast region" + }, + { + "value": "Canada Central", + "description": "Canada Central region" + }, + { + "value": "Canada East", + "description": "Canada East region" + }, + { + "value": "Central India", + "description": "Central India region" + }, + { + "value": "Central US", + "description": "Central US region" + }, + { + "value": "Central US EUAP", + "description": "Central US EUAP region" + }, + { + "value": "East Asia", + "description": "East Asia region" + }, + { + "value": "East US", + "description": "East US region" + }, + { + "value": "East US 2", + "description": "East US 2 region" + }, + { + "value": "France Central", + "description": "France Central region" + }, + { + "value": "France South", + "description": "France South region" + }, + { + "value": "Germany Central", + "description": "Germany Central region" + }, + { + "value": "Germany Northeast", + "description": "Germany Northeast region" + }, + { + "value": "Israel Central", + "description": "Israel Central region" + }, + { + "value": "Italy North", + "description": "Italy North region" + }, + { + "value": "Japan East", + "description": "Japan East region" + }, + { + "value": "Japan West", + "description": "Japan West region" + }, + { + "value": "Korea Central", + "description": "Korea Central region" + }, + { + "value": "Korea South", + "description": "Korea South region" + }, + { + "value": "Mexico Central", + "description": "Mexico Central region" + }, + { + "value": "North Central US", + "description": "North Central US region" + }, + { + "value": "North Europe", + "description": "North Europe region" + }, + { + "value": "Norway East", + "description": "Norway East region" + }, + { + "value": "Norway West", + "description": "Norway West region" + }, + { + "value": "Poland Central", + "description": "Poland Central region" + }, + { + "value": "South Africa North", + "description": "South Africa North region" + }, + { + "value": "South Africa West", + "description": "South Africa West region" + }, + { + "value": "South Central US", + "description": "South Central US region" + }, + { + "value": "South India", + "description": "South India region" + }, + { + "value": "Southeast Asia", + "description": "Southeast Asia region" + }, + { + "value": "Spain Central", + "description": "Spain Central region" + }, + { + "value": "Sweden Central", + "description": "Sweden Central region" + }, + { + "value": "Switzerland North", + "description": "Switzerland North region" + }, + { + "value": "Switzerland West", + "description": "Switzerland West region" + }, + { + "value": "West Europe", + "description": "West Europe region" + }, + { + "value": "West India", + "description": "West India region" + }, + { + "value": "West US", + "description": "West US region" + }, + { + "value": "West US 2", + "description": "West US 2 region" + }, + { + "value": "West US 3", + "description": "West US 3 region" + }, + { + "value": "West Central US", + "description": "West Central US region" + }, + { + "value": "UAE Central", + "description": "UAE Central region" + }, + { + "value": "UAE North", + "description": "UAE North region" + }, + { + "value": "Qatar Central", + "description": "Qatar Central region" + }, + { + "value": "Germany West Central", + "description": "Germany West Central region" + }, + { + "value": "Germany North", + "description": "Germany North region" + }, + { + "value": "UK South", + "description": "UK South region" + }, + { + "value": "UK West", + "description": "UK West region" + }, + { + "value": "China North", + "description": "China North region" + }, + { + "value": "China East", + "description": "China East region" + }, + { + "value": "China East 2", + "description": "China East 2 region" + }, + { + "value": "China East 3", + "description": "China East 3 region" + }, + { + "value": "China North 2", + "description": "China North 2 region" + }, + { + "value": "China North 3", + "description": "China North 3 region" + } + ] + } + }, + "OneLakeEndpoints": { + "description": "The OneLake API endpoints associated with this workspace.", + "type": "object", + "properties": { + "blobEndpoint": { + "description": "The OneLake API endpoint available for Blob API operations. By default, this is a region specific endpoint. If the user enables preferWorkspaceSpecificEndpoints or the workspace has public access disabled, the workspace-specific endpoint is provided to allow for access over private links.", + "type": "string", + "readOnly": true + }, + "dfsEndpoint": { + "description": "The OneLake API endpoint available for Distributed File System (DFS) or ADLSgen2 filesystem API operations. By default, this is a region specific endpoint. If the user enables preferWorkspaceSpecificEndpoints or the workspace has public access disabled, the workspace-specific endpoint is provided to allow for access over private links.", + "type": "string", + "readOnly": true + } + } + }, + "CreateWorkspaceRequest": { + "description": "Create workspace request payload.", + "required": [ "displayName" ], + "properties": { + "displayName": { + "description": "The workspace display name.
The display name cannot contain more than 256 characters.
Only unused workspace names are allowed.
\"Admin monitoring\" is a reserved workspace name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The workspace description.
The description cannot contain more than 4000 characters.", + "type": "string", + "readOnly": false + }, + "capacityId": { + "description": "The ID of the capacity to assign the workspace to.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "domainId": { + "description": "The ID of the domain to assign the workspace to.", + "type": "string", + "format": "uuid", + "readOnly": false + } + } + }, + "UpdateWorkspaceRequest": { + "description": "Update workspace request payload.", + "properties": { + "displayName": { + "description": "The workspace display name.
The display name cannot contain more than 256 characters.
Workspace names must be unique within the tenant.
\"Admin monitoring\" is a reserved workspace name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The workspace description.
The description cannot contain more than 4000 characters.", + "type": "string", + "readOnly": false + } + } + }, + "UpdateWorkspaceRoleAssignmentRequest": { + "description": "Update workspace role assignment request payload.", + "required": [ "role" ], + "properties": { + "role": { + "description": "The workspace role of the principal.", + "$ref": "../../common/definitions.json#/definitions/WorkspaceRole", + "readOnly": false + } + } + }, + "WorkspaceRoleAssignments": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "description": "A list of workspace role assignments.", + "$ref": "#/definitions/WorkspaceRoleAssignment" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "AddWorkspaceRoleAssignmentRequest": { + "type": "object", + "description": "Add workspace role assignment request payload.", + "required": [ "principal", "role" ], + "properties": { + "principal": { + "description": "The principal.", + "$ref": "../../common/definitions.json#/definitions/Principal" + }, + "role": { + "description": "The workspace role of the principal.", + "$ref": "../../common/definitions.json#/definitions/WorkspaceRole" + } + } + }, + "WorkspaceRoleAssignment": { + "type": "object", + "description": "A workspace role assignment object.", + "required": [ "id", "principal", "role" ], + "properties": { + "id": { + "description": "The workspace role assignment ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "principal": { + "description": "The principal.", + "$ref": "../../common/definitions.json#/definitions/Principal", + "readOnly": true + }, + "role": { + "description": "The workspace role of the principal.", + "$ref": "../../common/definitions.json#/definitions/WorkspaceRole", + "readOnly": true + } + } + }, + "Capacities": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of capacities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capacity" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Capacity": { + "description": "A capacity object.", + "type": "object", + "required": [ "id", "displayName", "sku", "region", "state" ], + "properties": { + "id": { + "description": "The capacity ID.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "displayName": { + "description": "The capacity display name.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The capacity SKU.", + "type": "string", + "readOnly": true + }, + "region": { + "description": "The Azure region where the capacity was provisioned.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The capacity state.", + "$ref": "#/definitions/CapacityState", + "readOnly": true + } + }, + "readOnly": true + }, + "CapacityState": { + "type": "string", + "description": "A Capacity state. Additional capacity states may be added over time.", + "enum": [ "Active", "Inactive" ], + "x-ms-enum": { + "name": "CapacityState", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "The capacity is ready to use." + }, + { + "value": "Inactive", + "description": "The capacity can't be used." + } + ] + } + }, + "AssignWorkspaceToCapacityRequest": { + "type": "object", + "description": "A capacity assignment request.", + "required": [ "capacityId" ], + "properties": { + "capacityId": { + "description": "The ID of the capacity the workspace should be assigned to.", + "type": "string", + "format": "uuid" + } + } + }, + "CapacityAssignmentProgress": { + "type": "string", + "description": "A Workspace assignment to capacity progress status. Additional capacity assignment progress values may be added over time.", + "enum": [ "Completed", "Failed", "InProgress" ], + "x-ms-enum": { + "name": "CapacityAssignmentProgress", + "modelAsString": true, + "values": [ + { + "value": "Completed", + "description": "Last capacity assignment operation was completed successfully." + }, + { + "value": "Failed", + "description": "Capacity assignment operation has encountered an error or failure and was unable to complete." + }, + { + "value": "InProgress", + "description": "Capacity assignment operation is currently running and has not yet completed." + } + ] + }, + "readOnly": true + }, + "WorkspaceIdentity": { + "type": "object", + "description": "A workspace identity object.", + "required": [ "applicationId", "servicePrincipalId" ], + "properties": { + "applicationId": { + "description": "The application ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalId": { + "description": "The service principal ID.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "AssignWorkspaceToDomainRequest": { + "type": "object", + "description": "A domain assignment request.", + "required": ["domainId"], + "properties": { + "domainId": { + "description": "The ID of the domain the workspace should be assigned to.", + "type": "string", + "format": "uuid" + } + } + }, + "Items": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of items.", + "type": "array", + "items": { + "$ref": "../../common/definitions.json#/definitions/Item" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateItemRequest": { + "description": "Create item request payload.", + "required": [ "displayName", "type" ], + "properties": { + "displayName": { + "description": "The item display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The item description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "type": { + "description": "The item type.", + "$ref": "../../common/definitions.json#/definitions/ItemType", + "readOnly": false + }, + "folderId": { + "description": "The folder ID. If not specified or null, the item is created with the workspace as its folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "definition": { + "description": "The item definition. The *Create Item* page of the relevant type indicates whether the definition is supported and details its structure. Use `definition` or `creationPayload`. You can't use both at the same time.", + "$ref": "#/definitions/ItemDefinition", + "readOnly": false + }, + "creationPayload": { + "description": "A set of properties used to create the item. The *Create Item* page of the relevant type indicates whether `creationPayload` is supported and lists the item's properties. Use `creationPayload` or `definition`. You can't use both at the same time.", + "type": "object", + "readOnly": false + } + } + }, + "UpdateItemDefinitionRequest": { + "description": "Update item definition request payload.", + "required": [ "definition" ], + "properties": { + "definition": { + "$ref": "#/definitions/ItemDefinition" + } + } + }, + "ItemDefinitionResponse": { + "description": "Item public definition response.", + "required": [ "definition" ], + "properties": { + "definition": { + "$ref": "#/definitions/ItemDefinition", + "readOnly": true + } + } + }, + "ItemDefinition": { + "description": "An item definition object.", + "type": "object", + "required": [ "parts" ], + "properties": { + "format": { + "description": "The format of the item definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/ItemDefinitionPart" + }, + "readOnly": false + } + } + }, + "ItemDefinitionPart": { + "description": "An item definition part object.", + "type": "object", + "required": [ "path", "payload", "payloadType" ], + "properties": { + "path": { + "description": "The item part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The item part payload.", + "type": "string", + "readOnly": false + }, + "payloadType": { + "description": "The payload type.", + "$ref": "../../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateItemRequest": { + "description": "Update item request.", + "properties": { + "displayName": { + "description": "The item display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The item description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + }, + "DataAccessRoles": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of roles that are used to manage data access security and ensure that only authorized users can view certain data. A role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be a Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", + "type": "array", + "items": { + "$ref": "#/definitions/DataAccessRole" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateOrUpdateDataAccessRolesRequest": { + "description": "Contains definition of Roles that are used to manage data access security and ensure that only authorized users can view, edit, or delete certain data. Calling this API updates role definitions and creates, updates, or deletes roles to match the provided payload.", + "type": "object", + "properties": { + "value": { + "description": "A list of roles that are used to manage data access security and ensure that only authorized users can view certain data. A role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be a Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", + "type": "array", + "items": { + "$ref": "#/definitions/DataAccessRole" + } + } + } + }, + "DataAccessRole": { + "description": "A Data access role represents a set of permissions and permission scopes that define what actions its members are allowed to perform for the data in scope. Data access roles are used to manage data access security and ensure that only authorized users can view, edit, or delete certain data. Members are users or groups who have been granted the role, and they can read the data based on the permissions assigned to the role. For example, a member can be an Microsoft Entra ID group and permission scope can be a Read Action applied on the given Path to File, Folder(s) or Table(s) in OneLake.", + "type": "object", + "required": [ "name", "decisionRules" ], + "properties": { + "id": { + "description": "The unique id for the Data access role.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "name": { + "description": "The name of the Data access role.", + "type": "string" + }, + "decisionRules": { + "description": "The array of permissions that make up the Data access role.", + "type": "array", + "items": { + "$ref": "#/definitions/DecisionRule" + } + }, + "members": { + "description": "The members object which contains the members of the role as arrays of different member types.", + "type": "object", + "$ref": "#/definitions/Members" + } + } + }, + "DecisionRule": { + "description": "Specifies a rule for matching the requested action. Contains effect (Permit) and Permission which determine whether a user or entity is authorized to perform a specific action (e.g., read) on a resource. Permission is a set of scopes, defined by attributes, that must match the requested action for the rule to apply.", + "type": "object", + "required": [ "permission" ], + "properties": { + "effect": { + "description": "The effect that a role has on access to the data resource. Currently, the only supported effect type is `Permit`, which grants access to the resource. Additional effect types may be added over time.", + "type": "string", + "enum": [ "Permit" ], + "x-ms-enum": { + "name": "Effect", + "modelAsString": true, + "values": [ + { + "value": "Permit", + "description": "the effect type Permit" + } + ] + } + }, + "permission": { + "description": "The `permission` property is an array that specifies the scope and level of access for a requested action. The array must contain exactly two PermissionScope objects: `Path` and `Action`. The `scope` is defined using the `PermissionScope` object, with `attributeValueIncludedIn` specifying either the location of the resource being accessed or the type of action being granted. The `access` refers to the level of access being granted, such as `Read`.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionScope" + }, + "minItems": 2, + "maxItems": 2 + }, + "constraints": { + "description": "Any constraints such as row or column level security that are applied to tables as part of this role. If not included, no constraints apply to any tables in the role. ", + "type": "object" , + "properties": { + "columns": { + "description": "The array of column constraints applied to one or more tables in the data access role.", + "type": "array", + "items": { + "$ref": "#/definitions/ColumnConstraint" + } + }, + "rows": { + "description": "The array of row constraints applied to one or more tables in the data access role.", + "type": "array", + "items": { + "$ref": "#/definitions/RowConstraint" + } + } + } + } + } + }, + "PermissionScope": { + "description": "Defines a set of attributes (properties) that determine the scope and level of access to a resource. When `attributeName` property is set to `Path`, the `attributeValueIncludedIn` property must specify the location of the resource being accessed, such as \"Tables/Table1\". When the `attributeName` property is set to `Action`, the `attributeValueIncludedIn` property must specify the type of access being granted, such as `Read`.", + "type": "object", + "required": [ "attributeName", "attributeValueIncludedIn" ], + "properties": { + "attributeName": { + "description": "Specifies the name of the attribute that is being evaluated for access permissions. AttributeName can be `Path` or `Action`. Additional attributeName types may be added over time.", + "type": "string", + "enum": [ "Path", "Action" ], + "x-ms-enum": { + "name": "AttributeName", + "modelAsString": true, + "values": [ + { + "value": "Path", + "description": "Attribute name Path" + }, + { + "value": "Action", + "description": "Attribute name Action" + } + ] + } + }, + "attributeValueIncludedIn": { + "description": "Specifies a list of values for the `attributeName` to define the scope and the level of access to a resource. \nWhen `attributeName` is `Path`, `attributeValueIncludedIn` must specify the location of the resource being accessed, such as \"Tables/Table1\".\nWhen `attributeName` is `Action`, the `attributeValueIncludedIn` must specify the type of access being granted, such as `Read`.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ColumnConstraint": { + "description": "ColumnConstraint indicates a constraint that determines the permissions and visibility a user has on columns within a table.", + "type": "object", + "required": ["tablePath", "columnNames", "columnAction", "columnEffect"], + "properties": { + "tablePath": { + "description": "A relative file path specifying which table the column constraint applies to. This should be in the form of `/Tables/{optionalSchema}/{tableName}`. Only one value can be given here and the tableName must be a table included in the PermissionScope.", + "type": "string" + }, + "columnNames": { + "description": "An array of case sensitive column names. Each value is a column name from the table specified in `tablePath`. Use these columns with `columnEffect` and `columnAction`. Columns that aren't listed get the default value null. Use `*` to indicate all columns in the table.", + "type": "array", + "items": { + "type": "string" + } + }, + "columnEffect": { + "description": "The effect given to the columnNames. The only allowed value is *Permit*. Additional columnEffect types may be added over time.", + "type": "string", + "enum": [ "Permit" ], + "x-ms-enum": { + "name": "ColumnEffect", + "modelAsString": true, + "values": [ + { + "value": "Permit", + "description": "The ColumnEffect type Permit" + } + ] + } + }, + "columnAction": { + "description": "The array of actions applied to the columnNames. This determines which actions a user will be able to perform on columns. The allowed values are: *Read*. Additional columnAction types may be added over time.", + "type": "array", + "items": { + "type": "string", + "enum": ["Read"], + "x-ms-enum": { + "name": "ColumnAction", + "modelAsString": true, + "values": [ + { + "value": "Read", + "description": "The ColumnAction value Read" + } + ] + } + } + } + } + }, + "RowConstraint": { + "description": "RowConstraint indicates a constraint that determines the rows in a table that users can see. Roles defined with RowConstraints use T-SQL to define a predicate that filters data in a table. Rows that do not meet the predicate’s conditions are filtered out, leaving a subset of the original rows. RowConstraints can also be used to specify dynamic and multi-table flavors of RLS using T-SQL.", + "type": "object", + "required": ["tablePath", "value"], + "properties": { + "tablePath": { + "description": "A relative file path specifying which table the row constraint applies to. This should be in the form of `/Tables/{optionalSchema}/{tableName}`. Only one value can be given here and the tableName must be a table included in the PermissionScope.", + "type": "string" + }, + "value": { + "description": "A T-SQL expression that is used to evaluate which rows the role members can see. Only a subset of T-SQL can be used as a predicate.", + "type": "string" + } + } + }, + "Members": { + "description": "The members object which contains the members of the role as arrays of different member types.", + "type": "object", + "properties": { + "fabricItemMembers": { + "description": "A list of members who have a certain permission set in Microsoft Fabric. All members with that permission set are added as members of this Data Access Role.", + "type": "array", + "items": { + "$ref": "#/definitions/FabricItemMember" + } + }, + "microsoftEntraMembers": { + "description": "The list of Microsoft Entra ID members.", + "type": "array", + "items": { + "$ref": "#/definitions/MicrosoftEntraMember" + } + } + } + }, + "MicrosoftEntraMember": { + "description": "Microsoft Entra ID member assigned to the role.", + "type": "object", + "required": [ "tenantId", "objectId" ], + "properties": { + "tenantId": { + "description": "The tenant id.", + "type": "string", + "format": "uuid" + }, + "objectId": { + "description": "The object id.", + "type": "string", + "format": "uuid" + }, + "objectType": { + "description": "The type of Microsoft Entra ID object. Additional objectType types may be added over time.", + "type": "string", + "enum": [ "Group", "User", "ServicePrincipal", "ManagedIdentity" ], + "x-ms-enum": { + "name": "ObjectType", + "modelAsString": true, + "values": [ + { + "value": "Group", + "description": "Attribute name Group" + }, + { + "value": "User", + "description": "Attribute name User" + }, + { + "value": "ServicePrincipal", + "description": "Attribute name ServicePrincipal" + }, + { + "value": "ManagedIdentity", + "description": "Attribute name ManagedIdentity" + } + ] + } + } + } + }, + "FabricItemMember": { + "description": "Fabric item member.", + "type": "object", + "required": [ "itemAccess", "sourcePath" ], + "properties": { + "itemAccess": { + "description": "A list specifying the access permissions for Fabric user to have to be automatically included in the role members. Additional itemAccess types may be added over time.", + "type": "array", + "items": { + "type": "string", + "enum": [ "Read", "Write", "Reshare", "Explore", "Execute", "ReadAll" ], + "x-ms-enum": { + "name": "ItemAccess", + "modelAsString": true, + "values": [ + { + "value": "Read", + "description": "Item Access Read." + }, + { + "value": "Write", + "description": "Item Access Write." + }, + { + "value": "Reshare", + "description": "Item Access Reshare." + }, + { + "value": "Explore", + "description": "Item Access Explore." + }, + { + "value": "Execute", + "description": "Item Access Execute." + }, + { + "value": "ReadAll", + "description": "Item Access ReadAll." + } + ] + } + } + }, + "sourcePath": { + "description": "The path to Fabric item having the specified item access.", + "type": "string", + "pattern": "^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?/[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$" + } + } + }, + "CreateShortcutRequest": { + "description": "A shortcut creation request with an object representing a reference to another storage location.", + "type": "object", + "required": [ "path", "name", "target" ], + "properties": { + "path": { + "description": "A string representing the full path where the shortcut is created, including either \"Files\" or \"Tables\".", + "type": "string" + }, + "name": { + "description": "Name of the shortcut.", + "type": "string" + }, + "target": { + "description": "An object that contains the target datasource, and it must specify exactly one of the supported destinations: OneLake, Amazon S3, ADLS Gen2, Google Cloud Storage, S3 compatible, Dataverse or Azure Blob storage.", + "type": "object", + "$ref": "#/definitions/CreatableShortcutTarget" + } + } + }, + "CreateShortcutWithTransformRequest": { + "description": "A shortcut creation request with an object representing a reference to another storage location.", + "type": "object", + "required": [ "path", "name", "target" ], + "allOf": [ + { + "$ref": "#/definitions/CreateShortcutRequest" + } + ], + "properties": { + "transform": { + "description": "An object that contains the transform name and its corresponding properties to be applied to target data, and must specify exactly one of the supported transformations: CsvToDelta", + "type": "object", + "$ref": "#/definitions/Transform" + } + } + }, + "BulkCreateShortcutsRequest": { + "description": "A list of create shortcut requests.", + "type": "object", + "required": [ "createShortcutRequests" ], + "properties": { + "createShortcutRequests": { + "description": "A list of shortcut creation requests.", + "type": "array", + "items": { + "$ref": "#/definitions/CreateShortcutWithTransformRequest" + } + } + } + }, + "Shortcuts": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of shortcuts.", + "type": "array", + "items": { + "$ref": "#/definitions/ShortcutTransformFlagged" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "Shortcut": { + "description": "An object representing a reference that points to other storage locations which can be internal or external to OneLake. Shortcut is defined by name, path where the shortcut is created and target specifying the target storage location.", + "type": "object", + "required": [ "path", "name", "target" ], + "properties": { + "path": { + "description": "A string representing the full path where the shortcut is created, including either \"Files\" or \"Tables\".", + "type": "string" + }, + "name": { + "description": "Name of the shortcut.", + "type": "string" + }, + "target": { + "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations.", + "type": "object", + "$ref": "#/definitions/Target" + }, + "transform": { + "description": "An object that contains the transform name and its corresponding properties to be applied to target data, and must specify exactly one of the supported transformations.", + "type": "object", + "$ref": "#/definitions/Transform" + } + } + }, + "ShortcutTransformFlagged": { + "description": "An object representing a reference that points to other storage locations which can be internal or external to OneLake. Shortcut is defined by name, path where the shortcut is created and target specifying the target storage location.", + "type": "object", + "required": [ "path", "name", "target" ], + "allOf": [ + { + "$ref": "#/definitions/Shortcut" + } + ], + "properties": { + "isShortcutTransform": { + "description": "Determines whether this shortcut is a transform shortcut. True - A shortcut transform, False - A regular shortcut. You can get the shortcut transform properties using [Get Shortcut](rest/api/fabric/core/onelake-shortcuts/get-shortcut).", + "type": "boolean" + } + } + }, + "BulkCreateShortcutResponse": { + "description": "A collection of CreateShortcutResponse that corresponds to the requested shortcut creation requests.", + "type": "object", + "required": [ "value" ], + "properties": { + "value": { + "description": "A list of create shortcut response.", + "type": "array", + "items": { + "$ref": "#/definitions/CreateShortcutResponse" + } + } + } + }, + "CreateShortcutResponse": { + "description": "An object that contains the original shortcut request, actual shortcut creation metadata, status of shortcut creation and if any associated errors.", + "type": "object", + "required": [ "request", "status" ], + "properties": { + "request": { + "description": "An object that contains the original shortcut name and path", + "type": "object", + "required": [ "name", "path" ], + "properties": { + "name": { + "description": "Name of the shortcut.", + "type": "string" + }, + "path": { + "description": "A string representing the full path where the shortcut is created, including either \"Files\" or \"Tables\".", + "type": "string" + } + } + }, + "result": { + "description": "An object containing the shortcut properties and created shortcut name.", + "type": "object", + "$ref": "#/definitions/Shortcut" + }, + "error": { + "description": "The error details in case the operation is in failed state", + "$ref": "../../common/definitions.json#/definitions/ErrorResponse" + }, + "status": { + "description": "The status of create shortcut. Additional status may be added over time.", + "type": "string", + "enum": [ "Succeeded", "Failed" ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The operation has completed successfully." + }, + { + "value": "Failed", + "description": "The operation has failed." + } + ] + } + } + } + }, + "CreatableShortcutTarget": { + "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations as described in the table below.", + "type": "object", + "properties": { + "oneLake": { + "description": "An object containing the properties of the target OneLake data source.", + "type": "object", + "$ref": "#/definitions/OneLake" + }, + "amazonS3": { + "description": "An object containing the properties of the target Amazon S3 data source.", + "type": "object", + "$ref": "#/definitions/AmazonS3" + }, + "adlsGen2": { + "description": "An object containing the properties of the target ADLS Gen2 data source.", + "type": "object", + "$ref": "#/definitions/AdlsGen2" + }, + "googleCloudStorage": { + "description": "An object containing the properties of the target Google Cloud Storage data source.", + "type": "object", + "$ref": "#/definitions/GoogleCloudStorage" + }, + "s3Compatible": { + "description": "An object containing the properties of the target S3 compatible data source.", + "type": "object", + "$ref": "#/definitions/S3Compatible" + }, + "dataverse": { + "description": "An object containing the properties of the target Dataverse data source.", + "type": "object", + "$ref": "#/definitions/Dataverse" + }, + "azureBlobStorage": { + "description": "An object containing the properties of the target Azure Blob Storage data source.", + "type": "object", + "$ref": "#/definitions/AzureBlobStorage" + } + } + }, + "Target": { + "description": "An object that contains the target datasource, and must specify exactly one of the supported destinations as described in the table below.", + "type": "object", + "required": [ "type" ], + "properties": { + "type": { + "description": "The type object contains properties like target shortcut account type. Additional types may be added over time.", + "type": "string", + "enum": [ "OneLake", "AmazonS3", "AdlsGen2", "GoogleCloudStorage", "S3Compatible", "Dataverse", "ExternalDataShare", "AzureBlobStorage" ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true, + "values": [ + { + "value": "OneLake", + "description": "OneLake" + }, + { + "value": "AmazonS3", + "description": "AmazonS3" + }, + { + "value": "AdlsGen2", + "description": "AdlsGen2" + }, + { + "value": "GoogleCloudStorage", + "description": "GoogleCloudStorage" + }, + { + "value": "S3Compatible", + "description": "S3Compatible" + }, + { + "value": "Dataverse", + "description": "Dataverse" + }, + { + "value": "ExternalDataShare", + "description": "ExternalDataShare" + }, + { + "value": "AzureBlobStorage", + "description": "AzureBlobStorage" + } + ] + } + }, + "oneLake": { + "description": "An object containing the properties of the target OneLake data source.", + "type": "object", + "$ref": "#/definitions/OneLake" + }, + "amazonS3": { + "description": "An object containing the properties of the target Amazon S3 data source.", + "type": "object", + "$ref": "#/definitions/AmazonS3" + }, + "adlsGen2": { + "description": "An object containing the properties of the target ADLS Gen2 data source.", + "type": "object", + "$ref": "#/definitions/AdlsGen2" + }, + "googleCloudStorage": { + "description": "An object containing the properties of the target Google Cloud Storage data source.", + "type": "object", + "$ref": "#/definitions/GoogleCloudStorage" + }, + "s3Compatible": { + "description": "An object containing the properties of the target S3 compatible data source.", + "type": "object", + "$ref": "#/definitions/S3Compatible" + }, + "dataverse": { + "description": "An object containing the properties of the target Dataverse data source.", + "type": "object", + "$ref": "#/definitions/Dataverse" + }, + "externalDataShare": { + "description": "An object containing the properties of the target external data share.", + "type": "object", + "$ref": "#/definitions/ExternalDataShareTarget" + }, + "azureBlobStorage": { + "description": "An object containing the properties of the target Azure Blob Storage data source.", + "type": "object", + "$ref": "#/definitions/AzureBlobStorage" + } + } + }, + "OneLake": { + "description": "An object containing the properties of the target OneLake data source.", + "type": "object", + "required": [ "itemId", "workspaceId", "path" ], + "properties": { + "itemId": { + "description": "The ID of the target in OneLake. The target can be an item of Lakehouse, KQLDatabase, or Warehouse. ", + "type": "string", + "format": "uuid" + }, + "workspaceId": { + "description": "The ID of the target workspace.", + "type": "string", + "format": "uuid" + }, + "path": { + "description": "A string representing the full path to the target folder within the Item. This path should be relative to the root of the OneLake directory structure. For example: \"Tables/myTablesFolder/someTableSubFolder\".", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Amazon S3 data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", + "type": "string", + "format": "uuid" + } + } + }, + "AmazonS3": { + "description": "An object containing the properties of the target Amazon S3 data source.", + "type": "object", + "required": [ "location", "connectionId" ], + "properties": { + "location": { + "description": "HTTP URL that points to the target bucket in S3. The URL should be in the format https://[bucket-name].s3.[region-code].amazonaws.com, where \"bucket-name\" is the name of the S3 bucket you want to point to, and \"region-code\" is the code for the region where the bucket is located. For example: https://my-s3-bucket.s3.us-west-2.amazonaws.com", + "type": "string", + "format": "uri" + }, + "subpath": { + "description": "Specifies a target folder or subfolder within the S3 bucket.", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Amazon S3 data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", + "type": "string", + "format": "uuid" + } + } + }, + "AdlsGen2": { + "description": "An object containing the properties of the target ADLS Gen2 data source.", + "type": "object", + "required": [ "location", "subpath", "connectionId" ], + "properties": { + "location": { + "description": "Specifies the location of the target ADLS container. The URI must be in the format https://[account-name].dfs.core.windows.net where [account-name] is the name of the target ADLS account.", + "type": "string", + "format": "uri" + }, + "subpath": { + "description": "Specifies the container and subfolder within the ADLS account where the target folder is located. Must be of the format [container]/[subfolder] where [container] is the name of the container that holds the files and folders; [subfolder] is the name of the subfolder within the container (optional). For example: /mycontainer/mysubfolder", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the ADLS data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", + "type": "string", + "format": "uuid" + } + } + }, + "GoogleCloudStorage": { + "description": "An object containing the properties of the target Google Cloud Storage data source.", + "type": "object", + "required": [ "location", "subpath", "connectionId" ], + "properties": { + "location": { + "description": "HTTP URL that points to the target bucket in GCS. The URL should be in the format https://[bucket-name].storage.googleapis.com, where [bucket-name] is the name of the bucket you want to point to. For example: https://my-gcs-bucket.storage.googleapis.com", + "type": "string", + "format": "uri" + }, + "subpath": { + "description": "Specifies a target folder or subfolder within the GCS bucket. For example: /folder", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", + "type": "string", + "format": "uuid" + } + } + }, + "S3Compatible": { + "description": "An object containing the properties of the target S3 compatible data source.", + "type": "object", + "required": [ "location", "subpath", "bucket", "connectionId" ], + "properties": { + "location": { + "description": "HTTP URL of the S3 compatible endpoint. This endpoint must be able to receive ListBuckets S3 API calls. The URL must be in the non-bucket specific format; no bucket should be specified here. For example: https://s3endpoint.contoso.com", + "type": "string", + "format": "uri" + }, + "subpath": { + "description": "Specifies a target folder or subfolder within the S3 compatible bucket. For example: /folder", + "type": "string" + }, + "bucket": { + "description": "Specifies the target bucket within the S3 compatible location.", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", + "type": "string", + "format": "uuid" + } + } + }, + "Dataverse": { + "description": "An object containing the properties of the target Dataverse data source.", + "type": "object", + "required": [ "environmentDomain", "connectionId", "deltaLakeFolder", "tableName" ], + "properties": { + "environmentDomain": { + "description": "URI that indicates the Dataverse target environment's domain name. The URI should be formatted as \"https://[orgname].crm[xx].dynamics.com\", where `[orgname]` represents the name of your Dataverse organization.", + "type": "string", + "format": "uri" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Dataverse data location. Open the cloud connection's Settings view and copy the connection ID; this is a GUID.", + "type": "string", + "format": "uuid" + }, + "deltaLakeFolder": { + "description": "Specifies the DeltaLake folder path where the target data is stored.", + "type": "string" + }, + "tableName": { + "description": "Specifies the name of the target table in Dataverse ", + "type": "string" + } + } + }, + "AzureBlobStorage": { + "description": "An object containing the properties of the target Azure Blob Storage data source.", + "type": "object", + "required": [ "location", "subpath", "connectionId" ], + "properties": { + "location": { + "description": "Specifies the location of the target Azure Blob Storage container. The URI must be in the format `https://[account-name].blob.core.windows.net` where `[account-name]` is the name of the target Azure Blob Storage account.", + "type": "string", + "format": "uri" + }, + "subpath": { + "description": "Specifies the container and subfolder within the Azure Blob Storage account where the target folder is located. Must be of the format [container]/[subfolder]. [Container] is the name of the container that holds the files and folders. [Subfolder] is the name of the subfolder within the container and is optional. For example: /mycontainer/mysubfolder", + "type": "string" + }, + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource. To find this connection ID, first [create a cloud connection](/fabric/data-factory/data-source-management#add-a-data-source) to be used by the shortcut when connecting to the Azure Blob Storage data location. Open the cloud connection's settings view and copy the GUID that is the connection ID.", + "type": "string", + "format": "uuid" + } + } + }, + "ExternalDataShareTarget": { + "description": "An object containing the properties of the target external data share.", + "type": "object", + "required": [ "connectionId" ], + "properties": { + "connectionId": { + "description": "A string representing the connection that is bound with the shortcut. The connectionId is a unique identifier used to establish a connection between the shortcut and the target datasource.", + "type": "string", + "format": "uuid" + } + } + }, + "Transform": { + "description": "An object that contains the transform name and its corresponding properties to be applied to target data.", + "type": "object", + "discriminator": "type", + "required": [ "type" ], + "properties": { + "type": { + "description": "The type of transform. Additional transform types may be added over time.", + "type": "string", + "enum": [ + "csvToDelta" + ], + "x-ms-enum": { + "name": "TransformType", + "modelAsString": true, + "values": [ + { + "value": "csvToDelta", + "description": "Transform CSV files to Delta format." + } + ] + } + } + } + }, + "CsvToDeltaTransform": { + "type": "object", + "description": "CSV to Delta transform.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/Transform" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "CSV to Delta transform properties.", + "$ref": "#/definitions/CsvToDeltaTransformProperties" + } + } + } + ], + "x-ms-discriminator-value": "csvToDelta" + }, + "CsvToDeltaTransformProperties": { + "description": "Properties for the CSV to Delta transform.", + "type": "object", + "properties": { + "delimiter": { + "description": "Specifies the character used to separate values within a row in the CSV file and it must specify exactly one of the supported values: `,`, ` `, `\\t`, `|`, `&`, `;`. Default value is `,`.", + "type": "string", + "default": "," + }, + "useFirstRowAsHeader": { + "description": "Whether first row of the CSV file should be used as the header. True - Use first row as header. False - Do not use first row as header. Default value is True.", + "type": "boolean", + "default": true + }, + "skipFilesWithErrors": { + "description": "Whether to skip files with errors. True - Skip files with errors, False - Do not skip files with errors. Default value is True.", + "type": "boolean", + "default": true + } + } + }, + "RunOnDemandItemJobRequest": { + "description": "Run on demand item job instance payload", + "properties": { + "executionData": { + "description": "Payload for run on-demand job request. Needed only if the job type requires a payload.", + "type": "object" + } + } + }, + "ItemJobInstances": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of item job instances.", + "type": "array", + "items": { + "$ref": "#/definitions/ItemJobInstance" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "ItemJobInstance": { + "description": "An object representing item job instance", + "type": "object", + "properties": { + "id": { + "description": "Job instance Id", + "type": "string", + "format": "uuid" + }, + "itemId": { + "description": "Item Id", + "type": "string", + "format": "uuid" + }, + "jobType": { + "description": "Job type", + "type": "string" + }, + "invokeType": { + "description": "The item job invoke type. Additional invokeTypes may be added over time.", + "type": "string", + "enum": [ "Scheduled", "Manual" ], + "x-ms-enum": { + "name": "InvokeType", + "modelAsString": true, + "values": [ + { + "value": "Scheduled", + "description": "Job is scheduled" + }, + { + "value": "Manual", + "description": "Job is invoked manually" + } + ] + } + }, + "status": { + "description": "The item job status. Additional statuses may be added over time.", + "type": "string", + "enum": [ "NotStarted", "InProgress", "Completed", "Failed", "Cancelled", "Deduped" ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Job not started" + }, + { + "value": "InProgress", + "description": "Job in progress" + }, + { + "value": "Completed", + "description": "Job completed" + }, + { + "value": "Failed", + "description": "Job failed" + }, + { + "value": "Cancelled", + "description": "Job cancelled" + }, + { + "value": "Deduped", + "description": "A job instance of the same job type is already running and this job instance is skipped" + } + ] + } + }, + "rootActivityId": { + "description": "Root activity id to trace requests across services", + "type": "string" + }, + "startTimeUtc": { + "description": "Job start time in UTC", + "type": "string" + }, + "endTimeUtc": { + "description": "Job end time in UTC", + "type": "string" + }, + "failureReason": { + "description": "Error response when job is failed", + "type": "object", + "$ref": "../../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "OperationState": { + "description": "An object describing the details and current state of a long running operation", + "type": "object", + "required": [ "status", "createdTimeUtc", "lastUpdatedTimeUtc" ], + "properties": { + "status": { + "type": "string", + "description": "The current status of the operation. Additional operation statuses may be added over time.", + "enum": [ + "Undefined", + "NotStarted", + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "LongRunningOperationStatus", + "modelAsString": true, + "values": [ + { + "value": "Undefined", + "description": "The status of the operation is undefined" + }, + { + "value": "NotStarted", + "description": "The operation didn't start" + }, + { + "value": "Running", + "description": "The operation is running" + }, + { + "value": "Succeeded", + "description": "The operation has finished successfully" + }, + { + "value": "Failed", + "description": "The operation has failed" + } + ] + } + }, + "createdTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The start date and time of the operation" + }, + "lastUpdatedTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The date and time of the last change to the operation" + }, + "percentComplete": { + "type": "integer", + "description": "Operation progress as a percentage", + "format": "int32", + "minimum": 0, + "maximum": 100 + }, + "error": { + "description": "The error details in case the operation is in failed state", + "$ref": "../../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "ItemSchedules": { + "description": "list of schedules for this item.", + "required": [ "value" ], + "type": "object", + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ], + "properties": { + "value": { + "description": "list of schedules for this item.", + "type": "array", + "items": { + "$ref": "#/definitions/ItemSchedule" + } + } + } + }, + "DayOfWeek": { + "description": "Days of the week", + "type": "string", + "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true, + "values": [ + { + "value": "Monday", + "description": "Monday" + }, + { + "value": "Tuesday", + "description": "Tuesday" + }, + { + "value": "Wednesday", + "description": "Wednesday" + }, + { + "value": "Thursday", + "description": "Thursday" + }, + { + "value": "Friday", + "description": "Friday" + }, + { + "value": "Saturday", + "description": "Saturday" + }, + { + "value": "Sunday", + "description": "Sunday" + } + ] + } + }, + "ScheduleConfig": { + "description": "Item schedule plan detail settings.", + "type": "object", + "discriminator": "type", + "required": [ "type", "startDateTime", "endDateTime", "localTimeZoneId" ], + "properties": { + "type": { + "description": "The type of schedule configuration. Additional types may be added over time.", + "type": "string", + "enum": [ "Cron", "Daily", "Weekly", "Monthly" ], + "x-ms-enum": { + "name": "ScheduleType", + "modelAsString": true, + "values": [ + { + "value": "Cron", + "description": "Triggers a job periodically." + }, + { + "value": "Daily", + "description": "Triggers a job daily." + }, + { + "value": "Weekly", + "description": "Triggers a job weekly." + }, + { + "value": "Monthly", + "description": "Triggers a job monthly." + } + ] + } + }, + "startDateTime": { + "description": "The start time for this schedule. If the start time is in the past, it will trigger a job instantly. The time is in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", + "type": "string", + "format": "date-time" + }, + "endDateTime": { + "description": "The end time for this schedule. The end time must be later than the start time. It has to be in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", + "type": "string", + "format": "date-time" + }, + "localTimeZoneId": { + "description": "The time zone identifier registry on local computer for windows, see [Default Time Zones](/windows-hardware/manufacture/desktop/default-time-zones)", + "type": "string" + } + } + }, + "CronScheduleConfig": { + "type": "object", + "x-ms-discriminator-value": "Cron", + "allOf": [ + { + "$ref": "#/definitions/ScheduleConfig" + } + ], + "required": [ "interval" ], + "properties": { + "interval": { + "description": "The time interval in minutes. A number between 1 and 5270400 (10 years).", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 5270400 + } + } + }, + "DailyScheduleConfig": { + "type": "object", + "x-ms-discriminator-value": "Daily", + "allOf": [ + { + "$ref": "#/definitions/ScheduleConfig" + } + ], + "required": [ "times" ], + "properties": { + "times": { + "description": "A list of time slots in the hh:mm format. The maximum time slots you can use is 100.", + "type": "array", + "items": { + "description": "Time slots in the hh:mm format.", + "type": "string" + }, + "minItems": 1, + "maxItems": 100 + } + } + }, + "WeeklyScheduleConfig": { + "type": "object", + "x-ms-discriminator-value": "Weekly", + "allOf": [ + { + "$ref": "#/definitions/ScheduleConfig" + } + ], + "required": [ "times", "weekdays" ], + "properties": { + "times": { + "description": "A list of time slots in the hh:mm format. The maximum time slots you can use is 100.", + "type": "array", + "items": { + "description": "Time slots in the hh:mm format.", + "type": "string" + }, + "minItems": 1, + "maxItems": 100 + }, + "weekdays": { + "description": "A list of weekdays, at most seven elements are allowed.", + "type": "array", + "items": { + "description": "Days of the week", + "type": "string", + "$ref": "#/definitions/DayOfWeek" + }, + "minItems": 1, + "maxItems": 7 + } + } + }, + "MonthlyOccurrence": { + "type": "object", + "description": "Specifies the day for triggering jobs", + "discriminator": "occurrenceType", + "required": ["occurrenceType"], + "properties": { + "occurrenceType": { + "description": "An enumerator that lists the day for triggering jobs. Additional types may be added over time.", + "type": "string", + "enum": ["DayOfMonth", "OrdinalWeekday"], + "x-ms-enum": { + "name": "OccurrenceType", + "modelAsString": true, + "values": [ + { + "value": "DayOfMonth", + "description": "A date." + }, + { + "value": "OrdinalWeekday", + "description": "A day." + } + ] + } + } + } + }, + "DayOfMonth": { + "description": "Specifies a date to trigger the job. The value must be a valid date. Otherwise, it will be skipped.", + "type": "object", + "x-ms-discriminator-value": "DayOfMonth", + "allOf": [ + { + "$ref": "#/definitions/MonthlyOccurrence" + } + ], + "required": ["dayOfMonth"], + "properties": { + "dayOfMonth": { + "description": "Specifies a date to trigger the job, using a value between 1 and 31. For example, 2 means the second day of the month. The date must be valid. If an invalid date is provided, such as February 31st, it will automatically skip to the month that includes the 31st day.", + "type":"integer", + "format": "int32", + "minimum": 1, + "maximum": 31 + } + } + }, + "OrdinalWeekday": { + "description": "Specifies the ordinal week and weekday to trigger the job. The value must be a valid date. Otherwise, it will be skipped.", + "type": "object", + "x-ms-discriminator-value": "OrdinalWeekday", + "allOf": [ + { + "$ref": "#/definitions/MonthlyOccurrence" + } + ], + "required": ["weekIndex", "weekday"], + "properties": { + "weekIndex": { + "description": "The week of the month.", + "type": "string", + "enum": ["First", "Second", "Third", "Fourth", "Fifth"], + "x-ms-enum": { + "name": "WeekIndex", + "modelAsString": true, + "values": [ + { + "value": "First", + "description": "First." + }, + { + "value": "Second", + "description": "Second." + }, + { + "value": "Third", + "description": "Third." + }, + { + "value": "Fourth", + "description": "Fourth." + }, + { + "value": "Fifth", + "description": "Fifth." + } + ] + } + }, + "weekday": { + "description": "Week day for triggering jobs.", + "type": "string", + "$ref": "#/definitions/DayOfWeek" + } + } + }, + "MonthlyScheduleConfig": { + "type": "object", + "x-ms-discriminator-value": "Monthly", + "allOf": [ + { + "$ref": "#/definitions/ScheduleConfig" + } + ], + "required": ["recurrence", "occurrence", "times"], + "properties": { + "recurrence": { + "description": "Specifies the monthly job repeat interval. For example, when set to 1 the job is triggered every month.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12 + }, + "occurrence": { + "description": "A date for triggering the job.", + "type":"object", + "$ref": "#/definitions/MonthlyOccurrence" + }, + "times": { + "description": "A list of time slots in the hh:mm format. The maximum time slots you can use is 100.", + "type": "array", + "items": { + "description": "Time slots in the hh:mm format.", + "type": "string" + }, + "minItems": 1, + "maxItems": 100 + } + } + }, + "ItemSchedule": { + "description": "Item schedule.", + "type": "object", + "required": [ "id", "enabled" ], + "properties": { + "id": { + "description": "The schedule ID.", + "type": "string", + "format": "uuid" + }, + "enabled": { + "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", + "type": "boolean" + }, + "createdDateTime": { + "description": "The created time stamp of this schedule in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", + "type": "string", + "format": "date-time" + }, + "configuration": { + "description": "The actual data contains the time/weekdays of this schedule.", + "$ref": "#/definitions/ScheduleConfig" + }, + "owner": { + "description": "The user identity that created this schedule or last modified.", + "$ref": "../../common/definitions.json#/definitions/Principal" + } + } + }, + "CreateScheduleRequest": { + "description": "Create item schedule plan request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "properties": { + "enabled": { + "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", + "type": "boolean" + }, + "configuration": { + "description": "The actual data contains the time/weekdays of this schedule.", + "$ref": "#/definitions/ScheduleConfig" + } + } + }, + "UpdateScheduleRequest": { + "description": "Update item schedule plan request payload.", + "type": "object", + "required": [ "enabled", "configuration" ], + "properties": { + "enabled": { + "description": "Whether this schedule is enabled. True - Enabled, False - Disabled.", + "type": "boolean" + }, + "configuration": { + "description": "The actual data contains the time/weekdays of this schedule.", + "$ref": "#/definitions/ScheduleConfig" + } + } + }, + "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." + } + } + }, + "Folders": { + "type": "object", + "properties": { + "value": { + "description": "A list of folders.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "../../common/definitions.json#/definitions/Folder" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateFolderRequest": { + "description": "Create folder request payload.", + "required": [ "displayName" ], + "properties": { + "displayName": { + "description": "The folder display name. The name must meet [Folder name requirements](/fabric/get-started/workspaces-folders#folder-name-requirements)", + "type": "string", + "readOnly": false + }, + "parentFolderId": { + "description": "The parent folder ID. If not specified or null, the folder is created with the workspace as its parent folder.", + "type": "string", + "format": "uuid", + "readOnly": false + } + } + }, + "UpdateFolderRequest": { + "description": "Update folder request.", + "required": [ "displayName" ], + "properties": { + "displayName": { + "description": "The folder display name. The name must meet [Folder name requirements](/fabric/get-started/workspaces-folders#folder-name-requirements)", + "type": "string", + "readOnly": false + } + } + }, + "MoveFolderRequest": { + "description": "Move folder request.", + "properties": { + "targetFolderId": { + "description": "The destination folder ID. If not provided, the workspace is used as the destination folder.", + "type": "string", + "format": "uuid", + "readOnly": false + } + } + }, + "MoveItemRequest": { + "description": "Move item request.", + "properties": { + "targetFolderId": { + "description": "The destination folder ID. If not provided, the workspace is used as the destination folder.", + "type": "string", + "format": "uuid", + "readOnly": false + } + } + }, + "MovedItems": { + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of items.", + "type": "array", + "items": { + "$ref": "../../common/definitions.json#/definitions/Item" + } + } + } + }, + "BulkMoveItemsRequest": { + "description": "Bulk move items request.", + "required": [ "items" ], + "properties": { + "targetFolderId": { + "description": "The destination folder ID. If not provided, the workspace is used as the destination folder.", + "type": "string", + "format": "uuid", + "readOnly": false + }, + "items": { + "description": "The IDs of requested items to move.", + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "readOnly": false + } + } + }, + "Domain": { + "type": "object", + "description": "Represents a domain.", + "required": ["id", "displayName", "description"], + "properties": { + "id": { + "type": "string", + "description": "The domain ID.", + "format": "uuid" + }, + "displayName": { + "type": "string", + "description": "The name of the domain." + }, + "description": { + "type": "string", + "description": "The description of the domain." + }, + "parentDomainId": { + "type": "string", + "description": "The parent domain ID, for a subdomain.", + "format": "uuid" + } + } + }, + "Domains": { + "type": "object", + "description": "A response wrapper for a list of domains.", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "description": "An array of domains", + "items": { + "$ref": "#/definitions/Domain" + } + } + }, + "allOf": [ + { + "$ref": "../../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "GetOneLakeSettingsResponse": { + "description": "OneLake settings response.", + "type": "object", + "required": [ "diagnostics" ], + "properties": { + "diagnostics": { + "$ref": "#/definitions/OneLakeDiagnosticSettings" + } + } + }, + "ModifyOneLakeDiagnosticSettingRequest": { + "description": "Modify OneLake diagnostic settings request.", + "$ref": "#/definitions/OneLakeDiagnosticSettings" + }, + "OneLakeDiagnosticSettings": { + "description": "OneLake diagnostic settings object.", + "type": "object", + "required": [ "status" ], + "properties": { + "status": { + "description": "The status of the diagnostics settings.", + "Enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": false + }, + "destination": { + "description": "The destination where OneLake diagnostic logs are stored. If disabling, this is not required.", + "$ref": "#/definitions/OneLakeDiagnosticSettingsDestinationInfo", + "readOnly": false + } + } + }, + "OneLakeDiagnosticSettingsDestinationInfo": { + "description": "The destination where OneLake diagnostic logs are stored.", + "type": "object", + "required": [ "type" ], + "discriminator": "type", + "properties": { + "type": { + "description": "The item type of the destination.", + "type": "string", + "Enum": [ + "Lakehouse" + ], + "readOnly": false + } + } + }, + "LakehouseOneLakeDiagnosticSettingsDestination": { + "description": "Lakehouse destination for OneLake diagnostic logs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OneLakeDiagnosticSettingsDestinationInfo" + } + ], + "x-ms-discriminator-value": "Lakehouse", + "properties": { + "lakehouse": { + "description": "Reference to the destination lakehouse.", + "$ref": "../../common/definitions.json#/definitions/ItemReference", + "readOnly": false + } + } } + } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceNetworkingPolicy.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceNetworkingPolicy.json new file mode 100644 index 000000000..f6e3714ec --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/definitions/workspaceNetworkingPolicy.json @@ -0,0 +1,73 @@ +{ + "swagger": "2.0", + "info": { + "version": "v1", + "title": "Workspace Networking Communication Policy REST APIs" + }, + "paths": {}, + "definitions": { + "WorkspaceNetworkingCommunicationPolicy": { + "type": "object", + "description": "The networking communication policy for a workspace.", + "properties": { + "inbound": { + "description": "The inbound network communications properties for a workspace.", + "$ref": "#/definitions/InboundRules" + }, + "outbound": { + "description": "The outbound network communications properties for a workspace.", + "$ref": "#/definitions/OutboundRules" + } + } + }, + "InboundRules": { + "description": "The policy for all inbound communications to a workspace.", + "type": "object", + "properties": { + "publicAccessRules": { + "description": "The policy for inbound communications to a workspace from public networks.", + "$ref": "#/definitions/NetworkRules" + } + } + }, + "OutboundRules": { + "description": "The policy for all outbound communications from a workspace.", + "type": "object", + "properties": { + "publicAccessRules": { + "description": "The policy for outbound communications to public networks from a workspace.", + "$ref": "#/definitions/NetworkRules" + } + } + }, + "NetworkRules": { + "description": "The policy defining access to/from a workspace to/from public networks.", + "type": "object", + "properties": { + "defaultAction": { + "description": "Default policy for workspace access from public networks.", + "$ref": "#/definitions/DefaultAction" + } + } + }, + "DefaultAction": { + "description": "The default option for a network communications policy. Additional network connection defaults may be added over time.", + "type": "string", + "enum": [ "Allow", "Deny" ], + "x-ms-enum": { + "name": "NetworkAccessRule", + "modelAsString": true, + "values": [ + { + "value": "Allow", + "description": "Allow all connections." + }, + { + "value": "Deny", + "description": "Deny all connections." + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json index f59c4fc8e..7f0f480fe 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json @@ -10,6 +10,15 @@ } }, "responses": { - "200": {} + "200": { + "body": { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", + "principal": { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", + "type": "Group" + }, + "role": "Admin" + } + } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json index 4ef3151cc..e1fb46852 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json @@ -10,6 +10,15 @@ } }, "responses": { - "200": {} + "200": { + "body": { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", + "principal": { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", + "type": "ServicePrincipal" + }, + "role": "Admin" + } + } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json index a673d6a83..64e8681ee 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json @@ -10,6 +10,15 @@ } }, "responses": { - "200": {} + "200": { + "body": { + "id": "a35d842b-90d5-59a2-c56a-5f8fcff0bf9d", + "principal": { + "id": "a35d842b-90d5-59a2-c56a-5f8fcff0bf9d", + "type": "User" + }, + "role": "Admin" + } + } } } \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddGroupRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddGroupRoleAssignment.json new file mode 100644 index 000000000..f59c4fc8e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddGroupRoleAssignment.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523", + "deploymentPipelineRoleAssignmentRequest": { + "principal": { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", + "type": "Group" + }, + "role": "Admin" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddServicePrincipalRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddServicePrincipalRoleAssignment.json new file mode 100644 index 000000000..912413570 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddServicePrincipalRoleAssignment.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523", + "deploymentPipelineRoleAssignmentRequest": { + "principal": { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", + "type": "App" + }, + "role": "Admin" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddUserRoleAssignment.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddUserRoleAssignment.json new file mode 100644 index 000000000..a673d6a83 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AddUserRoleAssignment.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523", + "deploymentPipelineRoleAssignmentRequest": { + "principal": { + "id": "a35d842b-90d5-59a2-c56a-5f8fcff0bf9d", + "type": "User" + }, + "role": "Admin" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AssignWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AssignWorkspace.json new file mode 100644 index 000000000..6caf00b9c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/AssignWorkspace.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "stageOrder": "0", + "deploymentPipelineAssignWorkspaceRequest": { + "workspaceId": "4de5bcc4-2c88-4efe-b827-4ee7b289b496" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/CreatePipeline.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/CreatePipeline.json new file mode 100644 index 000000000..fb1e4f397 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/CreatePipeline.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "createDeploymentPipelineRequest": { + "displayName": "My Deployment Pipeline Name", + "description": "My deployment pipeline description" + } + }, + "responses": { + "201": { + "body": { + "id": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "displayName": "My Deployment Pipeline Name", + "description": "My deployment pipeline description" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipeline.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipeline.json new file mode 100644 index 000000000..84cf08a12 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipeline.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserGroupAccess.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserGroupAccess.json new file mode 100644 index 000000000..42f0e6c60 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserGroupAccess.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523", + "principalId": "5dba60b0-d9a7-42a3-b12c-6d9d51e7739a" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserPrincipalAccess.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserPrincipalAccess.json new file mode 100644 index 000000000..d075f2d32 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/DeletePipelineUserPrincipalAccess.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523", + "principalId": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipeline.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipeline.json new file mode 100644 index 000000000..cd5161dba --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipeline.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824" + }, + "responses": { + "200": { + "body": { + "id": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "displayName": "Marketing Deployment Pipeline", + "description": "Fabric deployment pipeline to manage marketing reports" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperation.json new file mode 100644 index 000000000..7796cc677 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperation.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "operationId": "1065e6a3-a020-4c0c-ada7-92b5fe99eec5" + }, + "responses": { + "200": { + "body": { + "id": "1065e6a3-a020-4c0c-ada7-92b5fe99eec5", + "type": "Deploy", + "status": "Succeeded", + "lastUpdatedTime": "2020-12-13T09:26:43.153", + "executionStartTime": "2020-12-13T09:25:43.153Z", + "executionEndTime": "2020-12-13T09:26:43.153Z", + "sourceStageOrder": 0, + "targetStageOrder": 1, + "executionPlan": { + "steps": [ + { + "index": 0, + "description": "DataflowDeployment", + "status": "Succeeded", + "preDeploymentDiffState": "New", + "sourceAndTarget": { + "sourceItemId": "29efcfb0-0063-44af-a4ed-6c0bee3417d3", + "sourceItemDisplayName": "Source dataflow", + "itemType": "Dataflow" + } + }, + { + "index": 1, + "description": "DatamartDeployment", + "status": "Succeeded", + "preDeploymentDiffState": "New", + "sourceAndTarget": { + "sourceItemId": "645cd81f-1b21-4006-82b6-54cc7ec0352e", + "sourceItemDisplayName": "Source datamart", + "itemType": "Datamart" + } + }, + { + "index": 2, + "description": "DatasetDeployment", + "status": "Succeeded", + "preDeploymentDiffState": "NoDifference", + "sourceAndTarget": { + "sourceItemId": "1a201f2a-d1d8-45c0-8c61-1676338517de", + "sourceItemDisplayName": "Source dataset", + "targetItemId": "dd3b6aa1-4d40-405c-a19b-48314a27e8ee", + "targetItemDisplayName": "Target dataset", + "itemType": "Dataset" + } + }, + { + "index": 3, + "description": "ReportDeployment", + "status": "Succeeded", + "preDeploymentDiffState": "Different", + "sourceAndTarget": { + "sourceItemId": "2d225191-65f8-4ec3-b77d-06100602b1f7", + "sourceItemDisplayName": "Source report", + "targetItemId": "9d5c1f0f-f85c-48f4-8a8e-4c77547116b3", + "targetItemDisplayName": "Target report", + "itemType": "Report" + } + }, + { + "index": 4, + "description": "DashboardDeployment", + "status": "Succeeded", + "preDeploymentDiffState": "New", + "sourceAndTarget": { + "sourceItemId": "9046e4cc-8aea-4a7a-a3b5-1a78b1447d82", + "sourceItemDisplayName": "Source dashboard", + "itemType": "Dashboard" + } + } + ] + }, + "note": { + "content": "Sample note" + }, + "preDeploymentDiffInformation": { + "newItemsCount": 3, + "differentItemsCount": 1, + "noDifferenceItemsCount": 1 + }, + "performedBy": { + "id": "a35d842b-90d5-59a2-c56a-5f8fcff0bf9d", + "displayName": "john@contoso.com", + "type": "User" + } + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperations.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperations.json new file mode 100644 index 000000000..895c2392e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineOperations.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824" + }, + "responses": { + "200": { + "value": [ + { + "id": "1065e6a3-a020-4c0c-ada7-92b5fe99eec5", + "type": "Deploy", + "status": "Succeeded", + "lastUpdatedTime": "2020-12-13T09:26:43.153", + "executionStartTime": "2020-12-13T09:25:43.153Z", + "executionEndTime": "2020-12-13T09:26:43.153Z", + "sourceStageOrder": 0, + "targetStageOrder": 1, + "note": { + "content": "Sample note", + "isTruncated": false + }, + "preDeploymentDiffInformation": { + "newItemsCount": 0, + "differentItemsCount": 0, + "noDifferenceItemsCount": 1 + }, + "performedBy": { + "id": "a35d842b-90d5-59a2-c56a-5f8fcff0bf9d", + "displayName": "john@contoso.com", + "type": "User" + } + } + ] + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineUsers.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineUsers.json new file mode 100644 index 000000000..ab4d1f8b3 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/GetPipelineUsers.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "deploymentPipelineId": "8ce96c50-85a0-4db3-85c6-7ccc3ed46523" + }, + "responses": { + "200": { + "value": [ + { + "Principal": { + "id": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "type": "User" + }, + "role": "Admin" + }, + { + "Principal": { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", + "type": "Group" + }, + "role": "Admin" + }, + { + "Principal": { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", + "type": "App" + }, + "role": "Admin" + } + ] + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json index 73c6f2a87..28efd5168 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json @@ -7,6 +7,7 @@ "body": { "value": [ { + "id": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", "principal": { "id": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", "type": "User" @@ -14,6 +15,7 @@ "role": "Admin" }, { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", "principal": { "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", "type": "Group" @@ -21,6 +23,7 @@ "role": "Admin" }, { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", "principal": { "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", "type": "ServicePrincipal" diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json index 89242984a..ae41d10ce 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json @@ -7,6 +7,7 @@ "body" : { "value": [ { + "id": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", "principal": { "id": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", "type": "User" @@ -14,6 +15,7 @@ "role": "Admin" }, { + "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", "principal": { "id": "154aef10-47b8-48c4-ab97-f0bf9d5f8fcf", "type": "Group" @@ -21,6 +23,7 @@ "role": "Admin" }, { + "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", "principal": { "id": "a35d842b-90d5-59a1-c56a-5f8fcff0bf9d", "type": "ServicePrincipal" diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItems.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItems.json new file mode 100644 index 000000000..8c8be1d55 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItems.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "stageId": "48d2f500-6375-4f17-9199-2e1d73c18486" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "itemId": "a7654a17-c5d1-4539-b9ec-022075545e50", + "itemDisplayName": "Sales datamart", + "itemType": "Datamart", + "sourceItemId": "6bfe235c-6d7b-41b7-98a6-2b8276b3e82b", + "lastDeploymentTime": "2021-06-06T11:55:59.057Z" + }, + { + "itemId": "dd3b6aa1-4d40-405c-a19b-48314a27e8ee", + "itemDisplayName": "Sales semantic model", + "itemType": "SemanticModel", + "sourceItemId": "1a201f2a-d1d8-45c0-8c61-1676338517de", + "targetItemId": "a5cf347e-7b49-4198-8a2b-0aa92c37d8f8", + "lastDeploymentTime": "2020-12-13T09:26:41.153Z" + }, + { + "itemId": "9d5c1f0f-f85c-48f4-8a8e-4c77547116b3", + "itemDisplayName": "Sales report", + "itemType": "Report", + "sourceItemId": "2d225191-65f8-4ec3-b77d-06100602b1f7", + "lastDeploymentTime": "2020-12-13T09:26:41.153Z" + }, + { + "itemId": "9046e4cc-8aea-4a7a-a3b5-1a78b1447d82", + "itemDisplayName": "Sales dashboard", + "itemType": "Dashboard" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItemsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItemsWithContinuation.json new file mode 100644 index 000000000..587c52ae5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStageItemsWithContinuation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "stageId": "48d2f500-6375-4f17-9199-2e1d73c18486" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "itemId": "a7654a17-c5d1-4539-b9ec-022075545e50", + "itemDisplayName": "Sales datamart", + "itemType": "Datamart", + "sourceItemId": "6bfe235c-6d7b-41b7-98a6-2b8276b3e82b", + "lastDeploymentTime": "2021-06-06T11:55:59.057Z" + }, + { + "itemId": "dd3b6aa1-4d40-405c-a19b-48314a27e8ee", + "itemDisplayName": "Sales semantic model", + "itemType": "SemanticModel", + "sourceItemId": "1a201f2a-d1d8-45c0-8c61-1676338517de", + "targetItemId": "a5cf347e-7b49-4198-8a2b-0aa92c37d8f8", + "lastDeploymentTime": "2020-12-13T09:26:41.153Z" + }, + { + "itemId": "9d5c1f0f-f85c-48f4-8a8e-4c77547116b3", + "itemDisplayName": "Sales report", + "itemType": "Report", + "sourceItemId": "2d225191-65f8-4ec3-b77d-06100602b1f7", + "lastDeploymentTime": "2020-12-13T09:26:41.153Z" + }, + { + "itemId": "9046e4cc-8aea-4a7a-a3b5-1a78b1447d82", + "itemDisplayName": "Sales dashboard", + "itemType": "Dashboard" + } + ], + "continuationToken": "LDEsMTAwMDAwLDA%3D", + "continuationUri": "https://api.fabric.microsoft.com/v1/deploymentPipelines/a5ded933-57b7-41f4-b072-ed4c1f9d5824/stages/48d2f500-6375-4f17-9199-2e1d73c18486/items?continuationToken=LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStages.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStages.json new file mode 100644 index 000000000..46c4f4f90 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStages.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "2e6f0272-e809-410a-be63-50e1d97ba75a", + "order": 0, + "displayName":"Development", + "description":"Design, review, and revise your content in a development workspace. When it's ready to test and preview, deploy the content to the test stage.", + "workspaceId": "4de5bcc4-2c88-4efe-b827-4ee7b289b496", + "workspaceName": "Workpsace-Development", + "isPublic": false + }, + { + "id": "d2056166-041c-4a56-8d37-ea90038bc0d6", + "order": 1, + "displayName":"Test", + "description":"Test and verify your content in a preproduction workspace. When it's ready, deploy the content to the production stage.", + "workspaceId": "44b499cf-1eeb-45e2-9ada-63b6ec9d516e", + "isPublic": false + }, + { + "id": "4c3eb03b-fbbb-4605-9b1a-6fba1003679e", + "order": 2, + "displayName":"Production", + "description":"Your content has been tested and is ready for your customers as an app or by access to the production workspace.", + "isPublic": true + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStagesWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStagesWithContinuation.json new file mode 100644 index 000000000..b6fb1b244 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelineStagesWithContinuation.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "2e6f0272-e809-410a-be63-50e1d97ba75a", + "order": 0, + "displayName":"Development", + "description":"Design, review, and revise your content in a development workspace. When it's ready to test and preview, deploy the content to the test stage.", + "workspaceId": "4de5bcc4-2c88-4efe-b827-4ee7b289b496", + "workspaceName": "Workpsace-Development", + "isPublic": false + }, + { + "id": "d2056166-041c-4a56-8d37-ea90038bc0d6", + "order": 1, + "displayName":"Test", + "description":"Test and verify your content in a preproduction workspace. When it's ready, deploy the content to the production stage.", + "workspaceId": "44b499cf-1eeb-45e2-9ada-63b6ec9d516e", + "isPublic": false + }, + { + "id": "4c3eb03b-fbbb-4605-9b1a-6fba1003679e", + "order": 2, + "displayName":"Production", + "description":"Your content has been tested and is ready for your customers as an app or by access to the production workspace.", + "isPublic": true + } + ], + "continuationToken": "LDEsMTAwMDAwLDA%3D", + "continuationUri": "https://api.fabric.microsoft.com/v1/deploymentPipelines/a5ded933-57b7-41f4-b072-ed4c1f9d5824/stages?continuationToken=LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelines.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelines.json new file mode 100644 index 000000000..fc36e0d05 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelines.json @@ -0,0 +1,21 @@ +{ + "parameters": {}, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "displayName": "Marketing Deployment Pipeline", + "description": "Fabric deployment pipeline to manage marketing reports." + }, + { + "id": "f2d70dc6-8f3e-4f2c-b00e-e2d336d7d711", + "displayName": "Finance Deployment Pipeline", + "description": "Fabric deployment pipeline to manage finance reports." + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelinesWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelinesWithContinuation.json new file mode 100644 index 000000000..cbed86c40 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/ListPipelinesWithContinuation.json @@ -0,0 +1,23 @@ +{ + "parameters": {}, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "displayName": "Marketing Deployment Pipeline", + "description": "Fabric deployment pipeline to manage marketing reports." + }, + { + "id": "f2d70dc6-8f3e-4f2c-b00e-e2d336d7d711", + "displayName": "Finance Deployment Pipeline", + "description": "Fabric deployment pipeline to manage finance reports." + } + ], + "continuationToken": "LDEsMTAwMDAwLDA%3D", + "continuationUri": "https://api.fabric.microsoft.com/v1/deploymentPipelines?continuationToken=LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UnassignWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UnassignWorkspace.json new file mode 100644 index 000000000..22c7cb805 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UnassignWorkspace.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "stageOrder": "0" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UpdatePipeline.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UpdatePipeline.json new file mode 100644 index 000000000..3c10d00f1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/deploymentPipelines/UpdatePipeline.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "deploymentPipelineId": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "updatePipelineRequest": { + "displayName": "Updated Deployment Pipeline Name", + "description": "Updated deployment pipeline description" + } + }, + "responses": { + "200": { + "body": { + "id": "a5ded933-57b7-41f4-b072-ed4c1f9d5824", + "displayName": "Updated Deployment Pipeline Name", + "description": "Updated deployment pipeline description" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/GetDomain.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/GetDomain.json new file mode 100644 index 000000000..b12ddf9d4 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/GetDomain.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "domainId": "20acb9a8-d54a-4ecd-ae60-27fc226668b6" + }, + "responses": { + "200": { + "body": { + "id": "20acb9a8-d54a-4ecd-ae60-27fc226668b6", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": "541488c9-eb1f-4ee1-8997-10bb2fe6d58c" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomains.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomains.json new file mode 100644 index 000000000..5fd7ee5cd --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomains.json @@ -0,0 +1,23 @@ +{ + "parameters": {}, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "bd3df35d-eccf-4fb2-92e0-5425849fe89e", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": "541488c9-eb1f-4ee1-8997-10bb2fe6d58c" + }, + { + "id": "6d632c47-a320-4aff-8286-8dde706d670f", + "displayName": "Human resources", + "description": "", + "parentDomainId": null + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomainsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomainsWithContinuation.json new file mode 100644 index 000000000..2fc6e918e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/domains/ListDomainsWithContinuation.json @@ -0,0 +1,25 @@ +{ + "parameters": {}, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "bd3df35d-eccf-4fb2-92e0-5425849fe89e", + "displayName": "Finance", + "description": "This domain is used for identifying financial data and reports.", + "parentDomainId": "541488c9-eb1f-4ee1-8997-10bb2fe6d58c" + }, + { + "id": "6d632c47-a320-4aff-8286-8dde706d670f", + "displayName": "Human resources", + "description": "", + "parentDomainId": null + } + ], + "continuationToken": "LDEsMTAwMDAwLDA%3D", + "continuationUri": "https://api.fabric.microsoft.com/v1/domains?continuationToken=LDEsMTAwMDAwLDA%3D" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/CreateManagedPrivateEndpointWithFQDNs.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/CreateManagedPrivateEndpointWithFQDNs.json new file mode 100644 index 000000000..5e938f8ba --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/CreateManagedPrivateEndpointWithFQDNs.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a", + "createManagedPrivateEndpointRequest": { + "name": "testprivatendpoint2", + "targetPrivateLinkResourceId": "/subscriptions/2374e587-d28b-4898-a39c-6070e078ae31/resourceGroups/testrg/providers/Microsoft.Network/privatelinkservice/pls1", + "requestMessage": "Request message to approve private endpoint", + "targetFQDNs": [ + "database1.cloudprovider.net", + "database2.cloudprovider.net" + ] + } + }, + "responses": { + "201": { + "body": { + "id": "59a92b06-6e5a-468c-b748-e28c8ff28da3", + "name": "testprivateendpoint2", + "targetPrivateLinkResourceId": "/subscriptions/2374e587-d28b-4898-a39c-6070e078ae31/resourceGroups/testrg/providers/Microsoft.Network/privatelinkservice/pls1", + "provisioningState": "Provisioning" + }, + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/workspaces/47482db6-4583-4672-86dd-999d0f8f4d7a/managedPrivateEndpoints/59a92b06-6e5a-468c-b748-e28c8ff28da3" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/ListFQDNsInManagedPrivateEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/ListFQDNsInManagedPrivateEndpoint.json new file mode 100644 index 000000000..fb33425bf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/managedPrivateEndpoint/ListFQDNsInManagedPrivateEndpoint.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a", + "managedPrivateEndpointId": "59a92b06-6e5a-468c-b748-e28c8ff28da3" + }, + "responses": { + "200": { + "body": { + "value": [ + "database1.cloudprovider.net", + "database2.cloudprovider.net" + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceToDomain.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceToDomain.json new file mode 100644 index 000000000..72802a4a1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/AssignWorkspaceToDomain.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "f97451ca-d6a0-482f-a46a-cc4b2c48ba56", + "assignWorkspaceToDomainRequest": { + "domainId": "9d04ca81-bb30-4009-bd1a-a9213a4c8d75" + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsIntoFolder.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsIntoFolder.json new file mode 100644 index 000000000..2e53c4aea --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsIntoFolder.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "bulkMoveItemsRequest": { + "targetFolderId": "bbbbbbbb-1111-2222-3333-cccccccccccc", + "items": ["cccccccc-2222-3333-4444-dddddddddddd", "dddddddd-3333-4444-5555-eeeeeeeeeeee"] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "cccccccc-2222-3333-4444-dddddddddddd", + "displayName": "MyLakehouse", + "description": "A lakehouse used by the sales team.", + "type": "Lakehouse", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + { + "id": "eeeeeeee-4444-5555-6666-ffffffffffff", + "displayName": "MyLakehouse", + "description": "A SQL endpoint who is the child of Lakehouse", + "type": "SQLEndpoint", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + { + "id": "ffffffff-5555-6666-7777-aaaaaaaaaaaa", + "displayName": "MyLakehouse", + "description": "A Semantic model who is the child of SQLEndpoint", + "type": "SemanticModel", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + { + "id": "dddddddd-3333-4444-5555-eeeeeeeeeeee", + "displayName": "Notebook", + "description": "A notebook for refining year 2024 sales data analysis through machine learning algorithms.", + "type": "SynapseNotebook", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsWithWorkspaceAsDestination.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsWithWorkspaceAsDestination.json new file mode 100644 index 000000000..43f1ab65e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/BulkMoveItemsWithWorkspaceAsDestination.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "bulkMoveItemsRequest": { + "items": ["cccccccc-2222-3333-4444-dddddddddddd", "dddddddd-3333-4444-5555-eeeeeeeeeeee"] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "cccccccc-2222-3333-4444-dddddddddddd", + "displayName": "MyLakehouse", + "description": "A lakehouse used by the sales team.", + "type": "Lakehouse", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + }, + { + "id": "eeeeeeee-4444-5555-6666-ffffffffffff", + "displayName": "MyLakehouse", + "description": "A SQL endpoint who is the child of Lakehouse", + "type": "SQLEndpoint", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + }, + { + "id": "ffffffff-5555-6666-7777-aaaaaaaaaaaa", + "displayName": "MyLakehouse", + "description": "A Semantic model who is the child of SQLEndpoint", + "type": "SemanticModel", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + }, + { + "id": "dddddddd-3333-4444-5555-eeeeeeeeeeee", + "displayName": "Notebook", + "description": "A notebook for refining year 2024 sales data analysis through machine learning algorithms.", + "type": "SynapseNotebook", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateBulkShortcutOneLakeTargetCsvToDeltaTransform.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateBulkShortcutOneLakeTargetCsvToDeltaTransform.json new file mode 100644 index 000000000..73dd28cc5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateBulkShortcutOneLakeTargetCsvToDeltaTransform.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff222", + "itemId": "25bac802-080d-4f73-8a42-1b406eb1fceb", + "bulkCreateShortcutsRequest": { + "createShortcutRequests": [ + { + "path": "Files/blafolder/folder1", + "name": "OneLakeShortcut1", + "target": { + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder", + "connectionId": "4c868756-f7ce-4df1-8198-b1e5225b668f" + } + }, + "transform": { + "type": "csvToDelta", + "properties": { + "delimiter": ",", + "skipFilesWithErrors": true, + "useFirstRowAsHeader": true + } + } + }, + { + "path": "Files/blafolder/folder2", + "name": "OneLakeShortcut2", + "target": { + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder", + "connectionId": "4c868756-f7ce-4df1-8198-b1e5225b668f" + } + }, + "transform": { + "type": "csvToDelta", + "properties": { + "delimiter": ",", + "skipFilesWithErrors": true, + "useFirstRowAsHeader": true + } + } + }, + { + "path": "Files/blafolder/folder3", + "name": "OneLakeShortcut3", + "target": { + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder" + } + } + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://api.fabric.microsoft.com/v1/operations/c424214a-4417-4ada-a9d8-9c2eae0ed0c3", + "x-ms-operation-id": "c424214a-4417-4ada-a9d8-9c2eae0ed0c3", + "Retry-After": 1 + } + }, + "200": { + "value": [ + { + "request": { + "path": "Files/blafolder/folder1", + "name": "OneLakeShortcut1" + }, + "result": { + "path": "Files/blafolder/folder3", + "name": "OneLakeShortcut1", + "target": { + "type": "OneLake", + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder", + "connectionId": "4c868756-f7ce-4df1-8198-b1e5225b668f" + } + }, + "transform": { + "type": "csvToDelta", + "properties": { + "delimiter": ",", + "skipFilesWithErrors": true, + "useFirstRowAsHeader": true + } + } + }, + "status": "Succeeded" + }, + { + "request": { + "path": "Files/blafolder/folder2", + "name": "OneLakeShortcut3" + }, + "error": { + "errorCode": "ShorcutsOperationNotAllowed", + "message": "Shortcut operation set to abort and shortcut with same name already exists." + }, + "transform": { + "type": "csvToDelta", + "properties": { + "delimiter": ",", + "skipFilesWithErrors": true, + "useFirstRowAsHeader": true + } + }, + "status": "Failed" + }, + { + "request": { + "path": "Files/blafolder/folder3", + "name": "OneLakeShortcut3" + }, + "result": { + "path": "Files/blafolder/folder3", + "name": "OneLakeShortcut3", + "target": { + "type": "OneLake", + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder" + } + } + }, + "status": "Succeeded" + } + ] + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateOrUpdateDataAccessRolesWithConstraints.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateOrUpdateDataAccessRolesWithConstraints.json new file mode 100644 index 000000000..71ff7a3d9 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/CreateOrUpdateDataAccessRolesWithConstraints.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "itemId": "25bac802-080d-4f73-8a42-1b406eb1fceb", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff222", + "createOrUpdateDataAccessRolesRequest": { + "value": [ + { + "name": "default_role_1", + "decisionRules": [ + { + "effect": "Permit", + "permission": [ + { + "attributeName": "Path", + "attributeValueIncludedIn": [ + "*" + ] + }, + { + "attributeName": "Action", + "attributeValueIncludedIn": [ + "Read" + ] + } + ], + "constraints": { + "columns": [ + { + "tablePath": "/Tables/industrytable", + "columnNames": [ + "Industry" + ], + "columnEffect": "Permit", + "columnAction": [ + "Read" + ] + } + ], + "rows": [ + { + "tablePath": "/Tables/industrytable", + "value": "select * from Industrytable where Industry=\"Green\"" + } + ] + } + } + ], + "members": { + "fabricItemMembers": [ + { + "itemAccess": [ + "ReadAll" + ], + "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb" + } + ] + } + } + ] + } + }, + "responses": { + "200": { + "headers": { + "ETag": "33a64df551425fcc55e4d42a148795d9f25f89d4" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithDiagnosticSetting.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithDiagnosticSetting.json new file mode 100644 index 000000000..ae527e226 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithDiagnosticSetting.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227" + }, + "responses": { + "200": { + "body": { + "diagnostics": { + "status": "Enabled", + "destination": { + "type": "Lakehouse", + "lakehouse": { + "referenceType": "ById", + "itemId": "33d48b2c-5b7c-42e2-8467-87fecb105fdd", + "workspaceId": "85173301-af01-49c9-b667-03edc44517da" + } + } + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithoutDiagnosticSetting.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithoutDiagnosticSetting.json new file mode 100644 index 000000000..ec98f62fa --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetOneLakeDiagnosticSettingWithoutDiagnosticSetting.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227" + }, + "responses": { + "200": { + "body": { + "diagnostics": { + "status": "Disabled" + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetShortcutTransformOneLakeTarget.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetShortcutTransformOneLakeTarget.json new file mode 100644 index 000000000..e486d85f0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetShortcutTransformOneLakeTarget.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff222", + "itemId": "25bac802-080d-4f73-8a42-1b406eb1fceb", + "shortcutPath": "Files/blafolder/folder3", + "shortcutName": "MyOneLakeShortcutTransform" + }, + "responses": { + "200": { + "body": { + "path": "Files/blafolder/folder3", + "name": "MyOneLakeShortcutTransform", + "target": { + "type": "OneLake", + "oneLake": { + "workspaceId": "acafbeb1-8037-4d0c-896e-a46fb27ff256", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder" + } + }, + "transform": { + "type": "csvToDelta", + "properties": { + "useFirstRowAsHeader": false, + "delimiter": ",", + "skipFilesWithErrors": true + } + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspace.json index dc9107887..6f052cef2 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspace.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspace.json @@ -9,6 +9,7 @@ "displayName": "New workspace", "description": "New workspace description", "type": "Workspace", + "domainId": "9ce364e0-8e9d-4605-887a-b599b3e8b123", "capacityId": "56bac802-080d-4f73-8a42-1b406eb1fcac", "capacityAssignmentProgress": "Completed", "workspaceIdentity": { diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceNetworkingCommunicationPolicy.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceNetworkingCommunicationPolicy.json new file mode 100644 index 000000000..6fca023c5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceNetworkingCommunicationPolicy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a" + }, + "responses": { + "200": { + "body": { + "inbound": { + "publicAccessRules": { + "defaultAction": "Deny" + } + }, + "outbound": { + "publicAccessRules": { + "defaultAction": "Allow" + } + } + }, + "headers": { + "ETag": "0f8fad5b-d9cb-469f-a165-70867728950e" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceWithPreferWorkspaceSpecificEndpoints.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceWithPreferWorkspaceSpecificEndpoints.json new file mode 100644 index 000000000..6a181cb01 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/GetWorkspaceWithPreferWorkspaceSpecificEndpoints.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "preferWorkspaceSpecificEndpoints" : true + }, + "responses": { + "200": { + "body": { + "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "displayName": "New workspace", + "description": "New workspace description", + "type": "Workspace", + "capacityId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "capacityAssignmentProgress": "Completed", + "workspaceIdentity": { + "applicationId" : "00a4a8f9-78d3-41b3-b87a-6ae5271c8d0d", + "servicePrincipalId": "5ba4ae58-d402-45c6-a848-0253e834fd78" + }, + "capacityRegion": "East US", + "oneLakeEndpoints": { + "blobEndpoint": "https://cfafbeb180374d0c896ea46fb27ff227.zcf.blob.fabric.microsoft.com", + "dfsEndpoint": "https://cfafbeb180374d0c896ea46fb27ff227.zcf.dfs.fabric.microsoft.com" + }, + "apiEndpoint": "https://cfafbeb180374d0c896ea46fb27ff227.zcf.w.api.fabric.microsoft.com" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListDefaultDataAccessRolesWithConstraints.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListDefaultDataAccessRolesWithConstraints.json new file mode 100644 index 000000000..06e534383 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListDefaultDataAccessRolesWithConstraints.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "itemId": "25bac802-080d-4f73-8a42-1b406eb1fceb", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff222" + }, + "responses": { + "200": { + "headers": { + "ETag": "33a64df551425fcc55e4d42a148795d9f25f89d4" + }, + "body": { + "value": [ + { + "name": "DefaultReader", + "decisionRules": [ + { + "effect": "Permit", + "permission": [ + { + "attributeName": "Path", + "attributeValueIncludedIn": [ + "*" + ] + }, + { + "attributeName": "Action", + "attributeValueIncludedIn": [ + "Read" + ] + } + ], + "constraints": { + "columns": [ + { + "tablePath": "/Tables/industrytable", + "columnNames": [ + "Industry" + ], + "columnEffect": "Permit", + "columnAction": [ + "Read" + ] + } + ], + "rows": [ + { + "tablePath": "/Tables/industrytable", + "value": "select * from Industrytable where Industry=\"Green\"" + } + ] + } + } + ], + "members": { + "fabricItemMembers": [ + { + "itemAccess": [ + "ReadAll" + ], + "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb" + } + ] + } + } + ] + } + + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnections.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnections.json index b628cb000..ff737b9a4 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnections.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnections.json @@ -17,7 +17,7 @@ } }, { - "connectivityType": "OnPremisesDataGateway", + "connectivityType": "OnPremisesGateway", "displayName": "ContosoConnection2", "id": "0b9af1bd-e974-4893-8947-d89d5a560385", "gatewayId": "58376c10-5f61-4024-887e-748df4beae45", @@ -30,4 +30,4 @@ } } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnectionsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnectionsWithContinuation.json index e1d8b36ff..19d65bcfe 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnectionsWithContinuation.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListItemConnectionsWithContinuation.json @@ -17,7 +17,7 @@ } }, { - "connectivityType": "OnPremisesDataGateway", + "connectivityType": "OnPremisesGateway", "displayName": "ContosoConnection2", "id": "0b9af1bd-e974-4893-8947-d89d5a560385", "gatewayId": "58376c10-5f61-4024-887e-748df4beae45", @@ -40,4 +40,4 @@ } } } -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListShortcutsWithShortcutTransforms.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListShortcutsWithShortcutTransforms.json new file mode 100644 index 000000000..b3d003727 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListShortcutsWithShortcutTransforms.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "path": "Files/blafolder/folder3", + "name": "MyOneLakeShortcut", + "target": { + "type": "OneLake", + "oneLake": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "itemId": "56bac802-080d-4f73-8a42-1b406eb1fcac", + "path": "Tables/myTablesFolder/someTableSubFolder" + } + }, + "isShortcutTransform": true + }, + { + "path": "Files/blafolder/folder3", + "name": "MyS3CompatibleShortcut", + "target": { + "type": "S3Compatible", + "s3Compatible": { + "connectionId": "3c976446-0bda-472e-8800-f1d6e4f162dc", + "location": "https://s3endpoint.contoso.com", + "bucket": "contosoBucket", + "subpath": "s3CompatibleDirectory" + } + }, + "isShortcutTransform": true + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json index a6801364d..900a6d5d8 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspaces.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", + "domainId": "7c889f28-999b-4945-840d-54da3e3b5a29" } ] } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithPreferWorkspaceSpecificEndpoints.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithPreferWorkspaceSpecificEndpoints.json new file mode 100644 index 000000000..e994ee116 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ListWorkspacesWithPreferWorkspaceSpecificEndpoints.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "preferWorkspaceSpecificEndpoints" : true + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "displayName": "Alice's Workspace", + "description": "A workspace for Alice", + "type": "Workspace", + "apiEndpoint": "https://cfafbeb180374d0c896ea46fb27ff227.zcf.w.api.fabric.microsoft.com" + }, + { + "id": "0c02a0cd-71bc-410f-aa05-5a7bc98765f7", + "displayName": "Bob's Workspace", + "description": "A workspace for Bob", + "type": "Workspace", + "apiEndpoint": "https://0c02a0cd71bc410faa055a7bc98765f7.z0c.w.api.fabric.microsoft.com" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingCreate.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingCreate.json new file mode 100644 index 000000000..2fd8afd85 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingCreate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "modifyOneLakeDiagnosticSettingRequest": { + "status": "Enabled", + "destination": { + "type": "Lakehouse", + "lakehouse": { + "referenceType": "ById", + "itemId": "eceb53c6-6227-41f1-a649-62ebe7ee9eb1", + "workspaceId": "85173301-af01-49c9-b667-03edc44517da" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingDisable.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingDisable.json new file mode 100644 index 000000000..04760dd13 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingDisable.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "modifyOneLakeDiagnosticSettingRequest": { + "status": "Disabled" + } + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingRemove.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingRemove.json new file mode 100644 index 000000000..9b49ff3df --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingRemove.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "modifyOneLakeDiagnosticSettingRequest": { + "status": "Disabled", + "destination": { + "type": "Lakehouse" + } + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingReplace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingReplace.json new file mode 100644 index 000000000..19029a17f --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/ModifyOneLakeDiagnosticSettingReplace.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff227", + "modifyOneLakeDiagnosticSettingRequest": { + "status": "Enabled", + "destination": { + "type": "Lakehouse", + "lakehouse": { + "referenceType": "ById", + "itemId": "83b128a3-f58f-4eee-ab0b-e7e25a748f54", + "workspaceId": "6eb233d7-b1c6-4248-9255-5a0d223f3456" + } + } + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemIntoFolder.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemIntoFolder.json new file mode 100644 index 000000000..792da7e69 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemIntoFolder.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "itemId": "cccccccc-2222-3333-4444-dddddddddddd", + "moveItemRequest": { + "targetFolderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "cccccccc-2222-3333-4444-dddddddddddd", + "type": "Lakehouse", + "displayName": "MyLakehouse", + "description": "A lakehouse used by the sales team.", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + }, + { + "id": "dddddddd-3333-4444-5555-eeeeeeeeeeee", + "type": "SQLEndpoint", + "displayName": "MyLakehouse", + "description": null, + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "folderId": "bbbbbbbb-1111-2222-3333-cccccccccccc" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemWithWorkspaceAsDestination.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemWithWorkspaceAsDestination.json new file mode 100644 index 000000000..50d5d07ee --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/MoveItemWithWorkspaceAsDestination.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", + "itemId": "cccccccc-2222-3333-4444-dddddddddddd", + "moveItemRequest": { + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "cccccccc-2222-3333-4444-dddddddddddd", + "type": "Lakehouse", + "displayName": "MyLakehouse", + "description": "A lakehouse used by the sales team.", + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + }, + { + "id": "dddddddd-3333-4444-5555-eeeeeeeeeeee", + "type": "SQLEndpoint", + "displayName": "MyLakehouse", + "description": null, + "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/SetWorkspaceNetworkingCommunicationPolicy.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/SetWorkspaceNetworkingCommunicationPolicy.json new file mode 100644 index 000000000..e087b7712 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/SetWorkspaceNetworkingCommunicationPolicy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "workspaceId": "47482db6-4583-4672-86dd-999d0f8f4d7a", + "SetWorkspaceNetworkingCommunicationPolicy": { + "inbound": { + "publicAccessRules": { + "defaultAction": "Allow" + } + }, + "outbound": { + "publicAccessRules": { + "defaultAction": "Deny" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "0f8fad5b-d9cb-469f-a165-70867728950e" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UnassignWorkspaceFromDomain.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UnassignWorkspaceFromDomain.json new file mode 100644 index 000000000..2d45f7d04 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UnassignWorkspaceFromDomain.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "workspaceId": "49058730-1621-4033-95b5-4f54da51cb48" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json index 832253780..8e9dee4df 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/platform/UpdateWorkspace.json @@ -12,7 +12,8 @@ "id": "33bae707-5fe7-4352-89bd-061a1318b60a", "displayName": "Workspace New displayName", "description": "Workspace New description", - "type": "Workspace" + "type": "Workspace", + "domainId": "686177b9-ef29-45e4-a5db-1786ca6dbb9f" } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTags.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTags.json index 61d86221f..516db9f26 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTags.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTags.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ] } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTagsWithContinuation.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTagsWithContinuation.json index 5374883f8..c51345dd0 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTagsWithContinuation.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/examples/tags/ListTagsWithContinuation.json @@ -6,31 +6,55 @@ "value": [ { "id": "bc23d4c6-cc92-4eb6-bcb5-0ff98429bbff", - "displayName": "Finance" + "displayName": "Finance", + "scope": { + "type": "Tenant" + } }, { "id": "b0bca781-003c-4041-b1c4-f94d34ba76d4", - "displayName": "Human resources" + "displayName": "Human resources", + "scope": { + "type": "Tenant" + } }, { "id": "6af5a1b6-bc4c-4c0a-b60d-30c68e6e3034", - "displayName": "Engineering P1" + "displayName": "Engineering P1", + "scope": { + "type": "Tenant" + } }, { "id": "6c00e8eb-51d4-46f7-8b90-7e98520ea7a0", - "displayName": "Marketing Q1" + "displayName": "Marketing Q1", + "scope": { + "type": "Tenant" + } }, { "id": "17df435d-9efd-48c1-a937-7d6fd70ab26a", - "displayName": "HR Sales Q1" + "displayName": "HR Sales Q1", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "fb765fe3-d404-4f24-9d67-5916449c4c50", - "displayName": "Root" + "displayName": "Root", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } }, { "id": "bda31be4-7efe-4272-8b85-e1b2ff0f0592", - "displayName": "Legal EMEA" + "displayName": "Legal EMEA", + "scope": { + "type": "Domain", + "domainId": "2443f5f3-b2bb-46ad-a240-1550f1938569" + } } ], "continuationToken": "LDEsMTAwMDAwLDA%3D", diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json index d82b62ff2..02f1b8667 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/platform/swagger.json @@ -49,7 +49,7 @@ } }, "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "description": "Common error codes:\n\n* DomainNotFound - The provided domain was not found\n\n* InsufficientPermissionsToDomain - User permission to the domain is not sufficient to perform the operation\n\n* UnknownError - An error occurred.", "schema": { "$ref": "../common/definitions.json#/definitions/ErrorResponse" } @@ -88,6 +88,13 @@ "description": "A token for retrieving the next page of results.", "type": "string", "required": false + }, + { + "in": "query", + "name": "preferWorkspaceSpecificEndpoints", + "description": "A setting that controls whether to include the workspace-specific API endpoint per workspace. True - Include the workspace-specific API endpoint, False - Do not include the workspace-specific API endpoint.", + "type": "boolean", + "required": false } ], "responses": { @@ -113,6 +120,9 @@ }, "List workspaces with continuation example": { "$ref": "./examples/platform/ListWorkspacesWithContinuation.json" + }, + "List workspaces with preferWorkspaceSpecificEndpoints example": { + "$ref": "./examples/platform/ListWorkspacesWithPreferWorkspaceSpecificEndpoints.json" } } } @@ -136,6 +146,13 @@ "type": "string", "format": "uuid", "required": true + }, + { + "in": "query", + "name": "preferWorkspaceSpecificEndpoints", + "description": "A setting that controls whether to include workspace-specific or general public endpoints for API and OneLake access. True - Include workspace-specific endpoints for API and OneLake access, False - Include general public endpoints for OneLake access.", + "type": "boolean", + "required": false } ], "responses": { @@ -155,6 +172,9 @@ "x-ms-examples": { "Get a workspace example": { "$ref": "./examples/platform/GetWorkspace.json" + }, + "Get a workspace with preferWorkspaceSpecificEndpoints example": { + "$ref": "./examples/platform/GetWorkspaceWithPreferWorkspaceSpecificEndpoints.json" } } }, @@ -251,7 +271,7 @@ "/workspaces/{workspaceId}/roleAssignments": { "post": { "summary": "Adds a workspace role assignment.", - "description": "To get the principal user object ID required for request body, see [Find the user object ID](/partner-center/find-ids-and-domain-names#find-the-user-object-id).\n\n## Permissions\n\n- The caller must have *member* or higher workspace role. \n- Members can add members or others with lower permissions. For more information see: [workspace roles](/power-bi/collaborate-share/service-roles-new-workspaces#workspace-roles).\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": "To get the principal user object ID required for request body, see [Find the user object ID](/partner-center/find-ids-and-domain-names#find-the-user-object-id).\n\n## Permissions\n\n- The caller must have *member* or higher workspace role. \n- Members can add members or others with lower permissions. For more information see: [workspace roles](/power-bi/collaborate-share/service-roles-new-workspaces#workspace-roles).\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations\n\n- Each workspace is limited to a maximum of 1,000 users or groups in workspace roles (Admin, Member, Contributor, Viewer). The number of users within a group is not limited. The limitation also covers external guests.\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" ], @@ -1676,6 +1696,96 @@ } } }, + "/workspaces/{workspaceId}/assignToDomain": { + "post": { + "summary": "Assigns the specified workspace to the specified domain.", + "description": "## Permissions\n\n- The caller must have contributor permissions or be a domain Admin. \n- The caller must have workspace admin role.\n\n## Required Scope\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_AssignToDomain", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "assignWorkspaceToDomainRequest", + "description": "Assign to domain parameters", + "required": true, + "schema": { + "$ref": "./definitions/platform.json#/definitions/AssignWorkspaceToDomainRequest" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* DomainNotFound - The provided domain was not found\n\n* WorkspaceNotFound - The provided workspace was not found\n\n* InsufficientPermissionsToDomain - Caller doesn't have enough permissions to the domain to perform the operation\n\n* InsufficientWorkspaceRole - Caller doesn't have enough permissions to the workspace to perform the operation\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Assign a workspace to a domain example": { + "$ref": "./examples/platform/AssignWorkspaceToDomain.json" + } + } + } + }, + "/workspaces/{workspaceId}/unassignFromDomain": { + "post": { + "summary": "Unassigns the specified workspace from domain.", + "description": "## Permissions\n\n The caller must have workspace admin 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_UnassignFromDomain", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* WorkspaceNotFound - The provided workspace was not found\n\n* InsufficientWorkspaceRole - Caller doesn't have enough permissions to the workspace to perform the operation\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Unassign a workspace from a domain example": { + "$ref": "./examples/platform/UnassignWorkspaceFromDomain.json" + } + } + } + }, "/workspaces/{workspaceId}/git/connection": { "get": { "summary": "Returns git connection details for the specified workspace.", @@ -1724,7 +1834,7 @@ "/workspaces/{workspaceId}/git/connect": { "post": { "summary": "Connect a specific workspace to a git repository and branch.", - "description": "This operation does not sync between the workspace and the connected branch. To complete the sync, use the [Initialize Connection](/rest/api/fabric/core/git/initialize-connection) operation and follow with either the [Commit To Git](/rest/api/fabric/core/git/commit-to-git) or the [Update From Git](/rest/api/fabric/core/git/update-from-git) operation.\n\nTo get started with GitHub, see: [Get started with Git integration](/fabric/cicd/git-integration/git-get-started?tabs=github).\n\nTo get the connection ID, see [Automate Git integration](/fabric/cicd/git-integration/git-automation#get-or-create-git-provider-credentials-connection).\n\n## Permissions\n\nThe caller must have an *admin* role for the workspace.\n\nFor configured connection Git credentials, the caller must have permission for the connection.\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) | Not supported when the Git provider is AzureDevOps and credentials are Automatic |\n\n## Interface", + "description": "This operation does not sync between the workspace and the connected branch. To complete the sync, use the [Initialize Connection](/rest/api/fabric/core/git/initialize-connection) operation and follow with either the [Commit To Git](/rest/api/fabric/core/git/commit-to-git) or the [Update From Git](/rest/api/fabric/core/git/update-from-git) operation.\n\nTo get started with GitHub, see: [Get started with Git integration](/fabric/cicd/git-integration/git-get-started?tabs=github).\n\nTo get the connection ID, see [Automate Git integration](/fabric/cicd/git-integration/git-automation#get-or-create-git-provider-credentials-connection).\n\n## Permissions\n\nThe caller must have an *admin* role for the workspace.\n\nFor configured connection Git credentials, the caller must have permission for the connection.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations \n When using Automatic credentials source, this API is blocked for GitHub provider and for Service Principal.\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) | Supported only when myGitCredentials.source is ConfiguredConnection |\n\n## Interface", "tags": [ "Git" ], @@ -1823,7 +1933,7 @@ "/workspaces/{workspaceId}/git/initializeConnection": { "post": { "summary": "Initialize a connection for a workspace that's connected to Git.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo use this API, the caller's Git credentials must be configured using [Update My Git Credentials](/rest/api/fabric/core/git/update-my-git-credentials) API. You can use the [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to check the Git credentials configuration.\n\nThis API should be called after a successful call to the [Connect](/rest/api/fabric/core/git/connect) API. To complete a full sync of the workspace, use the [Required Action](initialize-connection#requiredaction) operation to call the relevant sync operation, either [Commit To Git](/rest/api/fabric/core/git/commit-to-git) or [Update From Git](/rest/api/fabric/core/git/update-from-git).\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) |\n\n## Interface", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nTo use this API, the caller's Git credentials must be configured using [Update My Git Credentials](/rest/api/fabric/core/git/update-my-git-credentials) API. You can use the [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to check the Git credentials configuration.\n\nThis API should be called after a successful call to the [Connect](/rest/api/fabric/core/git/connect) API. To complete a full sync of the workspace, use the [Required Action](initialize-connection#requiredaction) operation to call the relevant sync operation, either [Commit To Git](/rest/api/fabric/core/git/commit-to-git) or [Update From Git](/rest/api/fabric/core/git/update-from-git).\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": [ "Git" ], @@ -1965,7 +2075,7 @@ "/workspaces/{workspaceId}/git/status": { "get": { "summary": "Returns the `Git status` of items in the workspace, that can be committed to Git.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nThe status indicates changes to items since the last workspace and remote branch sync. If the remote and workspace items were both modified, the API flags a conflict.\n\nTo use this API, the caller's Git credentials must be configured using [Update My Git Credentials](/rest/api/fabric/core/git/update-my-git-credentials) API. You can use the [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to check the Git credentials configuration.\n\n## Permissions\n\nThe caller must have a *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.GitUpdate.All or Workspace.GitCommit.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) |\n\n## Interface", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nThe status indicates changes to items since the last workspace and remote branch sync. If the remote and workspace items were both modified, the API flags a conflict.\n\nTo use this API, the caller's Git credentials must be configured using [Update My Git Credentials](/rest/api/fabric/core/git/update-my-git-credentials) API. You can use the [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to check the Git credentials configuration.\n\n## Permissions\n\nThe caller must have a *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.GitUpdate.All or Workspace.GitCommit.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": [ "Git" ], @@ -2151,7 +2261,7 @@ }, "patch": { "summary": "Updates the user's Git credentials configuration details.", - "description": "Each user in the workspace has their own configured Git credentials. You can use [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to get the Git credentials configuration.\n\nTo get the connection ID, see [Automate Git integration](/fabric/cicd/git-integration/git-automation#get-or-create-git-provider-credentials-connection).\n\n## Permissions\n\nThe caller must have a *contributor* or higher workspace role.\n\nFor configured connection Git credentials, the caller must have permission for the connection.\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) | Not supported when the Git provider is AzureDevOps and credentials are Automatic |\n\n## Interface", + "description": "Each user in the workspace has their own configured Git credentials. You can use [Get My Git Credentials](/rest/api/fabric/core/git/get-my-git-credentials) API to get the Git credentials configuration.\n\nTo get the connection ID, see [Automate Git integration](/fabric/cicd/git-integration/git-automation#get-or-create-git-provider-credentials-connection).\n\n## Permissions\n\nThe caller must have a *contributor* or higher workspace role.\n\nFor configured connection Git credentials, the caller must have permission for the connection.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations \n When using Automatic credentials source, this API is blocked for GitHub provider and for Service Principal.\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) | Supported only when source is ConfiguredConnection or None |\n\n## Interface", "tags": [ "Git" ], @@ -2360,6 +2470,122 @@ } } }, + "/workspaces/{workspaceId}/items/{itemId}/shortcuts/bulkCreate": { + "post": { + "summary": "Creates bulk shortcuts.", + "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 [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Required Delegated Scopes\n\nOneLake.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": [ + "OneLakeShortcuts" + ], + "operationId": "OneLakeShortcuts_CreatesShortcutsInBulk", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": true, + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The ID of the workspace.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "itemId", + "description": "The ID of the data item.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "shortcutConflictPolicy", + "description": "When provided, it defines the action to take when a shortcut with the same name and path already exists. The default action is 'Abort'. Additional ShortcutConflictPolicy types may be added over time.", + "type": "string", + "enum": [ + "Abort", + "GenerateUniqueName", + "CreateOrOverwrite", + "OverwriteOnly" + ], + "x-ms-enum": { + "name": "ShortcutConflictPolicy", + "modelAsString": true, + "values": [ + { + "value": "Abort", + "description": "When a shortcut with the same name and path already exists the shortcut creation will be cancelled." + }, + { + "value": "GenerateUniqueName", + "description": "When a shortcut with the same name and path already exists the shortcut creation will continue with a new unique shortcut name." + }, + { + "value": "CreateOrOverwrite", + "description": "When a shortcut with the same name and path already exists the shortcut creation will overwrite the existing shortcut. Create shortcut if it does not exist." + }, + { + "value": "OverwriteOnly", + "description": "When a shortcut with the same name and path already exists the shortcut creation will overwrite the existing shortcut." + } + ] + }, + "required": false + }, + { + "in": "body", + "name": "bulkCreateShortcutsRequest", + "description": "A shortcut bulk create request includes an array of shortcut objects, each representing a reference pointing to internal or external storage locations within OneLake.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/BulkCreateShortcutsRequest" + }, + "required": true + } + ], + "responses": { + "202": { + "description": "Request accepted. Shortcut creation is in progress.", + "headers": { + "Location": { + "description": "The URL of the operation status, which can be used to track the operation state.", + "type": "string" + }, + "Retry-After": { + "description": "The number of seconds to wait before retrying the request.", + "type": "integer" + }, + "x-ms-operation-id": { + "description": "The operation ID used with long running operations (LRO) APIs to track the operation state and get the result.", + "type": "string", + "format": "uuid" + } + } + }, + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/BulkCreateShortcutResponse" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - Server cannot find the requested item.\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create bulk shortcut example": { + "$ref": "./examples/platform/CreateBulkShortcutOneLakeTargetCsvToDeltaTransform.json" + } + } + } + }, "/workspaces/{workspaceId}/items/{itemId}/shortcuts": { "get": { "summary": "Returns a list of shortcuts for the item, including all the subfolders exhaustively.", @@ -2426,6 +2652,9 @@ }, "List shortcuts with continuation example": { "$ref": "./examples/platform/ListShortcutsWithContinuation.json" + }, + "List shortcuts with shortcut transforms example": { + "$ref": "./examples/platform/ListShortcutsWithShortcutTransforms.json" } } }, @@ -2636,6 +2865,9 @@ }, "Get shortcut AzureBlobStorage target example": { "$ref": "./examples/platform/GetShortcutAzureBlobStorageTarget.json" + }, + "Get shortcut transform with One Lake target example": { + "$ref": "./examples/platform/GetShortcutTransformOneLakeTarget.json" } } }, @@ -2699,52 +2931,141 @@ } } }, - "/tags":{ - "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of all the tenant's tags.", - "description": "## Required Delegated Scopes\n\nTag.Read.All\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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": [ - "Tags" - ], - "operationId": "Tags_ListTags", - "x-ms-pageable": { - "nextLinkName": "continuationUri" - }, - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "type": "string", - "required": false - } - ], - "responses": { - "200": { - "description": "The request was successful.", - "schema": { - "$ref": "../common/definitions.json#/definitions/Tags" - } - }, - "default": { - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "List of all tenant's tags example": { - "$ref": "./examples/tags/ListTags.json" - }, - "List of all tenant's tags with continuation example": { - "$ref": "./examples/tags/ListTagsWithContinuation.json" - } + "/tags": { + "get": { + "summary": "Returns a list of all the tenant's tags.", + "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\nTag.Read.All\n\n## Limitations\n\nMaximum 25 requests per one minute per principal. \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": [ + "Tags" + ], + "operationId": "Tags_ListTags", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "continuationToken", + "description": "A token for retrieving the next page of results.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "../common/definitions.json#/definitions/Tags" } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List of all tenant's tags example": { + "$ref": "./examples/tags/ListTags.json" + }, + "List of all tenant's tags with continuation example": { + "$ref": "./examples/tags/ListTagsWithContinuation.json" + } } + } + }, + "/domains":{ + "get": { + "summary": "Returns a list of all the tenant's domains.", + "description": "## Required Delegated Scopes\n\nDomain.Read.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": [ + "Domains" + ], + "operationId": "Domains_ListDomains", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "continuationToken", + "description": "A token for retrieving the next page of results.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/Domains" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List of all tenant's domains example": { + "$ref": "./examples/domains/ListDomains.json" + }, + "List of all tenant's domains with continuation example": { + "$ref": "./examples/domains/ListDomainsWithContinuation.json" + } + } + } + }, + "/domains/{domainId}":{ + "get": { + "summary": "Returns specified domain information.", + "description": "## Required Delegated Scopes\n\nDomain.Read.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": [ + "Domains" + ], + "operationId": "Domains_GetDomain", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "domainId", + "description": "The domain ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/Domain" + } + }, + "default": { + "description": "Common error codes:\n\n* DomainNotFound - The provided domain was not found\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get domain example": { + "$ref": "./examples/domains/GetDomain.json" + } + } + } }, "/workspaces/{workspaceId}/onelake/resetShortcutCache": { "post": { @@ -2804,6 +3125,131 @@ } } }, + "/workspaces/{workspaceId}/onelake/settings": { + "get": { + "summary": "Get workspace OneLake settings.", + "description": "## Permissions\n\nThe caller must have an *admin* workspace role.\n\n ## Required Delegated Scopes\n\n OneLake.Read.All or OneLake.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": [ + "OneLakeSettings" + ], + "operationId": "OneLakeSettings_GetSettings", + "produces": [ + "application/json" + ], + "x-ms-fabric-sdk-long-running-operation": false, + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/GetOneLakeSettingsResponse" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred. \n\n* WorkspaceNotFound - Workspace not found. \n\n * UserNotAuthorizedSourceWorkspace - User is not authorized for the workspace.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OneLake Setting for workspace with diagnostic setting example": { + "$ref": "./examples/platform/GetOneLakeDiagnosticSettingWithDiagnosticSetting.json" + }, + "Get OneLake Setting for workspace without diagnostic setting example": { + "$ref": "./examples/platform/GetOneLakeDiagnosticSettingWithoutDiagnosticSetting.json" + } + } + } + }, + "/workspaces/{workspaceId}/onelake/settings/modifyDiagnostics": { + "post": { + "summary": "Enables or disables workspace OneLake diagnostic settings.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions\n\n* The caller must have an *admin* workspace role on the source workspace. \n\n * The caller must have *contributor* or above workspace role on the destination workspace. \n\n ## Required Delegated Scopes\n\nOneLake.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": [ + "OneLakeSettings" + ], + "operationId": "OneLakeSettings_ModifyDiagnostics", + "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": "modifyOneLakeDiagnosticSettingRequest", + "description": "The OneLake diagnostic setting object.", + "required": false, + "schema": { + "$ref": "./definitions/platform.json#/definitions/ModifyOneLakeDiagnosticSettingRequest" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "202": { + "description": "Request accepted. Modify diagnostic settings 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred. \n\n* WorkspaceNotFound - Source Workspace not found. \n\n * UserNotAuthorizedSourceWorkspace - User is not authorized for the source workspace.\n\n * UserNotAuthorizedDestinationItem - User is not authorized for the destination workspace.\n\n * DestinationWorkspaceNotFound - Destination Workspace not found.\n\n * DestinationItemNotFound -Destination item not found.\n\n * WorkspaceNotInSameCapacity - Source and destination workspace not in same capacity.\n\n * SettingsNotAllowedOnWorkspace - Diagnostic setting not allowed on workspace.\n\n * RequiredDestination - Destination is required when enabling diagnostics for first time.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create OneLake Diagnostic Setting for Workspace example": { + "$ref": "./examples/platform/ModifyOneLakeDiagnosticSettingCreate.json" + }, + "Disable OneLake Diagnostic Setting for Workspace example": { + "$ref": "./examples/platform/ModifyOneLakeDiagnosticSettingDisable.json" + }, + "Replace OneLake Diagnostic Setting Destination for Workspace example": { + "$ref": "./examples/platform/ModifyOneLakeDiagnosticSettingReplace.json" + }, + "Remove OneLake Diagnostic Setting Destination for Workspace example": { + "$ref": "./examples/platform/ModifyOneLakeDiagnosticSettingRemove.json" + } + } + } + }, "/deploymentPipelines": { "get": { "summary": "Returns a list of deployment pipelines the user can access.", @@ -2851,42 +3297,48 @@ } }, "post": { - "summary": "Creates a new deployment pipeline.", - "description": "\n## Permissions\n\n Service Principals must have permission granted by Fabric administrator. For more information see: [Service principals can create workspaces, connections, and deployment pipelines](/fabric/admin/service-admin-portal-developer#service-principals-can-create-workspaces-connections-and-deployment-pipelines). \n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_CreateDeploymentPipeline", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "createDeploymentPipelineRequest", - "in": "body", - "description": "The create pipeline request.", - "required": true, - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/CreateDeploymentPipelineRequest" - } - } - ], - "responses": { - "201": { - "description": "Successfuly created.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineExtendedInfo" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Create a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/CreateDeploymentPipeline.json" - } + "summary": "Creates a new deployment pipeline.", + "description": "\n## Permissions\n\n Service Principals must have permission granted by Fabric administrator. For more information see: [Service principals can create workspaces, connections, and deployment pipelines](/fabric/admin/service-admin-portal-developer#service-principals-can-create-workspaces-connections-and-deployment-pipelines). \n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_CreateDeploymentPipeline", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "createDeploymentPipelineRequest", + "in": "body", + "description": "The create pipeline request.", + "required": true, + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/CreateDeploymentPipelineRequest" + } } + ], + "responses": { + "201": { + "description": "Successfuly created.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineExtendedInfo" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/CreateDeploymentPipeline.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}": { @@ -2932,331 +3384,366 @@ } }, "patch": { - "summary": "Updates the properties of the specified deployment pipeline.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_UpdateDeploymentPipeline", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "updatePipelineRequest", - "in": "body", - "description": "The update pipeline request.", - "required": true, - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/UpdateDeploymentPipelineRequest" - } - } - ], - "responses": { - "200": { - "description": "Request completed successfully.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineExtendedInfo" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Updates the properties of the specified deployment pipeline.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_UpdateDeploymentPipeline", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Update a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/UpdateDeploymentPipeline.json" - } + { + "name": "updatePipelineRequest", + "in": "body", + "description": "The update pipeline request.", + "required": true, + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/UpdateDeploymentPipelineRequest" + } } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineExtendedInfo" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/UpdateDeploymentPipeline.json" + } + } }, "delete": { - "summary": "Deletes the specified deployment pipeline.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\nThis operation will fail if there's an active deployment operation.\n\n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_DeleteDeploymentPipeline", - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - } - ], - "responses": { - "200": { - "description": "Request completed successfully." - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Delete a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipeline.json" - } + "summary": "Deletes the specified deployment pipeline.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\nThis operation will fail if there's an active deployment operation.\n\n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_DeleteDeploymentPipeline", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipeline.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/roleAssignments": { "get": { - "tags": ["DeploymentPipelines"], - "summary": "Returns a list of deployment pipeline role assignments.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": "DeploymentPipelines_ListDeploymentPipelineRoleAssignments", - "x-ms-pageable": { - "nextLinkName": "continuationUri" + "tags": [ + "DeploymentPipelines" + ], + "summary": "Returns a list of deployment pipeline role assignments.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": "DeploymentPipelines_ListDeploymentPipelineRoleAssignments", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "required": true, + "description": "The deployment pipeline ID.", + "type": "string", + "format": "uuid" }, - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "required": true, - "description": "The deployment pipeline ID.", - "type": "string", - "format": "uuid" - }, - { - "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/deploymentPipelines.json#/definitions/DeploymentPipelineRoleAssignments" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "List role assignments of a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json" - }, - "List role assignments of a deployment pipeline with continuation example": { - "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json" - } + { + "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/deploymentPipelines.json#/definitions/DeploymentPipelineRoleAssignments" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List role assignments of a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineRoleAssignments.json" + }, + "List role assignments of a deployment pipeline with continuation example": { + "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineRoleAssignmentsWithContinuation.json" + } + } }, "post": { - "tags": ["DeploymentPipelines"], - "summary": "Adds a deployment pipeline role assignment.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": "DeploymentPipelines_AddDeploymentPipelineRoleAssignment", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "required": true, - "description": "The deployment pipeline ID.", - "type": "string", - "format": "uuid" - }, - { - "in": "body", - "name": "deploymentPipelineRoleAssignmentRequest", - "description": "Add deployment pipeline role assignment request payload.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/AddDeploymentPipelineRoleAssignmentRequest" - }, - "required": true - } - ], - "responses": { - "200": { - "description": "Request completed successfully." - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "tags": [ + "DeploymentPipelines" + ], + "summary": "Adds a deployment pipeline role assignment.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": "DeploymentPipelines_AddDeploymentPipelineRoleAssignment", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "required": true, + "description": "The deployment pipeline ID.", + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Add a user role assignment to a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json" - }, - "Add a group role assignment to a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json" - }, - "Add a service principal role assignment to a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json" - } + { + "in": "body", + "name": "deploymentPipelineRoleAssignmentRequest", + "description": "Add deployment pipeline role assignment request payload.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/AddDeploymentPipelineRoleAssignmentRequest" + }, + "required": true } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineRoleAssignment" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Add a user role assignment to a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineUserRoleAssignment.json" + }, + "Add a group role assignment to a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineGroupRoleAssignment.json" + }, + "Add a service principal role assignment to a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/AddDeploymentPipelineServicePrincipalRoleAssignment.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/roleAssignments/{principalId}": { "delete": { - "summary": "Deletes the specified deployment pipeline role assignment for the specified principal.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_DeleteDeploymentPipelineRoleAssignment", - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "required": true, - "description": "The deployment pipeline ID.", - "type": "string", - "format": "uuid" - }, - { - "in": "path", - "name": "principalId", - "description": "The principal ID.", - "type": "string", - "format": "uuid", - "required": true - } - ], - "responses": { - "200": { - "description": "Request completed successfully." - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Deletes the specified deployment pipeline role assignment.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_DeleteDeploymentPipelineRoleAssignment", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "required": true, + "description": "The deployment pipeline ID.", + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Remove group role assignment from a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipelineUserGroupRoleAssignment.json" - }, - "Remove service principal role assignment from a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipelineUserPrincipalRoleAssignment.json" - } + { + "in": "path", + "name": "principalId", + "description": "The principal ID.", + "type": "string", + "format": "uuid", + "required": true } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Remove group role assignment from a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipelineUserGroupRoleAssignment.json" + }, + "Remove service principal role assignment from a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/DeleteDeploymentPipelineUserPrincipalRoleAssignment.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/operations": { "get": { - "summary": "Returns a list of the up-to-20 most recent deploy operations performed on the specified deployment pipeline.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_ListDeploymentPipelineOperations", - "x-ms-pageable": { - "nextLinkName": "continuationUri" + "summary": "Returns a list of the up-to-20 most recent deploy operations performed on the specified deployment pipeline.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_ListDeploymentPipelineOperations", + "x-ms-pageable": { + "nextLinkName": "continuationUri" + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "in": "query", - "name": "continuationToken", - "description": "A token for retrieving the next page of results.", - "type": "string", - "required": false - } - ], - "responses": { - "200": { - "description": "Request completed successfully.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineOperations" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "List deployment pipeline operations example": { - "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineOperations.json" - }, - "List deployment pipeline operations with continuation example": { - "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineOperationsWithContinuation.json" - } + { + "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/deploymentPipelines.json#/definitions/DeploymentPipelineOperations" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List deployment pipeline operations example": { + "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineOperations.json" + }, + "List deployment pipeline operations with continuation example": { + "$ref": "./examples/deploymentPipelines/ListDeploymentPipelineOperationsWithContinuation.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/operations/{operationId}": { "get": { - "summary": "Returns the details of the specified deploy operation performed on the specified deployment pipeline, including the deployment execution plan.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_GetDeploymentPipelineOperation", - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "operationId", - "in": "path", - "description": "The operation ID.", - "required": true, - "type": "string", - "format": "uuid" - } - ], - "responses": { - "200": { - "description": "Request completed successfully.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineOperationExtendedInfo" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Returns the details of the specified deploy operation performed on the specified deployment pipeline, including the deployment execution plan.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.Read.All or Pipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_GetDeploymentPipelineOperation", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Get a deployment pipeline operation example": { - "$ref": "./examples/deploymentPipelines/GetDeploymentPipelineOperation.json" - } + { + "name": "operationId", + "in": "path", + "description": "The operation ID.", + "required": true, + "type": "string", + "format": "uuid" } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineOperationExtendedInfo" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a deployment pipeline operation example": { + "$ref": "./examples/deploymentPipelines/GetDeploymentPipelineOperation.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/stages": { @@ -3366,58 +3853,64 @@ } }, "patch": { - "summary": "Updates the properties of the specified deployment pipeline stage.", - "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_UpdateDeploymentPipelineStage", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "stageId", - "in": "path", - "description": "The deployment pipeline stage ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "updatePipelineStageRequest", - "in": "body", - "description": "The update pipeline stage request.", - "required": true, - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineStageRequest" - } - } - ], - "responses": { - "200": { - "description": "Request completed successfully.", - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineStage" - } - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Updates the properties of the specified deployment pipeline stage.", + "description": "## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_UpdateDeploymentPipelineStage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Update a deployment pipeline stage example": { - "$ref": "./examples/deploymentPipelines/UpdateDeploymentPipelineStage.json" - } + { + "name": "stageId", + "in": "path", + "description": "The deployment pipeline stage ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "updatePipelineStageRequest", + "in": "body", + "description": "The update pipeline stage request.", + "required": true, + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineStageRequest" + } } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineStage" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a deployment pipeline stage example": { + "$ref": "./examples/deploymentPipelines/UpdateDeploymentPipelineStage.json" + } + } } }, "/deploymentPipelines/{deploymentPipelineId}/stages/{stageId}/items": { @@ -3567,105 +4060,115 @@ }, "/deploymentPipelines/{deploymentPipelineId}/stages/{stageId}/assignWorkspace": { "post": { - "summary": "Assigns the specified workspace to the specified deployment pipeline stage.", - "description": "This operation will fail if there's an active deployment operation.\n\n## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\nThe caller must have an *admin* workspace role.\n\n## Required Delegated Scopes\n\nPipeline.ReadWrite.All and Workspace.ReadWrite.All\n\n## Limitations\n\n - The specified deployment pipeline stage must not be assigned to any other workspace.\n - Only workspace admins can assign it to a deployment pipeline stage.\n - The specified workspace isn't assigned to any other deployment pipeline stage.\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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_AssignWorkspaceToStage", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "stageId", - "in": "path", - "description": "The deployment pipeline stage ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "deploymentPipelineAssignWorkspaceRequest", - "in": "body", - "description": "The assign workspace request.", - "required": true, - "schema": { - "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineAssignWorkspaceRequest" - } - } - ], - "responses": { - "200": { - "description": "Request completed successfully." - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Assigns the specified workspace to the specified deployment pipeline stage.", + "description": "This operation will fail if there's an active deployment operation.\n\n## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\nThe caller must have an *admin* workspace role.\n\n## Required Delegated Scopes\n\nPipeline.ReadWrite.All and Workspace.ReadWrite.All\n\n## Limitations\n\n - The specified deployment pipeline stage must not be assigned to any other workspace.\n - Only workspace admins can assign it to a deployment pipeline stage.\n - The specified workspace isn't assigned to any other deployment pipeline stage.\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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_AssignWorkspaceToStage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Assign a workspace to a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/AssignWorkspaceToStage.json" - } + { + "name": "stageId", + "in": "path", + "description": "The deployment pipeline stage ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "deploymentPipelineAssignWorkspaceRequest", + "in": "body", + "description": "The assign workspace request.", + "required": true, + "schema": { + "$ref": "./definitions/deploymentPipelines.json#/definitions/DeploymentPipelineAssignWorkspaceRequest" + } } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Assign a workspace to a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/AssignWorkspaceToStage.json" + } + } } - }, - "/deploymentPipelines/{deploymentPipelineId}/stages/{stageId}/unassignWorkspace": { + }, + "/deploymentPipelines/{deploymentPipelineId}/stages/{stageId}/unassignWorkspace": { "post": { - "summary": "Unassigns the workspace from the specified stage in the specified deployment pipeline.", - "description": "This operation will fail if there's an active deployment operation.\n\n## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": ["DeploymentPipelines"], - "operationId": "DeploymentPipelines_UnassignWorkspaceFromStage", - "consumes": [], - "produces": ["application/json"], - "parameters": [ - { - "name": "deploymentPipelineId", - "in": "path", - "description": "The deployment pipeline ID.", - "required": true, - "type": "string", - "format": "uuid" - }, - { - "name": "stageId", - "in": "path", - "description": "The deployment pipeline stage ID.", - "required": true, - "type": "string", - "format": "uuid" - } - ], - "responses": { - "200": { - "description": "Request completed successfully." - }, - "default":{ - "description": "Common error codes:\n\n* UnknownError - An error occurred", - "schema": { - "$ref": "../common/definitions.json#/definitions/ErrorResponse" - } - } + "summary": "Unassigns the workspace from the specified stage in the specified deployment pipeline.", + "description": "This operation will fail if there's an active deployment operation.\n\n## Permissions\n\nThe caller must have an *admin* deployment pipelines role.\n\n## Required Delegated Scopes\n\nPipeline.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": [ + "DeploymentPipelines" + ], + "operationId": "DeploymentPipelines_UnassignWorkspaceFromStage", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "deploymentPipelineId", + "in": "path", + "description": "The deployment pipeline ID.", + "required": true, + "type": "string", + "format": "uuid" }, - "x-ms-examples": { - "Unassign a workspace from a deployment pipeline example": { - "$ref": "./examples/deploymentPipelines/UnassignWorkspaceFromStage.json" - } + { + "name": "stageId", + "in": "path", + "description": "The deployment pipeline stage ID.", + "required": true, + "type": "string", + "format": "uuid" } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Unassign a workspace from a deployment pipeline example": { + "$ref": "./examples/deploymentPipelines/UnassignWorkspaceFromStage.json" + } + } } }, "/workspaces/{workspaceId}/items/{itemId}/dataAccessRoles": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of OneLake roles.", - "description": "## Required Delegated Scopes\n\n OneLake.Read.All or OneLake.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", + "summary": "Returns a list of OneLake roles.", + "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 OneLake.Read.All or OneLake.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": [ "OneLakeDataAccessSecurity" ], @@ -3726,12 +4229,15 @@ }, "List data access roles single page example": { "$ref": "./examples/platform/ListDataAccessRolesSinglePageExample.json" + }, + "List data access roles with constraints example": { + "$ref": "./examples/platform/ListDefaultDataAccessRolesWithConstraints.json" } } }, "put": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates or updates data access roles in OneLake.", - "description": "## Required Delegated Scopes\n\n OneLake.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", + "summary": "Creates or updates data access roles in OneLake.", + "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 OneLake.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": [ "OneLakeDataAccessSecurity" ], @@ -3812,6 +4318,9 @@ }, "Create or update data access roles with tables path example": { "$ref": "./examples/platform/CreateOrUpdateDataAccessRolesWithTablesPathExample.json" + }, + "Create or update data access roles with constraints example": { + "$ref": "./examples/platform/CreateOrUpdateDataAccessRolesWithConstraints.json" } } } @@ -4405,8 +4914,8 @@ }, "/workspaces/{workspaceId}/items/{itemId}/applyTags": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nApply tags on an item.", - "description": "## Permissions\n\n The caller must have *contributor* or higher role on the workspace. \n\n## Required Delegated Scopes\n\n ItemMetadata.ReadWrite.All or these scope types: \n- Generic scope: Item.ReadWrite.All \n- Specific scope: *itemType*.ReadWrite.All (for example: Notebook.ReadWrite.All) \n\n For more information about scopes, see [Scopes article](/rest/api/fabric/articles/scopes).\n\n## Limitations\n\nMaximum 25 requests per hour per principal.\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", + "summary": "Apply tags on an item.", + "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 *contributor* or higher role on the workspace. \n\n## Required Delegated Scopes\n\n ItemMetadata.ReadWrite.All or these scope types: \n- Generic scope: Item.ReadWrite.All \n- Specific scope: *itemType*.ReadWrite.All (for example: Notebook.ReadWrite.All) \n\n For more information about scopes, see [Scopes article](/rest/api/fabric/articles/scopes).\n\n## Limitations\n\nMaximum 25 requests per hour per principal.\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": [ "Tags" ], @@ -4461,8 +4970,8 @@ }, "/workspaces/{workspaceId}/items/{itemId}/unapplyTags": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUnapply tags from an item.", - "description": "## Permissions\n\n The caller must have *contributor* or higher role on the workspace. \n\n## Required Delegated Scopes\n\n ItemMetadata.ReadWrite.All or these scope types: \n- Generic scope: Item.ReadWrite.All \n- Specific scope: *itemType*.ReadWrite.All (for example: Notebook.ReadWrite.All) \n\n For more information about scopes, see [Scopes article](/rest/api/fabric/articles/scopes).\n\n## Limitations\n\nMaximum 25 requests per hour per principal.\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", + "summary": "Unapply tags from an item.", + "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 *contributor* or higher role on the workspace. \n\n## Required Delegated Scopes\n\n ItemMetadata.ReadWrite.All or these scope types: \n- Generic scope: Item.ReadWrite.All \n- Specific scope: *itemType*.ReadWrite.All (for example: Notebook.ReadWrite.All) \n\n For more information about scopes, see [Scopes article](/rest/api/fabric/articles/scopes).\n\n## Limitations\n\nMaximum 25 requests per hour per principal.\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": [ "Tags" ], @@ -4517,8 +5026,8 @@ }, "/workspaces/{workspaceId}/folders": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of folders from the specified workspace.", - "description": "\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\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", + "summary": "Returns a list of folders from 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\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\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": [ "Folders" ], @@ -4591,8 +5100,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a folder in the specified workspace.", - "description": "## Permissions\n\n The caller must have *contributor* or higher 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", + "summary": "Creates a folder 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\n The caller must have *contributor* or higher 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": [ "Folders" ], @@ -4648,8 +5157,8 @@ }, "/workspaces/{workspaceId}/folders/{folderId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns the properties of the specified folder.", - "description": "## Permissions\n\n The caller must have *viewer* or higher role on the workspace. \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", + "summary": "Returns the properties of the specified folder.", + "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 role on the workspace. \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": [ "Folders" ], @@ -4696,8 +5205,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the properties of the specified folder.", - "description": "## Permissions\n\n The caller must have *contributor* or higher role on the workspace.\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", + "summary": "Updates the properties of the specified folder.", + "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 *contributor* or higher role on the workspace.\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": [ "Folders" ], @@ -4756,8 +5265,8 @@ } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified folder.", - "description": "## Permissions\n\n The caller must have *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations \n- This API is supported only for the empty folder. Deleting a folder with any items or nested folders inside is not allowed, and returns a FolderNotEmpty error response.\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", + "summary": "Deletes the specified folder.", + "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 *contributor* or higher workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations \n- This API is supported only for the empty folder. Deleting a folder with any items or nested folders inside is not allowed, and returns a FolderNotEmpty error response.\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": [ "Folders" ], @@ -4803,8 +5312,8 @@ }, "/workspaces/{workspaceId}/folders/{folderId}/move": { "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nMoves the specified folder within the same workspace.", - "description": "## Permissions\n\n The caller must have *contributor* or higher role on the workspace.\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", + "summary": "Moves the specified folder within the same 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 *contributor* or higher role on the workspace.\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": [ "Folders" ], @@ -4866,9 +5375,131 @@ } } }, + "/workspaces/{workspaceId}/items/bulkMove": { + "post": { + "summary": "Move multiple items to a folder. Children items are moved with their parent items. You can't move children items without their parent items.", + "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 *contributor* or higher role on the workspace.\n\n## Required Delegated Scopes\n\nWorkspace.ReadWrite.All\n\n## Limitations\n\n A single request can't contain more than 50 items.\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_BulkMoveItems", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "bulkMoveItemsRequest", + "description": "Bulk move items request payload.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/BulkMoveItemsRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully and all the items are moved.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/MovedItems" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.\n\n* FolderNotFound - Could not find the requested folder.\n\n* CannotMoveChildOnly - Child item can't be moved without its parent item.\n\n If request failed, no items are moved.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Bulk move items into folder example": { + "$ref": "./examples/platform/BulkMoveItemsIntoFolder.json" + }, + "Bulk move items with the workspace as the destination example": { + "$ref": "./examples/platform/BulkMoveItemsWithWorkspaceAsDestination.json" + } + } + } + }, + "/workspaces/{workspaceId}/items/{itemId}/move": { + "post": { + "summary": "Move the specified item to a folder within the same workspace. Child items are moved with their parent item. You can't move a child item without its parent item.", + "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 *contributor* or higher role on the workspace.\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": [ + "Items" + ], + "operationId": "Items_MoveItem", + "consumes": [ + "application/json" + ], + "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": "body", + "name": "moveItemRequest", + "description": "Move item request payload.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/MoveItemRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/platform.json#/definitions/MovedItems" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.\n\n* FolderNotFound - Could not find the requested folder.\n\n* CannotMoveChildOnly - Child item can't be moved without its parent item.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Move an item into folder example": { + "$ref": "./examples/platform/MoveItemIntoFolder.json" + }, + "Move an item with the workspace as the destination example": { + "$ref": "./examples/platform/MoveItemWithWorkspaceAsDestination.json" + } + } + } + }, "/workspaces/{workspaceId}/managedPrivateEndpoints": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of managed private endpoints associated with the specified workspace.", + "summary": "Returns a list of managed private endpoints associated with the specified workspace.", "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" @@ -4921,7 +5552,7 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a managed private endpoint in the specified workspace.", + "summary": "Creates a managed private endpoint in the specified workspace.", "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" @@ -4975,13 +5606,16 @@ "x-ms-examples": { "Create a managed private endpoint example": { "$ref": "./examples/managedPrivateEndpoint/CreateManagedPrivateEndpoint.json" + }, + "Create a managed private endpont with FQDNs example": { + "$ref": "./examples/managedPrivateEndpoint/CreateManagedPrivateEndpointWithFQDNs.json" } } } }, "/workspaces/{workspaceId}/managedPrivateEndpoints/{managedPrivateEndpointId}": { "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified managed private endpoint.", + "summary": "Deletes the specified managed private endpoint.", "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" @@ -5026,7 +5660,7 @@ } }, "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nGets the specified managed private endpoint.", + "summary": "Gets the specified managed private endpoint.", "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" @@ -6282,6 +6916,171 @@ } } } + }, + "/workspaces/{workspaceId}/networking/communicationPolicy": { + "get": { + "summary": "Returns networking communication policy for the specified workspace. This feature is currently in preview.", + "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", + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_GetNetworkCommunicationPolicy", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions/workspaceNetworkingPolicy.json#/definitions/WorkspaceNetworkingCommunicationPolicy" + }, + "headers": { + "ETag": { + "type": "string" + } + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get workspace networking communication policy example": { + "$ref": "./examples/platform/GetWorkspaceNetworkingCommunicationPolicy.json" + } + } + }, + "put": { + "summary": "Sets networking communication policy for the specified workspace. This API uses the PUT method and will overwrite all settings. Remaining policy will be set to default value if only partial policy is provided in the request body. Always run Get Network Communication Policy first and provide full policy in the request body. This feature is currently in preview.", + "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", + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_SetNetworkCommunicationPolicy", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "SetWorkspaceNetworkingCommunicationPolicy", + "description": "Set workspace networking communication policy request payload.", + "schema": { + "$ref": "./definitions/workspaceNetworkingPolicy.json#/definitions/WorkspaceNetworkingCommunicationPolicy" + }, + "required": true + }, + { + "in": "header", + "name": "If-Match", + "description": "An ETag value. The ETag must be specified in quotes. If provided, the call will succeed only if the resource's ETag matches the provided ETag.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "headers": { + "ETag": { + "type": "string" + } + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Set workspace networking communication policy example": { + "$ref": "./examples/platform/SetWorkspaceNetworkingCommunicationPolicy.json" + } + } + } + }, + "/workspaces/{workspaceId}/managedPrivateEndpoints/{managedPrivateEndpointId}/targetFQDNs": { + "get": { + "summary": "Returns a list of fully qualified domain names (FQDNs) associated with the specified managed private endpoint.", + "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" + ], + "operationId": "ManagedPrivateEndpoints_ListFQDNs", + "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": "managedPrivateEndpointId", + "description": "The managed private endpoint 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/managedPrivateEndpoint.json#/definitions/ManagedPrivateEndpointTargetFQDNs" + } + }, + "default": { + "description": "Common error codes:\n\n* UnknownError - An error occurred.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List managed private endpoints in workspace example": { + "$ref": "./examples/managedPrivateEndpoint/ListFQDNsInManagedPrivateEndpoint.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/report/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/report/swagger.json index 8a13b25fc..c9dd4ac3c 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/report/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/report/swagger.json @@ -316,13 +316,6 @@ "type": "string", "format": "uuid", "required": true - }, - { - "in": "query", - "name": "format", - "description": "The format of the report public definition.", - "type": "string", - "required": false } ], "responses": { diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/definitions.json index e5da8dd7c..1be0fc3e8 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/definitions.json @@ -136,6 +136,37 @@ "readOnly": false } } - } + }, + "BindSemanticModelConnectionRequest": { + "description": "The payload of a bindConnection request to bind a data source reference of a semantic model to a data connection.", + "required": ["connectionBinding"], + "properties": { + "connectionBinding": { + "description": "The details of the connection binding.", + "$ref": "#/definitions/ConnectionBinding", + "readOnly": false + } + } + }, + "ConnectionBinding": { + "description": "The details of the connection binding.", + "required": ["connectionDetails"], + "type": "object", + "properties": { + "id": { + "description": "The object ID of the connection.", + "type": "string", + "format": "uuid" + }, + "connectivityType": { + "description": "The connectivity type of the connection.", + "$ref": "../platform/definitions/connections.json#/definitions/ConnectivityType" + }, + "connectionDetails": { + "description": "The connection details of the connection.", + "$ref": "../platform/definitions/connections.json#/definitions/ListConnectionDetails" + } + } + } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/BindSemanticModelConnection.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/BindSemanticModelConnection.json new file mode 100644 index 000000000..ca00a0b9a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/BindSemanticModelConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "semanticModelId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "bindSemanticModelConnectionRequest": { + "connectionBinding": { + "id": "0b9af1bd-e974-4893-8947-d89d5a560385", + "connectivityType": "OnPremisesDataGateway", + "connectionDetails": { + "type": "SQL", + "path": "contoso.database.windows.net;sales" + } + } + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/UnbindSemanticModelConnection.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/UnbindSemanticModelConnection.json new file mode 100644 index 000000000..4475f3901 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/examples/UnbindSemanticModelConnection.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "semanticModelId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "bindSemanticModelConnectionRequest": { + "connectionBinding": { + "connectivityType": "None", + "connectionDetails": { + "type": "SQL", + "path": "contoso.database.windows.net;sales" + } + } + } + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/swagger.json index db8a992bf..856f86673 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/semanticModel/swagger.json @@ -445,6 +445,65 @@ } } } + }, + "/workspaces/{workspaceId}/semanticModels/{semanticModelId}/bindConnection": { + "post": { + "summary": "Binds a semantic model data source reference to a data connection.", + "description": "This API can also be used to unbind data source references. \n\n## Permissions \n\nThe caller must be the owner of the semantic model. \n\n## Limitations \n\nThis API does not support bulk operations. To bind multiple data source references of a semantic model, the user must submit multiple bindConnection requests. \n\n## Required Delegated Scopes \n\nSemanticModel.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_BindSemanticModelConnection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "semanticModelId", + "description": "The semantic model ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "bindSemanticModelConnectionRequest", + "description": "Bind semantic model connection request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/BindSemanticModelConnectionRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested semantic model was not found. \n\n* InvalidRequest - Invalid bind semantic model connection request.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Bind a semantic model connection example": { + "$ref": "./examples/BindSemanticModelConnection.json" + }, + "Unbind a semantic model connection example": { + "$ref": "./examples/UnbindSemanticModelConnection.json" + } + } + } } }, "responses": {}, diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlDatabase/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlDatabase/swagger.json index d5f80454c..7e17955b4 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlDatabase/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlDatabase/swagger.json @@ -12,8 +12,8 @@ "paths": { "/workspaces/{workspaceId}/sqlDatabases": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns a list of SQL databases from the specified workspace.", - "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have a *viewer* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | Yes |\n\n## Interface", + "summary": "Returns a list of SQL databases from the specified workspace.", + "description": "> [!NOTE]\n> SQL Database 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" ], @@ -62,8 +62,8 @@ } }, "post": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nCreates a SQL database in the specified workspace.", - "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n This API does not support create a SQL database with definition. \n\n## Permissions\n\nThe caller must have a *contributor* workspace role.\n\n## Required Delegated Scopes\n\n SQLDatabase.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a SQL database 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", + "summary": "Creates a SQL database in the specified workspace.", + "description": "> [!NOTE]\n> SQL Database 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\n This API does not support create a SQL database with definition. \n\n## Permissions\n\nThe caller must have a *contributor* workspace role.\n\n## Required Delegated Scopes\n\n SQLDatabase.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a SQL database 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" ], @@ -135,8 +135,8 @@ }, "/workspaces/{workspaceId}/sqlDatabases/{SQLDatabaseId}": { "get": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nReturns properties of the specified SQL database.", - "description": "## Permissions\n\nThe caller must have *read* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.Read.All or SQLDatabase.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", + "summary": "Returns properties of the specified SQL database.", + "description": "> [!NOTE]\n> SQL Database item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.Read.All or SQLDatabase.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" ], @@ -183,8 +183,8 @@ } }, "patch": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nUpdates the properties of the specified SQL database.", - "description": "## Permissions\n\nThe caller must have *read and write* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.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", + "summary": "Updates the properties of the specified SQL database.", + "description": "> [!NOTE]\n> SQL Database item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *read and write* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.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" ], @@ -243,8 +243,8 @@ } }, "delete": { - "summary": "> [!NOTE]\n> This API is in preview.\n\nDeletes the specified SQL database.", - "description": "## Permissions\n\nThe caller must have *write* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.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", + "summary": "Deletes the specified SQL database.", + "description": "> [!NOTE]\n> SQL Database item is currently in Preview ([learn more](/fabric/fundamentals/preview)).\n\n## Permissions\n\nThe caller must have *write* permissions for the SQL database.\n\n## Required Delegated Scopes\n\n SQLDatabase.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" ], diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/definitions.json index 39f06b4c6..e71a486eb 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/definitions.json @@ -46,9 +46,16 @@ }, "TableSyncStatuses": { "description": "A list of table synchronization statuses.", - "type": "array", - "items": { - "$ref": "#/definitions/TableSyncStatus" + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of table synchronization statuses.", + "type": "array", + "items": { + "$ref": "#/definitions/TableSyncStatus" + } + } } }, "TableSyncStatus": { @@ -117,6 +124,17 @@ } ] } + }, + "ConnectionStringResponse": { + "description": "The SQL connection string for the workspace containing this SQL endpoint.", + "type": "object", + "properties": { + "connectionString": { + "description": "The SQL connection string for the workspace containing this SQL endpoint.", + "type": "string", + "readOnly": false + } + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetConnectionString.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetConnectionString.json new file mode 100644 index 000000000..9d6b9181c --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetConnectionString.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "sqlEndpointId": "5b218778-e7a5-4d73-8187-f10824047715", + "guestTenantId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "privateLinkType": "Workspace" + }, + "responses": { + "200": { + "body": { + "connectionString": "qvrmbuxie7we7glrekxgy6npqu-6xgyei3x2xiejip4iime6knh5m-jh0bi.zcf.datawarehouse.fabric.microsoft.com" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetSqlAuditSettings.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetSqlAuditSettings.json new file mode 100644 index 000000000..d07cb08a0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/GetSqlAuditSettings.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b" + }, + "responses": { + "200": { + "body": { + "state": "Enabled", + "retentionDays": 10, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/RefreshAllTablesInSqlEndpoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/RefreshAllTablesInSqlEndpoint.json index 8a7a4ccd9..a737508fa 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/RefreshAllTablesInSqlEndpoint.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/RefreshAllTablesInSqlEndpoint.json @@ -1,38 +1,39 @@ { "parameters": { "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", - "sqlEndpointId": "5b218778-e7a5-4d73-8187-f10824047715", - "preview": "true" + "sqlEndpointId": "5b218778-e7a5-4d73-8187-f10824047715" }, "responses": { "200": { - "body": [ - { - "tableName": "Table 1", - "startDateTime": "2025-02-04T22:29:12.4400865Z", - "endDateTime": "2025-02-04T22:29:12.4869641Z", - "status": "Success", - "lastSuccessfulSyncDateTime": "2024-07-23T14:28:23.1864319Z" - }, - { - "tableName": "Table 2", - "startDateTime": "2025-02-04T22:29:13.4400865Z", - "endDateTime": "2025-02-04T22:29:13.4869641Z", - "status": "Failure", - "error": { - "errorCode": "AdalRetryException", - "message": "Couldn't run query. There is a problem with the Microsoft Entra ID token. Have the warehouse owner log in again. If they're unavailable, use the takeover feature." + "body": { + "value": [ + { + "tableName": "Table 1", + "startDateTime": "2025-08-08T10:31:22.2708973Z", + "endDateTime": "2025-08-08T10:36:54.9651741Z", + "status": "Success", + "lastSuccessfulSyncDateTime": "2025-08-08T10:36:54.9651741Z" }, - "lastSuccessfulSyncDateTime": "2024-07-23T14:28:23.1864319Z" - }, - { - "tableName": "Table 3", - "startDateTime": "2025-02-04T22:29:14.4400865Z", - "endDateTime": "2025-02-04T22:29:14.4869641Z", - "status": "NotRun", - "lastSuccessfulSyncDateTime": "2024-07-23T14:28:23.1864319Z" - } - ] + { + "tableName": "Table 2", + "startDateTime": "2025-08-08T10:31:22.2708973Z", + "endDateTime": "2025-08-08T10:43:02.5329616Z", + "status": "Failure", + "error": { + "errorCode": "AdalRetryException", + "message": "Couldn't run query. There is a problem with the Microsoft Entra ID token. Have the warehouse owner log in again. If they're unavailable, use the takeover feature." + }, + "lastSuccessfulSyncDateTime": "2025-08-07T10:44:27.2632648Z" + }, + { + "tableName": "Table 3", + "startDateTime": "2025-08-08T10:31:22.2708973Z", + "endDateTime": "2025-08-08T10:36:59.9183509Z", + "status": "NotRun", + "lastSuccessfulSyncDateTime": "2025-08-06T08:32:53.3890146Z" + } + ] + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/SetAuditActionsAndGroups.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/SetAuditActionsAndGroups.json new file mode 100644 index 000000000..30f9565ed --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/SetAuditActionsAndGroups.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b", + "setAuditActionsAndGroupsRequest": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/UpdateSqlAuditSettings.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/UpdateSqlAuditSettings.json new file mode 100644 index 000000000..eb41573d1 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/examples/UpdateSqlAuditSettings.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b", + "updateAuditSettingsRequest": { + "state": "Enabled", + "retentionDays": 10 + } + }, + "responses": { + "200": { + "state": "Enabled", + "retentionDays": 10, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" + ] + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/swagger.json index cbe92da6b..b58212c60 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/sqlEndpoint/swagger.json @@ -61,9 +61,347 @@ } } } + }, + "/workspaces/{workspaceId}/sqlEndpoints/{sqlEndpointId}/refreshMetadata": { + "post": { + "summary": "Refreshes all tables within a SQL analytics endpoint.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n## Permissions\n\n The caller must have *contributor* or higher workspace role. \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_RefreshSqlEndpointMetadata", + "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": "sqlEndpointId", + "description": "The SQL analytics endpoint ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "sqlEndpointRefreshMetadataRequest", + "description": "Refresh SQL analytics endpoint request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/SqlEndpointRefreshMetadataRequest" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/TableSyncStatuses" + } + }, + "202": { + "description": "Request accepted, SQL analytics table refresh 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Refresh all tables for a specified SQL analytics endpoint in a workspace": { + "$ref": "./examples/RefreshAllTablesInSqlEndpoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/sqlEndpoints/{sqlEndpointId}/connectionString": { + "get": { + "summary": "Returns the SQL connection string of the specified warehouse.", + "description": "## Permissions\n\n The caller must have *read* permissions for the warehouse. The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes\n\n SqlEndpoint.Read.All or SqlEndpoint.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_GetConnectionString", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "sqlEndpointId", + "description": "The SQL endpoint ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "guestTenantId", + "description": "The guest tenant ID if the end user's tenant is different from the SQL endpoint's tenant.", + "type": "string", + "format": "uuid", + "required": false + }, + { + "in": "query", + "name": "privateLinkType", + "description": "Indicates the type of private link this connection string uses. Additional `privateLinkType` types may be added over time.", + "type": "string", + "enum": [ + "None", + "Workspace" + ], + "x-ms-enum": { + "name": "PrivateLinkType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No private link (default)." + }, + { + "value": "Workspace", + "description": "Workspace private Link." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/ConnectionStringResponse" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found. \n\n* InvalidGuestTenantId - The provided ID does not exist.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connection string example": { + "$ref": "./examples/GetConnectionString.json" + } + } + } + }, + "/workspaces/{workspaceId}/sqlEndpoints/{itemId}/settings/sqlAudit": { + "patch": { + "summary": "Update settings associated with the SQL endpoint.", + "description": "## Permissions\n\n The caller must have *audit* item permission. \n\n## Required Delegated Scopes\n\nItem.Audit.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": [ + "SQLAuditSettings" + ], + "operationId": "UpdateSQLAuditSettings", + "consumes": [ + "application/json" + ], + "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": "body", + "name": "updateAuditSettingsRequest", + "description": "Update SQL audit settings request payload.", + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettingsUpdate" + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettings" + + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update SQL Audit Settings": { + "$ref": "./examples/UpdateSqlAuditSettings.json" + } + } + }, + "get": { + "summary": "Returns the settings associated with the SQL endpoint.", + "description": "## Permissions\n\n The caller must have *reader* or higher item permission. \n\n## Required Delegated Scopes\n\nSqlEndpoint.Read.All or SqlEndpoint.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": [ + "SQLAuditSettings" + ], + "operationId": "GetSQLAuditSettings", + "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 + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettings" + } + }, + "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 SQL Audit Settings": { + "$ref": "./examples/GetSqlAuditSettings.json" + } + } + } + }, + "/workspaces/{workspaceId}/sqlEndpoints/{itemId}/settings/sqlAudit/setAuditActionsAndGroups": { + "post": { + "summary": "Update the audit actions and groups for this SQL endpoint.", + "description": "## Permissions\n\n The caller must have *audit* item permission. \n\n## Required Delegated Scopes\n\nItem.Audit.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": [ + "SQLAuditSettings" + ], + "operationId": "SetAuditActionsAndGroups", + "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": "body", + "name": "setAuditActionsAndGroupsRequest", + "description": "Set audit actions and groups request payload.", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Set SQL Audit Groups": { + "$ref": "./examples/SetAuditActionsAndGroups.json" + } + } + } } }, "responses": {}, "security": [], "tags": [] -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/definitions.json new file mode 100644 index 000000000..0da89e278 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/definitions.json @@ -0,0 +1,152 @@ +{ + "swagger": "2.0", + "info": { + "title": "UserDataFunction data types", + "version": "v1" + }, + "paths": {}, + "definitions": { + "UserDataFunction": { + "description": "A UserDataFunction object.", + "type": "object", + "required": ["type"], + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/Item" + } + ], + "properties": { + "properties": { + "description": "The UserDataFunction properties.", + "$ref": "#/definitions/UserDataFunctionProperties" + } + } + }, + "UserDataFunctionProperties": { + "description": "The UserDataFunction properties.", + "type": "object", + "required": ["oneLakeRootPath"], + "properties": { + "oneLakeRootPath": { + "description": "OneLake path to the UserDataFunction root directory.", + "type": "string" + } + } + }, + "UserDataFunctions": { + "description": "A list of User Data Functions.", + "required": ["value"], + "type": "object", + "properties": { + "value": { + "description": "A list of User Data Functions.", + "type": "array", + "items": { + "$ref": "#/definitions/UserDataFunction" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateUserDataFunctionRequest": { + "description": "Create UserDataFunction request payload.", + "required": ["displayName"], + "properties": { + "displayName": { + "description": "The UserDataFunction display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The UserDataFunction description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + }, + "definition": { + "description": "The UserDataFunction public definition.", + "$ref": "#/definitions/UserDataFunctionPublicDefinition", + "readOnly": false + } + } + }, + "UpdateUserDataFunctionDefinitionRequest": { + "description": "Update UserDataFunction public definition request payload.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/UserDataFunctionPublicDefinition" + } + } + }, + "UserDataFunctionDefinitionResponse": { + "description": "UserDataFunction public definition response.", + "required": ["definition"], + "properties": { + "definition": { + "$ref": "#/definitions/UserDataFunctionPublicDefinition", + "readOnly": true + } + } + }, + "UserDataFunctionPublicDefinition" : { + "description": "UserDataFunction public definition object. Refer to this [article](/rest/api/fabric/articles/item-management/definitions/user-data-function) for more details on how to craft a UserDataFunction public definition.", + "type": "object", + "required": ["parts"], + "properties": { + "format": { + "description": "The format of the item definition.", + "type": "string", + "readOnly": false + }, + "parts": { + "description": "A list of definition parts.", + "type": "array", + "items": { + "$ref": "#/definitions/UserDataFunctionPublicDefinitionPart" + }, + "readOnly": false + } + } + }, + "UserDataFunctionPublicDefinitionPart": { + "description": "UserDataFunction definition part object.", + "type": "object", + "properties": { + "path": { + "description": "The UserDataFunction public definition part path.", + "type": "string", + "readOnly": false + }, + "payload": { + "description": "The UserDataFunction public definition part payload.", + "type": "string", + "readOnly": false + }, + "payloadType":{ + "description": "The payload type.", + "$ref": "../common/definitions.json#/definitions/PayloadType", + "readOnly": false + } + } + }, + "UpdateUserDataFunctionRequest": { + "description": "Update UserDataFunction request.", + "properties": { + "displayName": { + "description": "The UserDataFunction display name. The display name must follow naming rules according to item type.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The UserDataFunction description. Maximum length is 256 characters.", + "type": "string", + "readOnly": false + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunction.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunction.json new file mode 100644 index 000000000..7de65709d --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunction.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "preview": true, + "createUserDataFunctionRequest": { + "displayName": "UserDataFunction 1", + "description": "A UserDataFunction description.", + "definition": { + "format": "UserDataFunctionV1", + "parts": [ + { + "path": "UserDataFunctionV1.json", + "payload": "eyJleGVjdXRhYmxlRm..OWRmNDhhY2ZmZTgifQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=", + "payloadType": "InlineBase64" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "displayName": "UserDataFunction 1", + "description": "A UserDataFunction description.", + "type": "UserDataFunction", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunctionWithoutDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunctionWithoutDefinition.json new file mode 100644 index 000000000..e4ed9aadf --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/CreateUserDataFunctionWithoutDefinition.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "preview": true, + "createUserDataFunctionRequest": { + "displayName": "UserDataFunction 1", + "description": "A UserDataFunction description." + } + }, + "responses": { + "201": { + "body": { + "displayName": "UserDataFunction 1", + "description": "A UserDataFunction description.", + "type": "UserDataFunction", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/DeleteUserDataFunction.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/DeleteUserDataFunction.json new file mode 100644 index 000000000..6c7495276 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/DeleteUserDataFunction.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "UserDataFunctionId": "5b218778-e7a5-4d73-8187-f10824047715", + "preview": true + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunction.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunction.json new file mode 100644 index 000000000..565e8f312 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunction.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "f089354e-8366-4e18-aea3-4cb4a3a50b48", + "UserDataFunctionId": "41ce06d1-d81b-4ea0-bc6d-2ce3dd2f8e87", + "preview": true + }, + "responses": { + "200": { + "body": { + "id": "5b218778-e7a5-4d73-8187-f10824047715", + "displayName": "UserDataFunction 1", + "description": "A UserDataFunction description.", + "type": "UserDataFunction", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunctionDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunctionDefinition.json new file mode 100644 index 000000000..d41d5f7c5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/GetUserDataFunctionDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "UserDataFunctionId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "preview": true + }, + "responses": { + "200": { + "body": { + "definition": { + "parts": [ + { + "path": "UserDataFunctionV1.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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/ListUserDataFunctionsInWorkspace.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/ListUserDataFunctionsInWorkspace.json new file mode 100644 index 000000000..e9cf69d71 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/ListUserDataFunctionsInWorkspace.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "preview": true + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "3546052c-ae64-4526-b1a8-52af7761426f", + "displayName": "UserDataFunction Name 1", + "description": "A UserDataFunction description.", + "type": "UserDataFunction", + "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": "UserDataFunction Name 2", + "description": "A UserDataFunction description.", + "type": "UserDataFunction", + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunction.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunction.json new file mode 100644 index 000000000..d0ebc430a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunction.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "UserDataFunctionId": "5b218778-e7a5-4d73-8187-f10824047715", + "preview": true, + "updateUserDataFunctionRequest": { + "displayName": "UserDataFunction's New name", + "description": "UserDataFunction's New description" + } + }, + "responses": { + "200": { + "body": { + "displayName": "UserDataFunction's New name", + "description": "UserDataFunction's New description", + "type": "UserDataFunction", + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "id": "5b218778-e7a5-4d73-8187-f10824047715" + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunctionDefinition.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunctionDefinition.json new file mode 100644 index 000000000..6ceb71224 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/examples/UpdateUserDataFunctionDefinition.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "UserDataFunctionId": "5b218778-e7a5-4d73-8187-f10824047715", + "preview": true, + "updateMetadata" : true, + "updateUserDataFunctionDefinitionRequest": { + "definition": { + "parts": [ + { + "path": "UserDataFunctionV1.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.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/swagger.json new file mode 100644 index 000000000..da7e0e111 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/userDataFunction/swagger.json @@ -0,0 +1,506 @@ +{ + "swagger": "2.0", + "info": { + "title": "UserDataFunction REST APIs", + "version": "v1" + }, + "schemes": [ + "https" + ], + "host": "api.fabric.microsoft.com", + "basePath": "/v1", + "paths": { + "/workspaces/{workspaceId}/UserDataFunctions": { + "get": { + "summary": "Returns a list of UserDataFunctions from the specified workspace.", + "description": "This API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\nThe caller must have a *viewer* workspace role.\n\n## Required Delegated Scopes\n\nWorkspace.Read.All or Workspace.ReadWrite.All\n\n## Microsoft Entra supported identities\n\nThis API supports the Microsoft [identities](/rest/api/fabric/articles/identity-support) listed in this section.\n\n| Identity | Support |\n|-|-|\n| User | Yes |\n| [Service principal](/entra/identity-platform/app-objects-and-service-principals#service-principal-object) and [Managed identities](/entra/identity/managed-identities-azure-resources/overview) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_ListUserDataFunctions", + "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": "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/UserDataFunctions" + } + }, + "default": { + "description": "Common error codes:\n\n* InvalidItemType - Invalid item type.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List UserDataFunctions in workspace example": { + "$ref": "./examples/ListUserDataFunctionsInWorkspace.json" + } + } + }, + "post": { + "summary": "Creates a UserDataFunction in the specified workspace.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n To create UserDataFunction with a public definition, refer to [UserDataFunction](/rest/api/fabric/articles/item-management/definitions/user-data-function) 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 a UserDataFunction 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) | No |\n\n## Interface", + "tags": [ + "Items" + ], + "operationId": "Items_CreateUserDataFunction", + "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": "createUserDataFunctionRequest", + "description": "Create item request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateUserDataFunctionRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/UserDataFunction" + } + }, + "202": { + "description": "Request accepted, UserDataFunction 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." + } + } + }, + "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 UserDataFunction example": { + "$ref": "./examples/CreateUserDataFunctionWithoutDefinition.json" + }, + "Create a UserDataFunction with public definition example": { + "$ref": "./examples/CreateUserDataFunction.json" + } + } + } + }, + "/workspaces/{workspaceId}/UserDataFunctions/{UserDataFunctionId}": { + "get": { + "summary": "Returns properties of the specified UserDataFunction.", + "description": "## Permissions\n\nThe caller must have *read* permissions for the UserDataFunction.\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_GetUserDataFunction", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "UserDataFunctionId", + "description": "The UserDataFunction ID.", + "type": "string", + "format": "uuid", + "required": true + + + + + + + + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/UserDataFunction" + } + }, + "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 UserDataFunction example": { + "$ref": "./examples/GetUserDataFunction.json" + } + } + }, + "patch": { + "summary": "Updates the properties of the specified UserDataFunction.", + "description": "## Permissions\n\nThe caller must have *read and write* permissions for the UserDataFunction.\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_UpdateUserDataFunction", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "UserDataFunctionId", + "description": "The UserDataFunction ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + + + + + + + + "in": "body", + "name": "updateUserDataFunctionRequest", + "description": "Update UserDataFunction request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateUserDataFunctionRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/UserDataFunction" + } + }, + "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 UserDataFunction example": { + "$ref": "./examples/UpdateUserDataFunction.json" + } + } + }, + "delete": { + "summary": "Deletes the specified UserDataFunction.", + "description": "## Permissions\n\nThe caller must have *write* permissions for the UserDataFunction.\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_DeleteUserDataFunction", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "UserDataFunctionId", + "description": "The UserDataFunction ID.", + "type": "string", + "format": "uuid", + "required": true + + + + + + + + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "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 UserDataFunction example": { + "$ref": "./examples/DeleteUserDataFunction.json" + } + } + } + }, + "/workspaces/{workspaceId}/UserDataFunctions/{UserDataFunctionId}/getDefinition": { + "post": { + "summary": "Returns the specified UserDataFunction public definition.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\nWhen you get a UserDataFunction'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 UserDataFunction.\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_GetUserDataFunctionDefinition", + "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": "UserDataFunctionId", + "description": "The UserDataFunction ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + + + + + + + + "name": "format", + "description": "The format of the UserDataFunction public definition.", + "type": "string", + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/UserDataFunctionDefinitionResponse" + } + }, + "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." + } + } + }, + "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 UserDataFunction public definition example": { + "$ref": "./examples/GetUserDataFunctionDefinition.json" + } + } + } + }, + "/workspaces/{workspaceId}/UserDataFunctions/{UserDataFunctionId}/updateDefinition": { + "post": { + "summary": "Overrides the definition for the specified UserDataFunction.", + "description": "This API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation).\n\n \nUpdating the UserDataFunction's definition, does not affect its sensitivity label. \n\n## Permissions\n\nThe caller must have *read and write* permissions for the UserDataFunction.\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_UpdateUserDataFunctionDefinition", + "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": "UserDataFunctionId", + "description": "The UserDataFunction 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": "updateUserDataFunctionDefinitionRequest", + "description": "Update UserDataFunction definition request payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateUserDataFunctionDefinitionRequest" + }, + "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." + } + } + }, + "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 UserDataFunction public definition example": { + "$ref": "./examples/UpdateUserDataFunctionDefinition.json" + } + } + } + } + }, + "responses": {}, + "security": [], + "tags": [] +} + diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/definitions.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/definitions.json index 36f55ec0f..646567c34 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/definitions.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/definitions.json @@ -199,6 +199,130 @@ "readOnly": false } } + }, + "RestorePoint": { + "type": "object", + "description": "The properties of a restore point.", + "required": [ "id", "displayName", "description", "creationMode", "creationDetails" ], + "properties": { + "id": { + "description": "The restore point ID.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The restore point name.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The restore point description.", + "type": "string", + "readOnly": false + }, + "creationMode": { + "description": "The creation mode of the restore point. Additional creation mode types may be added over time.", + "type": "string", + "readOnly": true, + "enum": [ "UserDefined", "SystemCreated" ], + "x-ms-enum": { + "name": "CreationModeType", + "modelAsString": true, + "values": [ + { + "value": "UserDefined", + "description": "User defined restore point." + }, + { + "value": "SystemCreated", + "description": "System created restore point." + } + ] + } + }, + "creationDetails": { + "description": "The creation metadata of the restore point.", + "$ref": "#/definitions/RestorePointEventDetails" + } + } + }, + "RestorePointEventDetails": { + "type": "object", + "description": "The restore point event details.", + "required": [ "eventDateTime" ], + "properties": { + "eventDateTime": { + "description": "The time of the restore point event in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "eventInitiator": { + "description": "The principal that initiated the restore point event.", + "$ref": "../common/definitions.json#/definitions/Principal" + } + } + }, + "RestorePoints": { + "description": "A list of restore points.", + "required": [ "value" ], + "type": "object", + "properties": { + "value": { + "description": "A list of restore points.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RestorePoint" + } + } + }, + "allOf": [ + { + "$ref": "../common/definitions.json#/definitions/PaginatedResponse" + } + ] + }, + "CreateRestorePointRequest": { + "description": "Create restore point request payload.", + "properties": { + "displayName": { + "description": "The restore point name. Maximum length is 128 characters.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The restore point description. Maximum length is 512 characters.", + "type": "string", + "readOnly": false + } + } + }, + "UpdateRestorePointRequest": { + "description": "Update restore point request payload.", + "properties": { + "displayName": { + "description": "The restore point name. Maximum length is 128 characters.", + "type": "string", + "readOnly": false + }, + "description": { + "description": "The restore point description. Maximum length is 512 characters.", + "type": "string", + "readOnly": false + } + } + }, + "ConnectionStringResponse": { + "description": "The SQL connection string for the workspace containing this warehouse.", + "type": "object", + "properties": { + "connectionString": { + "description": "The SQL connection string for the workspace containing this warehouse.", + "type": "string", + "readOnly": false + } + } } } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/CreateRestorePoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/CreateRestorePoint.json new file mode 100644 index 000000000..019b3a87a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/CreateRestorePoint.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "createRestorePointRequest": { + "displayName": "Restore point 1", + "description": "Restore point 1 description." + } + }, + "responses": { + "201": { + "body": { + "id": "1726617378000", + "displayName": "Restore point 1", + "description": "Restore point 1 description.", + "creationMode": "UserDefined", + "creationDetails": { + "eventDateTime": "2024-10-18T22:17:09Z", + "eventInitiator": { + "id": "f3052d1c-61a9-46fb-8df9-0d78916ae041", + "displayName": "Jacob Hancock", + "type": "User", + "userDetails": { + "userPrincipalName": "jacob@contoso.com" + } + } + } + } + }, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/DeleteRestorePoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/DeleteRestorePoint.json new file mode 100644 index 000000000..a94910a6e --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/DeleteRestorePoint.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "restorePointId": "1726617378000" + }, + "responses": { + "200": {} + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetConnectionString.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetConnectionString.json new file mode 100644 index 000000000..3e503027b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetConnectionString.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "guestTenantId": "6e335e92-a2a2-4b5a-970a-bd6a89fbb765", + "privateLinkSetting": "Workspace" + }, + "responses": { + "200": { + "body": { + "connectionString": "qvrmbuxie7we7glrekxgy6npqu-6xgyei3x2xiejip4iime6knh5m-jh0bi.zcf.datawarehouse.fabric.microsoft.com" + } + } + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetRestorePoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetRestorePoint.json new file mode 100644 index 000000000..eb1b4bb3b --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetRestorePoint.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "restorePointId": "1726617378000" + }, + "responses": { + "200": { + "body": { + "id": "1726617378000", + "displayName": "Restore point 1", + "description": "Restore point 1 description.", + "creationMode": "UserDefined", + "creationDetails": { + "eventDateTime": "2024-10-18T22:17:09Z", + "eventInitiator": { + "id": "f3052d1c-61a9-46fb-8df9-0d78916ae041", + "displayName": "Jacob Hancock", + "type": "User", + "userDetails": { + "userPrincipalName": "jacob@contoso.com" + } + } + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetSqlAuditSettings.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetSqlAuditSettings.json new file mode 100644 index 000000000..d07cb08a0 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/GetSqlAuditSettings.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b" + }, + "responses": { + "200": { + "body": { + "state": "Enabled", + "retentionDays": 10, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/ListRestorePoints.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/ListRestorePoints.json new file mode 100644 index 000000000..6732564e5 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/ListRestorePoints.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "1726617378000", + "displayName": "Restore point 1", + "description": "Restore point 1 description.", + "creationMode": "UserDefined", + "creationDetails": { + "eventDateTime": "2024-10-18T22:17:09Z", + "eventInitiator": { + "id": "f3052d1c-61a9-46fb-8df9-0d78916ae041", + "displayName": "Jacob Hancock", + "type": "User", + "userDetails": { + "userPrincipalName": "jacob@contoso.com" + } + } + } + }, + { + "id": "1726617379000", + "displayName": "Restore point", + "description": "", + "creationMode": "SystemCreated", + "creationDetails": { + "eventDateTime": "2024-10-18T22:17:09Z", + "eventInitiator": null + } + } + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/RestoreToRestorePoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/RestoreToRestorePoint.json new file mode 100644 index 000000000..3ec806b25 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/RestoreToRestorePoint.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "restorePointId": "1726617378000" + }, + "responses": { + "200": {}, + "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.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/SetAuditActionsAndGroups.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/SetAuditActionsAndGroups.json new file mode 100644 index 000000000..30f9565ed --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/SetAuditActionsAndGroups.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b", + "setAuditActionsAndGroupsRequest": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateRestorePoint.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateRestorePoint.json new file mode 100644 index 000000000..a5d0ae39a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateRestorePoint.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", + "warehouseId": "5b218778-e7a5-4d73-8187-f10824047715", + "restorePointId": "1726617378000", + "updateRestorePointRequest": { + "displayName": "Restore point 3", + "description": "Restore point 3 description." + } + }, + "responses": { + "200": { + "body": { + "id": "1726617378000", + "displayName": "Restore point 3", + "description": "Restore point 3 description.", + "creationMode": "UserDefined", + "creationDetails": { + "eventDateTime": "2024-10-18T22:17:09Z", + "eventInitiator": { + "id": "f3052d1c-61a9-46fb-8df9-0d78916ae041", + "displayName": "Jacob Hancock", + "type": "User", + "userDetails": { + "userPrincipalName": "jacob@contoso.com" + } + } + } + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateSqlAuditSettings.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateSqlAuditSettings.json new file mode 100644 index 000000000..ea4169b5a --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/examples/UpdateSqlAuditSettings.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "workspaceId": "a97f3e88-9f0a-4183-b1d9-31e6eb00e778", + "itemId": "70bcc992-a346-4f21-afe5-8b9ed1596a2b", + "updateAuditSettingsRequest": { + "state": "Enabled", + "retentionDays": 10 + } + }, + "responses": { + "200": { + "body": { + "state": "Enabled", + "retentionDays": 10, + "auditActionsAndGroups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" + ] + } + } + } +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/swagger.json b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/swagger.json index af4b69f61..d785c9575 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/swagger.json +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/fabric-rest-api-specs/contents/warehouse/swagger.json @@ -290,9 +290,661 @@ } } } + }, + "/workspaces/{workspaceId}/warehouses/{warehouseId}/connectionString": { + "get": { + "summary": "Returns the SQL connection string of the specified warehouse.", + "description": "## Permissions\n\n The caller must have *read* permissions for the warehouse. The caller must have *viewer* or higher workspace role. \n\n## Required Delegated Scopes\n\n Warehouse.Read.All or Warehouse.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_GetConnectionString", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "query", + "name": "guestTenantId", + "description": "The guest tenant ID if the end user's tenant is different from the warehouse tenant.", + "type": "string", + "format": "uuid", + "required": false + }, + { + "in": "query", + "name": "privateLinkType", + "description": "Indicates the type of private link this connection string uses. Additional `privateLinkType` types may be added over time.", + "type": "string", + "enum": [ + "None", + "Workspace" + ], + "x-ms-enum": { + "name": "PrivateLinkType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No private link (default)." + }, + { + "value": "Workspace", + "description": "Workspace private Link." + } + ] + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/ConnectionStringResponse" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found. \n\n* InvalidGuestTenantId - The provided guest tenant ID does not exist.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connection string example": { + "$ref": "./examples/GetConnectionString.json" + } + } + } + }, + "/workspaces/{workspaceId}/warehouses/{itemId}/settings/sqlAudit": { + "patch": { + "summary": "Update settings associated with the warehouse.", + "description": "## Permissions\n\n The caller must have *audit* item permission. \n\n## Required Delegated Scopes\n\nItem.Audit.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": [ + "SQLAuditSettings" + ], + "operationId": "UpdateSQLAuditSettings", + "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": "body", + "name": "updateAuditSettingsRequest", + "description": "Update SQL audit settings request payload.", + "required": true, + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettingsUpdate" + } + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettings" + } + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update SQL Audit Settings": { + "$ref": "./examples/UpdateSqlAuditSettings.json" + } + } + }, + "get": { + "summary": "Returns the settings associated with the warehouse.", + "description": "## Permissions\n\n The caller must have *reader* or higher item permission. \n\n## Required Delegated Scopes\n\nWarehouse.Read.All or Warehouse.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": [ + "SQLAuditSettings" + ], + "operationId": "GetSQLAuditSettings", + "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 + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "../common/definitions.json#/definitions/SqlAuditSettings" + } + }, + "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 SQL Audit Settings": { + "$ref": "./examples/GetSqlAuditSettings.json" + } + } + } + }, + "/workspaces/{workspaceId}/warehouses/{itemId}/settings/sqlAudit/setAuditActionsAndGroups": { + "post": { + "summary": "Update the audit actions and groups for this warehouse.", + "description": "## Permissions\n\n The caller must have *audit* item permission. \n\n## Required Delegated Scopes\n\nItem.Audit.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": [ + "SQLAuditSettings" + ], + "operationId": "SetAuditActionsAndGroups", + "consumes": [ + "application/json" + ], + "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": "body", + "name": "setAuditActionsAndGroupsRequest", + "description": "Set audit actions and groups request payload.", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP" + ] + } + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Set SQL Audit Groups": { + "$ref": "./examples/SetAuditActionsAndGroups.json" + } + } + } + }, + "/workspaces/{workspaceId}/warehouses/{warehouseId}/restorePoints": { + "get": { + "summary": "Returns all restore points for a warehouse.", + "description": "\nThis API supports [pagination](/rest/api/fabric/articles/pagination).\n\n## Permissions\n\n The caller must have *read* or *write* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.Read.All or Warehouse.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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_ListRestorePoints", + "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": "warehouseId", + "description": "The warehouse 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/RestorePoints" + } + }, + "default": { + "description": "Common error codes:\n\n* InvalidItemType - Invalid item type.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List restore points in a warehouse example": { + "$ref": "./examples/ListRestorePoints.json" + } + } + }, + "post": { + "summary": "Creates a restore point for a warehouse at the current timestamp.", + "description": "\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* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.ReadWrite.All or Item.ReadWrite.All\n\n## Limitations\n\nWarehouse deletes both the system-created and user-defined restore point at the expiry of the 30 calendar day retention period.\n\nA restore point cannot be created if there is already a restore point creation already in-progress or during warehouse creation, deletion or rename.\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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_CreateRestorePoint", + "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": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "body", + "name": "createRestorePointRequest", + "description": "Create restore point payload.", + "schema": { + "$ref": "./definitions.json#/definitions/CreateRestorePointRequest" + }, + "required": true + } + ], + "responses": { + "201": { + "description": "Successfully created", + "schema": { + "$ref": "./definitions.json#/definitions/RestorePoint" + } + }, + "202": { + "description": "Request accepted, restore point creation 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* RestorePointCreationAlreadyInProgress - A restore point creation is already in-progress.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a restore point example": { + "$ref": "./examples/CreateRestorePoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/warehouses/{warehouseId}/restorePoints/{restorePointId}": { + "get": { + "summary": "Returns the properties of a restore point specified for a warehouse.", + "description": "## Permissions\n\n The caller must have *read* or *write* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.Read.All or Warehouse.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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_GetRestorePoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "restorePointId", + "description": "The restore point ID.", + "type": "string", + "format": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/RestorePoint" + } + }, + "default": { + "description": "Common error codes:\n\n* RestorePointNotFound - The requested restore point does not exist, or the caller doesn't have sufficient permissions for this operation.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a restore point example": { + "$ref": "./examples/GetRestorePoint.json" + } + } + }, + "delete": { + "summary": "Deletes a restore point specified for a warehouse.", + "description": "## Permissions\n\n The caller must have *write* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.ReadWrite.All or Item.ReadWrite.Alll\n\n## Limitations\n\nYou can delete user-defined restore points, but system-created restore points cannot be deleted.\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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_DeleteRestorePoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "restorePointId", + "description": "The restore point ID.", + "type": "string", + "format": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "default": { + "description": "Common error codes:\n\n* RestorePointNotFound - The requested restore point does not exist, or the caller doesn't have sufficient permissions for this operation. \n\n* CannotDeleteAutomaticRestorePointException - System generated restore points cannot be deleted.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a restore point example": { + "$ref": "./examples/DeleteRestorePoint.json" + } + } + }, + "patch": { + "summary": "Updates an existing restore point by renaming the name or description of it.", + "description": "## Permissions\n\n The caller must have *write* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.ReadWrite.All or Item.ReadWrite.Alll\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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_UpdateRestorePoint", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "workspaceId", + "description": "The workspace ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "restorePointId", + "description": "The restore point ID.", + "type": "string", + "format": "string", + "required": true + }, + { + "in": "body", + "name": "updateRestorePointRequest", + "description": "Update restore point payload.", + "schema": { + "$ref": "./definitions.json#/definitions/UpdateRestorePointRequest" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/RestorePoint" + } + }, + "default": { + "description": "Common error codes:\n\n* RestorePointNotFound - The requested restore point does not exist, or the caller doesn't have sufficient permissions for this operation. \n\n* InvalidRequest - Invalid update request.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a restore point example": { + "$ref": "./examples/UpdateRestorePoint.json" + } + } + } + }, + "/workspaces/{workspaceId}/warehouses/{warehouseId}/restorePoints/{restorePointId}/restore": { + "post": { + "summary": "Restores a warehouse in-place to the restore point specified.", + "description": "\n\nThis API supports [long running operations (LRO)](/rest/api/fabric/articles/long-running-operation). \n\n ## Permissions\n\n The caller must have *restore* warehouse permission. \n\n## Required Delegated Scopes\n\nWarehouse.Restore.All\n\n## Limitations\n\nA restore point cannot be restored if there is another restore point restoration already in-progress.\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": [ + "RestorePoints" + ], + "operationId": "RestorePoints_RestoreToRestorePoint", + "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": "warehouseId", + "description": "The warehouse ID.", + "type": "string", + "format": "uuid", + "required": true + }, + { + "in": "path", + "name": "restorePointId", + "description": "The restore point ID.", + "type": "string", + "format": "string", + "required": true + } + ], + "responses": { + "200": { + "description": "Request completed successfully." + }, + "202": { + "description": "Request accepted, restore point restoration 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." + } + } + }, + "default": { + "description": "Common error codes:\n\n* RestorePointNotFound - The requested restore point does not exist, or the caller doesn't have sufficient permissions for this operation. \n\n* RestorePointRestorationAlreadyInProgress - A restore point restoration is already in-progress.", + "schema": { + "$ref": "../common/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a warehouse example": { + "$ref": "./examples/RestoreToRestorePoint.json" + } + } + } } }, "responses": {}, "security": [], "tags": [] -} \ No newline at end of file +} diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/anomalydetector-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/anomalydetector-definition.md new file mode 100644 index 000000000..46cd6b893 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/anomalydetector-definition.md @@ -0,0 +1,263 @@ +--- +title: Anomaly detector definition +description: Learn how to structure an anomaly detector item definition when using the Microsoft Fabric REST API. +ms.title: Microsoft Fabric anomaly detector item definition +author: rnandurimsft +ms.author: rnanduri +ms.service: fabric +ms.date: 08/11/2025 +--- + +# Anomaly detector definition + +This article provides a breakdown of the definition structure for anomaly detector items. + +## Definition parts + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `Configurations.json` | [AnomalyDefinition](#anomalydefinition-contents) (JSON) | true | The anomaly detector configuration, including data source, model selection, parameters, and detection settings | + +## AnomalyDefinition contents + +Root shape of the definition payload. + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| univariateConfigurations | [ADUnivariateConfiguration](#adunivariateconfiguration-contents)[] | true | One or more univariate anomaly detection configurations | + +### ADUnivariateConfiguration contents + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| configurationId | String (GUID) | true | Unique ID of the configuration | +| configurationName | String | true | Human-friendly name of the configuration | +| fabricDataSource | [FabricDataSourceDetails](#fabricdatasourcedetails-and-kqldbsource) | true | Details of the Fabric data source to read the time series from | +| modelOption | [AdModelOption](#admodeloption-contents) | true | Model selection and parameters | +| detectionSettings | [DetectionSettings](#detectionsettings-contents) | true | Detection behavior settings | + +### FabricDataSourceDetails and KQLDbSource + +FabricDataSourceDetails is a polymorphic type. Use the discriminator property `dataSourceType` to select the concrete shape. Currently supported in this example: `KqlDb`. + +Common properties for all Fabric data sources: + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| workspaceId | String (GUID) | true | Workspace ID that contains the source artifact | +| artifactId | String (GUID) | true | Artifact ID of the source (for KQL DB, the database artifact) | +| dataSourceType | String | true | Polymorphic discriminator. Use `KqlDb` for KQL database sources | + +KQLDbSource additional properties: + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| tableName | String | true | Table name with the time series data | +| timestampColumnName | String | true | Column containing timestamps | +| instanceIDColumnName | String | true | Column identifying the series instance (entity ID) | +| attributeColumnName | String | true | Column containing the observed value or attribute | + +### AdModelOption contents + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| modelSelection | [ModelInfo](#modelinfo-contents) | true | Model algorithm and version | +| parameters | [AdModelParameter](#admodelparameter-contents-polymorphic)[] | false | Optional list of model parameters | + +### ModelInfo contents + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| modelAlgorithm | String | true | Algorithm identifier (for example, `SR`, `PCA`, `HBOS`) | +| modelVersion | String | true | Model version identifier | +| modelName | String | true | Display name for the model | +| modelDescription | String | false | Optional description of the model | + +## Supported modelAlgorithm values + +Set `modelSelection.modelAlgorithm` to one of the following values. The value must match exactly (case-sensitive): + +- DIFF_ROLLING_SCORE — Difference from rolling mean (squared error) +- SIGNAL_SCORE — Uses the raw signal as the score +- MEDIAN_DISTANCE_SCORE — Absolute distance from median +- MEDIAN_DISTANCE_SCORE_ADVANCED — Rolling median distance over a window +- MEAN_DISTANCE_SCORE — Absolute distance from mean +- DIFF_DIFF_STANDARD_SCORE — Standard deviation of second differences over a window +- SR_WINDOW — Spectral Residual (windowed variant) +- HBOS — Histogram-Based Outlier Score +- SR — Spectral Residual +- PCA — Principal Component Analysis based scoring +- SR_WINDOW_ADVANCED — Advanced Spectral Residual (windowed) variant +- KNN — k-Nearest Neighbors distance based scoring + +### DetectionSettings contents + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| confidence | Integer (1-100) | true | Detection confidence threshold | +| autoPublish | Boolean | false | When true, anomaly events are published; default is false | + +### AdModelParameter contents (polymorphic) + +This type uses polymorphism. Use the discriminator property `$type` with one of the following values to specify the parameter shape: + +- Integer +- Float +- String +- Boolean +- IntArr +- FloatArr +- StringArr +- BoolArr + +Common property for all parameters: + +| Name | Type | Required | Description | +|------|------|----------|-------------| +| name | String | true | Parameter name | +| value | true | Parameter value | + +Parameter shapes by `$type` value: + +- `$type: "Integer"` -> value: Integer +- `$type: "Float"` -> value: Number +- `$type: "String"` -> value: String +- `$type: "Boolean"` -> value: Boolean +- `$type: "IntArr"` -> value: Integer[] +- `$type: "FloatArr"` -> value: Number[] +- `$type: "StringArr"`-> value: String[] +- `$type: "BoolArr"` -> value: Boolean[] + +## AnomalyDefinition example + +```json +{ + "$id": "https://developer.microsoft.com/json-schemas/fabric/item/anomalyDetector/definition/1.0.0/schema.json", + "$schema": "https://json-schema.org/draft-07/schema#", + "univariateConfigurations": [ + { + "configurationId": "a1a1a1a1-b2b2-4c4c-8d8d-e3e3e3e3e3e3", + "configurationName": "KQL temperature anomalies", + "fabricDataSource": { + "dataSourceType": "KqlDb", + "workspaceId": "11111111-2222-3333-4444-555555555555", + "artifactId": "66666666-7777-8888-9999-aaaaaaaaaaaa", + "tableName": "device_temperature", + "timestampColumnName": "ts", + "instanceIDColumnName": "deviceId", + "attributeColumnName": "temperature" + }, + "modelOption": { + "modelSelection": { + "modelAlgorithm": "SR", + "modelVersion": "1.0", + "modelName": "Spectral Residual", + "modelDescription": "Spectral Residual configuration for temperature series" + }, + "parameters": [ + { + "$type": "String", + "name": "ImputeMode", + "value": "auto" + }, + { + "$type": "String", + "name": "Granularity", + "value": "daily" + }, + { + "$type": "Float", + "name": "MaxAnomalyRatio", + "value": 0.9 + }, + { + "$type": "Integer", + "name": "Sensitivity", + "value": 45 + }, + { + "$type": "Integer", + "name": "Regularization", + "value": 1 + }, + { + "$type": "Integer", + "name": "Periodicity", + "value": 24 + } + ] + }, + "detectionSettings": { + "confidence": 95, + "autoPublish": true + } + } + ] +} +``` + +## Notes + +- Use `dataSourceType` to select the concrete data source shape. For KQL DB, set `dataSourceType` to `KqlDb` and include the additional KQL fields. +- For model parameters, include the `$type` discriminator so parameters are bound to the correct shape. +- `confidence` must be an integer between 1 and 100 (inclusive). + +## Model parameters by algorithm + +This section lists commonly used parameter names observed in the implementation. All parameters are optional unless stated; defaults are determined by the service when omitted. Provide parameters in the `modelOption.parameters` array, using the proper `$type`. + +### General cross-cutting parameters + +The following parameters are supported across all model algorithms: + +| Parameter | Type | Description | Example Value | +|-----------|------|-------------|---------------| +| ImputeMode | String | Data imputation strategy for missing values | `"auto"` | +| Granularity | String | Time series granularity | `"daily"` | +| MaxAnomalyRatio | Float | Maximum expected ratio of anomalies in the data | `0.9` | +| Sensitivity | Integer | Detection sensitivity level | `45` | +| Regularization | Integer | Regularization frequency for the model | `1` | +| Periodicity | Integer | Expected periodicity in the data | `24` (hourly data with daily pattern) | + +Example usage in parameters array: + +```json +"parameters": [ + { + "$type": "String", + "name": "ImputeMode", + "value": "auto" + }, + { + "$type": "String", + "name": "Granularity", + "value": "daily" + }, + { + "$type": "Float", + "name": "MaxAnomalyRatio", + "value": 0.9 + }, + { + "$type": "Integer", + "name": "Sensitivity", + "value": 45 + }, + { + "$type": "Integer", + "name": "Regularization", + "value": 1 + }, + { + "$type": "Integer", + "name": "Periodicity", + "value": 24 + } +] +``` + + +Notes: + +- Parameter names are case-sensitive and should match those shown above. +- Some models compute internal defaults when parameters aren’t provided. diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/datapipeline-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/datapipeline-definition.md index 03975fe5b..3af1099bb 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/datapipeline-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/datapipeline-definition.md @@ -33,53 +33,1102 @@ Describes the fields used to construct the DataPipelineProperties | Name | Type | Required | Description | |-----------------------|-----------------|-----------------|-------------------| -| activities | Activity[] | false | List of activities. See [Description for Activity contents](#description-for-activity-contents) | +| activities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | false | List of activities.| | description | String | false | Description of Data Pipeline | -### Description for Activity contents +### Description for DataPipelineActivity contents | Name | Type | Required | Description | |-----------------------|-----------------|-----------------|-------------------| | name | String | true | Name of the activity | -| type | String | true | Type of the activity | -| dependsOn | DependencyActivity[] | false | List of activities the activity depends on. See [Description for DependencyActivity contents](#description-for-dependencyactivity-contents) | -| typeProperties | object(JSON) | true | Type properties of activity | +| type | [DataPipelineActivityType](#datapipelineactivitytypes) | true | Type of the activity | +| state | [ActivityState](#activitystate-values) | false | State of the activity. Set as `Active` by default. | +| onInactiveMarkAs | [OnInactiveMarkAs](#oninactivemarkas-values) | false | Status result of the activity when the state is set to Inactive. The status will be `Succeeded` by default if not set.| +| dependsOn | [DependencyActivity](#description-for-dependencyactivity-contents)[] | false | Array of activities or conditions the activity depends on. See [Description for DependencyActivity contents](#description-for-dependencyactivity-contents) | +| typeProperties | [Activity Properties](#activity-properties) | true | Type-specific properties of the activity. The structure varies depending on the activity type. See [Activity Properties](#activity-properties) for details. | +| policy | [ActivityPolicy](#activity-policy) | false | Execution Policy for an activity. Refer to the [Pipeline Activities List](#datapipelineactivitytypes) for the types which support this property. | +| externalReferences | [External Reference](#external-references) | false | Refer to the [Pipeline Activities List](#datapipelineactivitytypes) for the types which support this property.| + +### ActivityState Values + +| Name | Type | Description | +|-----------------------|-----------------|-------------------| +| Active | String | Default Activity State.| +| InActive | String | Marks the activity as inactive and skips execution for it.| + +### OnInactiveMarkAs Values + +| Name | Type | Description | +|-----------------------|-----------------|-------------------| +| Succeeded | String | Default Value. | +| Failed | String | Always mark inactive activity as failed. | +| Skipped | String | Inactive activity is skipped.| ### Description for DependencyActivity contents | Name | Type | Required | Description | |-----------------------|-----------------|-----------------|-------------------| | activity | String | true | Name of the activity | -| dependencyConditions | String[] | true | Dependency Condition. Accepted string values inside array are - `Succeeded`, `Skipped`, `Failed`, `Completed` | +| dependencyConditions | [Conditions](#description-for-conditions-contents)| true | List of Dependency Conditions.| + +### Description for Conditions contents + +| Name | Type | +|-----------------------|-----------------| +| Succeeded | String | +| Failed | String | +| Skipped | String | +| Completed | String | + +### Activity Policy + +Execution policy for an activity. + +| Name | Type | Required | Description | +|-----------------------|-----------------|----------|-------------------| +| timeout | String (or Expression with resultType string) | false | Specifies the timeout for the activity to run. The default timeout is 7 days. | +| retry | integer (or Expression with resultType integer) | false | Maximum ordinary retry attempts. Default is 0. Minimum: 0. | +| retryIntervalInSeconds| Integer | false | Interval between each retry attempt (in seconds). The default is 30 sec. Minimum: 30, Maximum: 86400. | +| secureInput | Boolean | false | When set to true, Input from activity is considered as secure and will not be logged to monitoring. | +| secureOutput | Boolean | false | When set to true, Output from activity is considered as secure and will not be logged to monitoring. | + +### External References + +External references to connection. + +| Name | Type | Required | Description | +|-----------------------|-----------------|----------|-------------------| +| connection | String (Guid) | true | Connection Id of the referenced connection. | + +### DataPipelineActivityTypes + +| Name | Description | +|------------------------------------------------------------------|---------------------------------------------------------------| +| [Copy](#copy-activity-properties) | Copy Activity that copies data from a source to a destination | +| [AzureHDInsight](#azurehdinsight-activity-properties) | Runs various programs (Hive, Pig, MapReduce, Streaming, Spark) on an Azure HDInsight cluster | +| [SparkJobDefinition](#sparkjobdefinition-activity-properties) | Executes a Spark job definition | +| [InvokeCopyJob](#invokecopyjob-activity-properties) | Invokes a copy job activity | +| [ExecuteSSISPackage](#executessispackage-activity-properties) | Executes a SQL Server Integration Services (SSIS) package | +| [SqlServerStoredProcedure](#sqlserverstoredprocedure-activity-properties) | Executes a stored procedure in SQL Server | +| [InvokePipeline](#invokepipeline-activity-properties) | Invokes another pipeline (deprecated, use ExecutePipeline) | +| [ExecutePipeline](#execute-pipeline-activity-properties) | Executes another pipeline as a nested activity | +| [Delete](#delete-activity-properties) | Deletes data from a data source | +| [KustoQueryLanguage](#kustoquerylanguage-activity-properties) | Executes a KQL query on Azure Data Explorer | +| [Lookup](#lookup-activity-properties) | Retrieves data from a data source for use in subsequent activities | +| [WebActivity](#web-activity-properties) | Makes HTTP requests to external web services | +| [GetMetadata](#getmetadata-activity-properties) | Retrieves metadata information from a data source | +| [IfCondition](#if-condition-activity-properties) | Executes activities based on a conditional expression | +| [Switch](#switch-activity-properties) | Executes different activities based on a switch expression | +| [ForEach](#foreach-activity-properties) | Iterates over a collection and executes activities for each item | +| [AzureMLExecutePipeline](#azureml-activity-properties) | Executes Azure Machine Learning operations (batch execution, update resource, execute pipeline) | +| [DataLakeAnalyticsScope](#datalakeanalyticsscope-activity-properties) | Runs a Scope script on Azure Data Lake Analytics | +| [Wait](#wait-activity-properties) | Pauses the pipeline execution for a specified duration | +| [Fail](#fail-activity-properties) | Explicitly fails the pipeline with a specified error message | +| [Until](#until-activity-properties) | Repeats activities until a condition is met | +| [Filter](#filter-activity-properties) | Filters an array based on a provided condition | +| [TridentNotebook](#tridentnotebook-activity-properties) | Executes a Trident notebook | +| [DatabricksNotebook](#databricksnotebook-activity-properties) | Executes Databricks operations (notebook, Spark JAR, Spark Python) | +| [SetVariable](#setvariable-activity-properties) | Sets the value of an existing variable | +| [AppendVariable](#appendvariable-activity-properties) | Appends a value to an existing array variable | +| [AzureFunction](#azurefunction-activity-properties) | Executes an Azure Function | +| [Custom](#custom-activity-properties) | Azure Batch - Executes a custom activity with user-defined command | +| [WebHook](#webhook-activity-properties) | Calls a webhook and waits for a callback | +| [RefreshDataFlow](#refreshdataflow-activity-properties) | Refreshes a data flow | +| [Script](#script-activity-properties) | Executes custom scripts (PowerShell, Python, etc.) | +| [Office365Email](#office365email-activity-properties) | Sends an email using Office 365 | +| [Email](#email-activity-properties) | Sends an email notification | +| [MicrosoftTeams](#microsoftteams-activity-properties) | Sends a message to Microsoft Teams | +| [Teams](#teams-activity-properties) | Sends a message to Teams | +| [PBISemanticModelRefresh](#pbisemanticmodelrefresh-activity-properties) | Refreshes a Power BI semantic model | + +## Activity Properties + +The `typeProperties` field in each activity contains type-specific configuration that varies based on the activity type. This section describes the properties required for each activity types. + +### Wait Activity Properties + +Properties for activities with `type: "Wait"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [WaitActivityTypeProperties](#wait-activity-type-properties) | true | The properties for wait activity. | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| + +#### Wait Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| waitTimeInSeconds | Integer | true | The number of seconds to wait before proceeding to the next activity | + +### Copy Activity Properties + +Properties for activities with `type: "Copy"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [CopyActivityTypeProperties](#copy-activity-type-properties) | true | The properties for copy activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution policy for the activity.| + +### Copy Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| source | [CopySource](#copysource) | true | Source settings for the copy operation | +| sink | [CopySink](#copysink) | false | Sink settings for the copy operation | +| destination | [CopySink](#copysink) | false | Copy activity destination | +| translator | Object | false | Copy activity translator. If not specified, tabular translator is used | +| enableStaging | Boolean | false | Specifies whether to copy data via an interim staging. Default value is false | +| stagingSettings | [StagingSettings](#stagingsettings) | false | Specifies interim staging settings when EnableStaging is true | +| scriptLines | String[] | false | Data flow script lines, used when copy runs as data flow | +| caller | String | false | The name of the 'caller' used in ADMS Telemetry | +| linkedIntegrationRuntime | Object | false | Reference to linked integration runtime in mounted data factory | +| parallelCopies | Integer | false | Maximum number of concurrent sessions opened on the source or sink to avoid overloading the data store. Minimum: 0 | +| dataIntegrationUnits | Integer | false | Maximum number of data integration units that can be used to perform this data movement. Minimum: 0 | +| throughputOptimizationUnits | Integer | false | Maximum number of throughput optimization units that can be used to perform this data movement. Minimum: 0 | +| enableSkipIncompatibleRow | Boolean | false | Whether to skip incompatible row. Default value is false | +| redirectIncompatibleRowSettings | Object | false | Redirect incompatible row settings when EnableSkipIncompatibleRow is true | +| logStorageSettings | Object | false | Log storage settings customer need to provide when enabling session log | +| logSettings | Object | false | Log settings customer needs provide when enabling log | +| preserveRules | String[] | false | Preserve Rules. | +| preserve | String[] | false | Preserve rules. | +| resumeId | String | false | The resumeId to enable copy resumability | +| validateDataConsistency | Boolean | false | Whether to enable Data Consistency validation | +| skipErrorFile | Object | false | Specify the fault tolerance for data consistency | + +#### CopySource + +| Name | Type | Required | Description | +|-------------------------------|-----------------|-----------------|-------------------| +| type | String | true | Copy source type | +| sourceRetryCount | Integer | false | Source retry count.| +| sourceRetryWait | String | false | Source retry wait.| +| maxConcurrentConnections | Integer | false | The maximum concurrent connection count for the source data store.| +| disableMetricsCollection | Boolean | false | If true, disable data store metrics collection. Default is false.| +| datasetSettings | [DatasetSettings](#datasetsettings) | false | Delete activity dataset settings | +| checkpointProperties | Object | false | Checkpoint Properties | +| genericChangeDataProperties | Object | false | Generic Change Data Capture Properties | + +#### CopySink + +| Name | Type | Required | Description | +|-------------------------------|-----------------|-----------------|-------------------| +| type | String | true | Copy sink type. | +| writeBatchSize | Integer | false | Write batch size, minimum: 0. | +| writeBatchTimeout | String | false | Write batch timeout.| +| sinkRetryCount | Integer | false | Sink retry count.| +| sinkRetryWait | String | false | Sink retry wait. | +| maxConcurrentConnections | Integer | false | The maximum concurrent connection count for the sink data store.| +| disableMetricsCollection | Boolean | false | If true, disable data store metrics collection. Default is false.| +| datasetSettings | [DatasetSettings](#datasetsettings) | false | dataset settings | + +#### CopyTranslator + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| type | String | true | Type of translator (e.g., "TabularTranslator") | +| typeConversion | Boolean | false | Whether to enable advanced type conversion property for copy activity.| +| typeConversionSettings| [TypeConversionSettings](#typeconversionsettings) | false | Type Conversion Settings.| +| columnMappings | String | false | Column mappings.| +| schemaMapping | String | false | The schema mapping to map between tabular data and hierarchical data.| +| mappings | String | false | Column mappings with logical types.| +| columnFlatteningSettings| Object | false | Column Flattening Settings.| + +#### TypeConversionSettings + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| allowDataTruncation | Boolean | false | Whether to allow data truncation when converting the data.| +| treatBooleanAsNumber | Boolean | false | Whether to treat boolean values as numbers.| +| dateTimeFormat | String | false | The format for DateTime values.| +| dateTimeOffsetFormat | String | false | The format for DateTimeOffset values.| +| timeSpanFormat | String | false | The format for TimeSpan values.| +| culture | String | false | The culture used to convert data from/to string.| + +#### StagingSettings + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| enableCompression | Boolean | false | Specifies whether to use compression when copying data via an interim staging. | +| path | String | false | Path for staging data | +| externalReferences | [ExternalReferences](#external-references) | true | External references to a connection.| + +#### DatasetSettings + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| type | String | true | Type of dataset | +| description | String | false | Dataset description | +| structure | Object | false | Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement | +| schema | Object | false | Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement | +| copyJobProperties | Object | false | Additional properties in the dataset for CopyJob System Pipelines | +| connectionProperties | Object | false | The connectionProperties setting options. Type: key value pairs (value should be string type) (or Expression with resultType object) | +| externalReferences | [ExternalReferences](#external-references) | false | External references to connection | +| linkedServiceName | Object | false | Linked service reference | +| linkedService | Object | false | Linked service | +| connectionSettings | Object | false | Connection Settings | +| parameters | Object | false | Parameters for dataset | +| annotations | Array | false | List of tags that can be used for describing the Dataset | +| folder | Object | false | The folder that this Dataset is in. If not specified, Dataset will appear at the root level | + +### Lookup Activity Properties + +Properties for activities with `type: "Lookup"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [LookupActivityTypeProperties](#lookup-activity-type-properties) | true | The properties for lookup activity | + +#### Lookup Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| source | [CopySource](#copysource) | true | Source settings for the lookup operation | +| datasetSettings | [DatasetSettings](#datasetsettings) | true | Dataset reference for the lookup | +| firstRowOnly | Boolean | false | Whether to return only the first row (default: true) | + +### Web Activity Properties + +Properties for activities with `type: "WebActivity"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [WebActivityTypeProperties](#web-activity-type-properties) | true | The properties for lookup activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the connection used.| + +#### Web Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| relativeUrl | String | true | URL to call | +| method | String | true | HTTP method (GET, POST, PUT, DELETE) | +| headers | String | false | HTTP headers | +| body | String | false | Request body (for POST/PUT requests) | +| disableCertValidation | Boolean | false | When set to true, Certificate validation will be disabled. | +| httpRequestTimeout | String | false | Request timeout. Format is in timespan(hh:mm:ss) | +| turnOffAsync | Boolean | false | When set to true, stops invoking HTTP GET on http location given in response header.| + +### If Condition Activity Properties + +Properties for activities with `type: "IfCondition"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [IfConditionActivityTypeProperties](#if-condition-activity-type-properties) | true | The properties for if condition activity | + +#### If Condition Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| expression | [Expression](#expression) | true | Boolean expression to evaluate | +| ifTrueActivities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | false | Activities to execute if condition is true | +| ifFalseActivities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | false | Activities to execute if condition is false | + +#### Expression + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| type | String | true | Expression type (e.g., "Expression") | +| value | String | true | Expression value | + +### ForEach Activity Properties + +Properties for activities with `type: "ForEach"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [ForEachActivityTypeProperties](#foreach-activity-type-properties) | true | The properties for foreach activity | + +#### ForEach Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| items | [Expression](#expression) | true | Expression that returns an array to iterate over | +| activities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | true | Activities to execute for each item | +| isSequential | Boolean | false | Whether to execute iterations sequentially (default: false) | +| batchCount | Integer | false | Number of concurrent iterations (when isSequential is false) | + +### Execute Pipeline Activity Properties + +Properties for activities with `type: "ExecutePipeline"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [ExecutePipelineActivityTypeProperties](#execute-pipeline-activity-type-properties) | true | The properties for execute pipeline activity | +| policy | [ActivityPolicy](#activity-policy)| true | Activity Policy.| + +#### Execute Pipeline Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| pipeline | [PipelineReference](#pipelinereference) | true | Reference to the pipeline to execute | +| parameters | object | false | Parameters to pass to the child pipeline | +| waitOnCompletion | Boolean | false | Whether to wait for child pipeline completion (default: true) | + +##### PipelineReference + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| referenceName | String | true | Name of the referenced pipeline | +| type | String | true | Reference type (typically "PipelineReference") | + +### Fail Activity Properties + +Properties for activities with `type: "Fail"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [FailActivityTypeProperties](#fail-activity-type-properties) | true | The properties for fail activity | + +#### Fail Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| message | String | true | The error message that surfaced in the Fail activity. It can be dynamic content that's evaluated to a non empty/blank string at runtime. | +| errorCode | String | true | The error code that categorizes the error type of the Fail activity. It can be dynamic content that's evaluated to a non empty/blank string at runtime. | + +### Filter Activity Properties + +Properties for activities with `type: "Filter"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [FilterActivityTypeProperties](#filter-activity-type-properties) | true | The properties for filter activity | + +#### Filter Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| items | [Expression](#expression) | true | Input array on which filter should be applied. | +| condition | [Expression](#expression) | true | Condition to be used for filtering the input. | + +### Until Activity Properties + +Properties for activities with `type: "Until"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [UntilActivityTypeProperties](#until-activity-type-properties) | true | The properties for until activity | + +#### Until Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| expression | [Expression](#expression) | true | An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true. | +| activities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | true | List of activities to execute. | +| timeout | String (or Expression with resultType string) | false | Specifies the timeout for the activity to run. If there is no value specified, it takes the value of TimeSpan.FromDays(7) which is 1 week as default. | + +### Switch Activity Properties + +Properties for activities with `type: "Switch"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [SwitchActivityTypeProperties](#switch-activity-type-properties) | true | The properties for switch activity | + +#### Switch Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| on | [Expression](#expression) | true | An expression that would evaluate to a string or integer. This is used to determine the block of activities in cases that will be executed. | +| cases | [SwitchCase](#switchcase)[] | false | List of cases that correspond to expected values of the 'on' property. This is an optional property and if not provided, the activity will execute activities provided in defaultActivities. | +| defaultActivities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | false | List of activities to execute if no case condition is satisfied. This is an optional property and if not provided, the activity will exit without any action. | + +#### SwitchCase + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| value | String | true | Expected value of expression result used for case selection. | +| activities | [DataPipelineActivity](#description-for-datapipelineactivity-contents)[] | true | List of activities to execute for matched case. | + +### GetMetadata Activity Properties + +Properties for activities with `type: "GetMetadata"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [GetMetadataActivityTypeProperties](#getmetadata-activity-type-properties) | true | The properties for getmetadata activity | + +#### GetMetadata Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| datasetSettings | Object | true | GetMetadata activity dataset settings. | +| fieldList | String[] | false | Fields of metadata to get from dataset. Type: string (or Expression with resultType string). | +| storeSettings | Object | false | GetMetadata activity store settings. | +| formatSettings | Object | false | GetMetadata activity format settings. | + +### SetVariable Activity Properties + +Properties for activities with `type: "SetVariable"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [SetVariableActivityTypeProperties](#setvariable-activity-type-properties) | true | The properties for setvariable activity | +| policy | [SecureInputOutputPolicy](#secureinputoutputpolicy) | false | Execution Policy for set variable activity.| + +#### SetVariable Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| variableName | String | true | Name of the variable whose value needs to be set. | +| value | Object | true | Value to be set. Could be a static value or Expression. | +| setSystemVariable | Boolean | false | If set to true, it sets the pipeline run return value. | + +#### SecureInputOutputPolicy + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| secureInput | Boolean | false | When set to true, Input from activity is considered as secure and will not be logged to monitoring.| +| secureOutput | Object | false | When set to true, Output from activity is considered as secure and will not be logged to monitoring.| + +### AppendVariable Activity Properties + +Properties for activities with `type: "AppendVariable"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [AppendVariableActivityTypeProperties](#appendvariable-activity-type-properties) | true | The properties for appendvariable activity | + +#### AppendVariable Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| variableName | String | true | Name of the variable whose value needs to be appended to. | +| value | Object | true | Value to be appended. Could be a static value or Expression. | + +### Delete Activity Properties + +Properties for activities with `type: "Delete"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [DeleteActivityTypeProperties](#delete-activity-type-properties) | true | The properties for delete activity | + +#### Delete Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| datasetSettings | Object | true | Delete activity dataset settings. | +| recursive | Boolean | false | If true, files or sub-folders under current folder path will be deleted recursively. Default is false. | +| maxConcurrentConnections | Integer | false | The max concurrent connections to connect data source at the same time. Minimum: 1. | +| enableLogging | Boolean | false | Whether to record detailed logs of delete-activity execution. Default value is false. | +| logStorageSettings | Object | false | Log storage settings customer need to provide when enableLogging is true. | +| storeSettings | Object | false | Delete activity store settings. | + +### AzureHDInsight Activity Properties + +Properties for activities with `type: "AzureHDInsight"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [AzureHDInsightActivityTypeProperties](#azurehdinsight-activity-type-properties) | true | The properties for AzureHDInsight activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| +| externalReferences | [ExternalReferences](#external-references)| false | External references to connection.| + +#### AzureHDInsight Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| hdiActivityType | String | true | The sub type that specified one of five HDInsight activity types (Hive, Pig, MapReduce, Streaming, Spark).| +| arguments | String[] | false | User specified arguments to HDInsight Activity.| +| getDebugInfo | String | false | Debug info option. Valid values: "None", "Always", "Failure" | +| scriptSettings | [HDInsightScriptSettings](#hdinsightscriptsettings) | false | HDInsight script settings | +| defines | Object | false | Allows user to specify defines for the job request. Type: key value pairs (or Expression with resultType object) | +| variables | Object[] | false | User specified arguments under variable namespace. Type: array of strings (or Expression with resultType array) | +| queryTimeout | Integer | false | Query timeout value (in minutes). Effective when the HDInsight cluster is with ESP (Enterprise Security Package) | + +#### HDInsightScriptSettings + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| scriptPath | Object | false | Script path. Type: string (or Expression with resultType string) | +| externalReferences | Object | true | External references to connection | + +### SparkJobDefinition Activity Properties + +Properties for activities with `type: "SparkJobDefinition"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [SparkJobDefinitionActivityTypeProperties](#sparkjobdefinition-activity-type-properties) | true | The properties for SparkJobDefinition activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| + +#### SparkJobDefinition Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------------|-----------------|-----------------|-------------------| +| sparkJobDefinitionId | String | true | Spark Job Definition id.| +| workspaceId | String | true | Workspace id.| +| executableFile | String | false | Main definition file.| +| mainClass | String | false | Main class name if a jar file is set for executableFile.| +| additionalLibraryUris | String | false | ADLS gen2 paths for reference files.| +| commandLineArguments | String | false | Command line arguments.| +| defaultLakehouse | [FabricArtifact](#fabricartifact) | false | Lakehouse reference which should be the default Lakehouse context | +| additionalLakehouses | String | false | List of additional Lakehouse reference.| +| environmentId | String | false | Environment artifact that should be used to customize the execution, the environment should come from the same workspace as the SJD artifact.| + +#### FabricArtifact + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| workspaceId | Object | true | Workspace id. Type: string (or Expression with resultType string) | +| artifactId | Object | true | Artifact id. Type: string (or Expression with resultType string) | + +### Script Activity Properties + +Properties for activities with `type: "Script"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [ScriptActivityTypeProperties](#script-activity-type-properties) | true | The properties for Script activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| + +#### Script Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| database | Object | true | Database against which script will be executed | +| scripts | Object | true | Array of script blocks | +| logSettings | Object | false | Log settings of script activity | +| scriptBlockExecutionTimeout | String | false | ScriptBlock execution timeout | +| connectionVersion | String | false | Connection version | + +### WebHook Activity Properties + +Properties for activities with `type: "WebHook"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [WebHookActivityTypeProperties](#webhook-activity-type-properties) | true | The properties for WebHook activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| +| externalReferences | [ExternalReferences](#external-references)| false | External References to a connection.| + +#### WebHook Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| method | String | true | Rest API method for endpoint | +| relativeUrl | String | true | Relative URL for the endpoint | +| timeout | String | false | The timeout within which the webhook should be called back. If there is no value specified, it defaults to 10 minutes | +| headers | String | false | The user specified headers that will be sent to the request | +| body | String | false | Request body for endpoint | +| reportStatusOnCallBack | Boolean | false | Report Status On CallBack | +| disableCertValidation | Boolean | false | When set to true, it ignores any TLS/SSL errors from the server-side. Default value: false | + +### AzureFunction Activity Properties + +Properties for activities with `type: "AzureFunction"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [AzureFunctionActivityTypeProperties](#azurefunction-activity-type-properties) | true | The properties for AzureFunction activity | +| policy | [ActivityPolicy](#activity-policy)| false | Execution Policy for the activity.| +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the Azure Function connection.| + +#### AzureFunction Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| method | Object | true | Rest API method for endpoint | +| functionName | String | true | Name of the Function that the Azure Function Activity will call | +| headers | String | false | The user specified headers that will be sent to the request | +| body | String | false | Request body for endpoint | +| functionSetId | String (Guid) | false | Function set id | +| workspaceId | String (Guid) | false | Workspace id | +| operationType | String | false | The operation type of the activity | +| parameters | String | false | Parameters for azure function activity | + +### Custom Activity Properties + +Properties for activities with `type: "Custom"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [CustomActivityTypeProperties](#custom-activity-type-properties) | true | The properties for Custom activity | +| staging | [CustomActivityStagingProperties](#custom-activity-staging-properties) | false | Custom activity staging properties | +| externalReferences | [ExternalReferences](#external-references)| true | External references to connection | + +#### Custom Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| command | String | true | Command for custom activity | +| externalReferences | [ExternalReferences](#external-references) | true | External references to connection | +| folderPath | String | false | Folder path for resource files | +| extendedProperties | Object | false | User defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined | +| retentionTimeInDays | Double | false | The retention time for the files submitted for custom activity | +| autoUserSpecification | String | false | Elevation level and scope for the user, default is nonadmin task | + +#### Custom Activity Staging Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| externalReferences | [ExternalReferences](#external-references) | true | External references to connection | + +### InvokeCopyJob Activity Properties + +Properties for activities with `type: "InvokeCopyJob"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [InvokeCopyJobActivityTypeProperties](#invokecopyjob-activity-type-properties) | true | The properties for invoke copy job activity | + +#### InvokeCopyJob Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| copyJobId | String (Guid) | true | Copy Job id | +| workspaceId | String (Guid) | true | Workspace id | + +### ExecuteSSISPackage Activity Properties + +Properties for activities with `type: "ExecuteSSISPackage"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [ExecuteSSISPackageActivityTypeProperties](#executessispackage-activity-type-properties) | true | The properties for execute SSIS package activity | + +#### ExecuteSSISPackage Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| packageLocation | SSISPackageLocation | true | Location of the SSIS package to execute | +| packageName | String | true | Name of the SSIS package | +| runtime | IntegrationRuntimeReference | false | Integration Runtime to use for package execution | +| parameters | ParameterSpecification | false | Parameters to pass to the SSIS package | +| projectParameters | ParameterSpecification | false | Project-level parameters for the SSIS package | +| packageParameters | ParameterSpecification | false | Package-level parameters for the SSIS package | +| projectConnectionManagers | ConnectionManagerSpecification | false | Project connection managers for the SSIS package | +| packageConnectionManagers | ConnectionManagerSpecification | false | Package connection managers for the SSIS package | +| propertyOverrides | PropertyOverrideSpecification | false | Property overrides for the SSIS package | +| logLocation | SSISLogLocation | false | Location to store execution logs | + +### SqlServerStoredProcedure Activity Properties + +Properties for activities with `type: "SqlServerStoredProcedure"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [SqlServerStoredProcedureActivityTypeProperties](#sqlserverstoredprocedure-activity-type-properties) | true | The properties for SQL Server stored procedure activity | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection.| +| linkedService | Object | false | Linked service | +| connectionSettings | Object | false | Connection settings | + +#### SqlServerStoredProcedure Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| database | String | false | The database name of the SQL server | +| storedProcedureName | String | true | Stored procedure name | +| storedProcedureParameters | Object | false | Value and type setting for stored procedure parameters | + +### InvokePipeline Activity Properties + +Properties for activities with `type: "InvokePipeline"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [InvokePipelineActivityTypeProperties](#invokepipeline-activity-type-properties) | true | The properties for invoke pipeline activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the connection.| +| policy | [ActivityPolicy](#activity-policy) | false | Activity policy.| + +#### InvokePipeline Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| parameters | Object | false | Pipeline parameters | +| waitOnCompletion | Boolean | false | Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false | +| workspaceId | String | false | Workspace ID | +| pipelineId | String | false | Pipeline ID | +| operationType | String | false | Operation type | + +### KustoQueryLanguage Activity Properties + +Properties for activities with `type: "KustoQueryLanguage"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [KustoQueryLanguageActivityTypeProperties](#kustoquerylanguage-activity-type-properties) | true | The properties for Kusto query language activity | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection.| +| linkedService | Object | false | Linked service | +| connectionSettings | Object | false | Connection settings | + +#### KustoQueryLanguage Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| command | String | true | A control command, according to the KQL script activity command syntax | +| commandTimeout | String | false | Control command timeout | +| database | String | false | Database name to query | + +### AzureML Activity Properties + +Properties for activities with `type: "AzureMLExecutePipeline"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [AzureMLActivityTypeProperties](#azureml-activity-type-properties) | true | The properties for Azure ML activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the Azure ML connection.| +| policy | [ActivityPolicy](#activity-policy)| true | Execution policy for the activity.| + +#### AzureML Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| mlExecutionType | String | false | Either pipeline or batch endpoints.| +| mlPipelineId | String | false | ID of the published Azure ML pipeline. | +| mlPipelineEndpointId | String | false | ID of the published Azure ML pipeline endpoint. | +| version | String | false | Version of the published Azure ML pipeline endpoint.| +| experimentName | String | false | Name of the Azure ML experiment | +| mlPipelineParameters | ParameterSpecification | false | Parameters to pass to the Azure ML pipeline | +| dataPathAssignments | DataPathAssignment | false | Data path assignments for the Azure ML pipeline | +| mlBatchEndpointName | String | false | Name of the published Azure ML batch endpoint.| +| mlBatchDeploymentName | String | false | Name of the published Azure ML batch deployment for the selected endpoint.| +| jobSettings | Object | false | Key,Value pairs to be passed to the published Azure ML batch endpoint.| +| jobInputs | Object | false | Dictionary used for job input parameters.| +| jobOutputs | Object | false | Dictionary used for job output parameters.| +| mlParentRunId | String | false | The parent Azure ML Service pipeline run id.| +| continueOnStepFailure | Boolean | false | Whether to continue execution of other steps in the PipelineRun if a step fails.| + +### DataLakeAnalyticsScope Activity Properties + +Properties for activities with `type: "DataLakeAnalyticsScope"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [DataLakeAnalyticsScopeActivityTypeProperties](#datalakeanalyticsscope-activity-type-properties) | true | The properties for Data Lake Analytics Scope activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the connection.| + +#### DataLakeAnalyticsScope Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| scriptFileName | String | false | Case-sensitive file name that has the Scope script | +| scriptFolderPath | String | false | Case-sensitive path to folder that contains the Scope script | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection | +| linkedService | Object | false | Script linked service | +| connectionSettings | Object | false | Connection settings | +| degreeOfParallelism | Integer | false | The maximum number of nodes simultaneously used to run the job. Default value is 1. Minimum: 1 | +| priority | Integer | false | Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Minimum: 1 | +| parameters | Object | false | Parameters for Scope job request | +| runtimeVersion | String | false | Runtime version of the Scope engine to use | +| jobName | String | false | Azure Data Lake Analytics scope job name | +| jobOwner | String | false | Custom tag to be added to scope job to indicate job owner alias | +| degreeOfParallelismPercent | Integer | false | The maximum percentage of nodes simultaneously used to run the job. Note that this and degreeofParallelism property are mutually exclusive | +| nebulaArguments | String | false | Additional Scope parameters to pass in during job submission | +| notifier | Object | false | List of email addresses to be notified when the job reaches a terminal state | +| scopeScriptInclusionSet | String | false | List of script resource file extensions separated by semicolons. Only these files will be uploaded to ADLA as scope job resources | +| tags | Object | false | Custom tags for Scope job | + +### TridentNotebook Activity Properties + +Properties for activities with `type: "TridentNotebook"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [TridentNotebookActivityTypeProperties](#tridentnotebook-activity-type-properties) | true | The properties for Trident notebook activity | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection.| + +#### TridentNotebook Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| notebookId | String | true | Notebook ID | +| workspaceId | String | true | Workspace ID | +| parameters | Object | false | Parameters to be used for each run of this job. If the notebook takes a parameter that is not specified, the default value from the notebook will be used | +| sessionTag | String | false | Spark session tag | + +### DatabricksNotebook Activity Properties + +Properties for activities with `type: "DatabricksNotebook"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [DatabricksNotebookActivityTypeProperties](#databricksnotebook-activity-type-properties) | true | The properties for Databricks notebook activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the Databricks connection.| + +#### DatabricksNotebook Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| notebookPath | String | true | Path to the Databricks notebook to execute | +| baseParameters | ParameterSpecification | false | Base parameters to pass to the Databricks notebook | +| libraries | DatabricksLibrarySpecification[] | false | Libraries to install for the notebook execution | +| existingClusterId | String | false | ID of an existing Databricks cluster to use | +| newClusterSettings | DatabricksNewClusterSettings | false | Settings for creating a new Databricks cluster | +| pythonWheelTask | DatabricksPythonWheelTask | false | Python wheel task configuration for Databricks | +| sparkJarTask | DatabricksSparkJarTask | false | Spark JAR task configuration for Databricks | +| sparkPythonTask | DatabricksSparkPythonTask | false | Spark Python task configuration for Databricks | + +### RefreshDataFlow Activity Properties + +Properties for activities with `type: "RefreshDataFlow"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [RefreshDataFlowActivityTypeProperties](#refreshdataflow-activity-type-properties) | true | The properties for refresh data flow activity | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection.| +| policy | [ActivityPolicy](#activity-policy) | false | Activity policy.| + +#### RefreshDataFlow Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| dataflowId | String | true | Dataflow ID | +| workspaceId | String | true | Workspace ID | +| notifyOption | String | false | Notification on mail settings | +| dataflowType | String | false | The type of the dataflow (system property) | +| parameters | Object | false | Parameters to be used for each run of this job. If the dataflow takes a parameter that is not specified, the default value from the dataflow will be used | + +### Office365Email Activity Properties + +Properties for activities with `type: "Office365Email"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [Office365EmailActivityTypeProperties](#office365email-activity-type-properties) | true | The properties for Office 365 email activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the Office 365 connection.| + +#### Office365Email Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| body | String | false | Content of the mail | +| to | String | false | List of recipients separated by ; | +| subject | String | false | Subject of the mail | +| from | String | false | Sender email ID | +| cc | String | false | List of recipients in CC separated by ; | +| bcc | String | false | List of recipients in BCC separated by ; | +| sensitivity | String | false | Sensitivity of the mail | +| importance | String | false | Importance of the mail | +| replyTo | String | false | Email ID where you want to receive the reply of the message | +| operationType | String | false | Operation type | + +### Email Activity Properties + +Properties for activities with `type: "Email"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [EmailActivityTypeProperties](#email-activity-type-properties) | true | The properties for email activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the email connection.| + +#### Email Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| inputs | [LogicAppsActivityInput](#logicappsactivityinput) | false | Logic Apps activity inputs | +| body | String | false | Content of the mail | +| to | String | false | List of recipients separated by ; | +| subject | String | false | Subject of the mail | +| from | String | false | Sender email ID | +| cc | String | false | List of recipients in CC separated by ; | +| bcc | String | false | List of recipients in BCC separated by ; | +| sensitivity | String | false | Sensitivity of the mail | +| importance | String | false | Importance of the mail | +| replyTo | String | false | Email ID where you want to receive the reply of the message | +| operationType | String | false | Operation type | + +### MicrosoftTeams Activity Properties + +Properties for activities with `type: "MicrosoftTeams"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [MicrosoftTeamsActivityTypeProperties](#microsoftteams-activity-type-properties) | true | The properties for Microsoft Teams activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the connection.| + +#### MicrosoftTeams Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| content | String | false | Content of the message | +| teamId | String | false | Group ID or Workspace ID | +| channelId | String | false | Model Dataset ID | +| chatId | String | false | Type of refresh | +| operationType | String | false | Operation type | +| subject | String | false | Subject for channel posts | + +### Teams Activity Properties + +Properties for activities with `type: "Teams"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [TeamsActivityTypeProperties](#teams-activity-type-properties) | true | The properties for Teams activity | +| externalReferences | [ExternalReferences](#external-references)| false | Reference to the connection.| + +#### Teams Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| inputs | [LogicAppsActivityInput](#logicappsactivityinput) | false | Logic Apps activity inputs | +| content | String | false | Content of the message | +| teamId | String | false | Group ID or Workspace ID | +| channelId | String | false | Model Dataset ID | +| chatId | String | false | Type of refresh | +| operationType | String | false | Operation type | + +### PBISemanticModelRefresh Activity Properties + +Properties for activities with `type: "PBISemanticModelRefresh"`. + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| typeProperties | [PBISemanticModelRefreshActivityTypeProperties](#pbisemanticmodelrefresh-activity-type-properties) | true | The properties for Power BI semantic model refresh activity | +| externalReferences | [ExternalReferences](#external-references)| true | Reference to the Power BI connection.| + +#### PBISemanticModelRefresh Activity Type Properties + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| method | String | false | HTTP method | +| groupId | String | false | Group ID or Workspace ID | +| workspaceId | String | false | Workspace ID | +| datasetId | String | false | Model Dataset ID | +| type | String | false | Type of refresh | +| commitMode | String | false | Refresh commit mode | +| maxParallelism | Integer | false | Max parallelism | +| retryCount | Integer | false | Retry count for refresh | +| objects | Array | false | List of table partition objects | +| waitOnCompletion | Boolean | false | Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false | +| inputs | [LogicAppsActivityInput](#logicappsactivityinput) | false | Logic Apps activity inputs | +| operationType | String | false | Operation type | + +#### LogicAppsActivityInput + +| Name | Type | Required | Description | +|-----------------------|-----------------|-----------------|-------------------| +| body | String | true | The body contains all the user-provided parameters | +| method | String | true | The method of the Logic Apps activity operation | +| path | String | true | The swagger path identifying the Logic Apps activity operation | +| headers | String | false | The headers for the Logic Apps activity operation | +| queries | String | false | The queries for the Logic Apps activity operation | ### ContentDetails example ```json { "properties": { - "description": "Data pipeline description", - "activities": [ - { - "name": "Wait_Activity_1", - "type": "Wait", - "dependsOn": [], - "typeProperties": { - "waitTimeInSeconds": 240 - } + "description": "Data pipeline with multiple activity types demonstrating different typeProperties", + "activities": [ + { + "name": "Notebook1", + "type": "TridentNotebook", + "dependsOn": [], + "policy": { + "timeout": "0.12:00:00", + "retry": 0, + "retryIntervalInSeconds": 30, + "secureOutput": false, + "secureInput": false }, - { - "name": "Wait_Activity_2", - "type": "Wait", - "dependsOn": [ - { - "activity": "Wait_Activity_1", - "dependencyConditions": [ "Succeeded" ] - } - ], - "typeProperties": { - "waitTimeInSeconds": 240 - } + "typeProperties": { + "notebookId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", + "workspaceId": "b81f1d9f-33c7-462d-b818-2e4906a123f3" } + }, + { + "name": "Get Metadata1", + "type": "GetMetadata", + "dependsOn": [], + "policy": { + "timeout": "0.12:00:00", + "retry": 0, + "retryIntervalInSeconds": 30, + "secureOutput": false, + "secureInput": false + }, + "typeProperties": { + "fieldList": [ + "columnCount" + ], + "datasetSettings": { + "annotations": [], + "linkedService": { + "name": "LakehouseGitArtifactW1", + "properties": { + "annotations": [], + "type": "Lakehouse", + "typeProperties": { + "workspaceId": "b81f1d9f-33c7-462d-b818-2e4906a123f3", + "artifactId": "c69ca3a7-fc70-4b4f-aad7-ce711b7a57d0", + "rootFolder": "Tables" + } + } + }, + "type": "LakehouseTable", + "schema": [], + "typeProperties": { + "table": "Lh1" + } + } + } + }, + { + "name": "Lookup1", + "type": "Lookup", + "dependsOn": [], + "policy": { + "timeout": "0.12:00:00", + "retry": 0, + "retryIntervalInSeconds": 30, + "secureOutput": false, + "secureInput": false + }, + "typeProperties": { + "source": { + "type": "LakehouseTableSource" + }, + "datasetSettings": { + "annotations": [], + "linkedService": { + "name": "LakehouseGitArtifactW1", + "properties": { + "annotations": [], + "type": "Lakehouse", + "typeProperties": { + "workspaceId": "b81f1d9f-33c7-462d-b818-2e4906a123f3", + "artifactId": "c69ca3a7-fc70-4b4f-aad7-ce711b7a57d0", + "rootFolder": "Tables" + } + } + }, + "type": "LakehouseTable", + "schema": [], + "typeProperties": { + "table": "lh2" + } + } + } + }, + { + "name": "PBISemanticModelRefresh1", + "type": "PBISemanticModelRefresh", + "dependsOn": [], + "userProperties": [], + "typeProperties": { + "method": "POST", + "groupId": "b81f1d9f-33c7-462d-b818-2e4906a123f3", + "datasetId": "67cd5565-49a2-401d-907f-744cc68b16c8", + "type": "Full", + "commitMode": "transactional", + "maxParallelism": 2, + "retryCount": 1, + "waitOnCompletion": true, + "operationType": "RefreshDataset" + }, + "externalReferences": { + "connection": "276c4d2d-855a-4c20-adbe-23622ad82704" + }, + "policy": { + "timeout": "7.00:00:00", + "retry": 0, + "retryIntervalInSeconds": 30, + "secureInput": false, + "secureOutput": false + } + } ] } } diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-definition.md index 411ef90c4..08de9c05d 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-definition.md @@ -110,13 +110,6 @@ The lakehouse cannot be deleted if DigitalTwinBuilder still exists. } ``` -## PlatformDetails - -The platform part is a file that contains the environment metadata information. -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, but only if you set a new URL parameter `updateMetadata=true`. - ## EntityTypes directory: EntityType file The EntityType file name is the entity type ID. diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-flow-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-flow-definition.md index 1c017a3b0..eb4467605 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-flow-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/digital-twin-builder-flow-definition.md @@ -73,10 +73,3 @@ The DigitalTwinBuilderFlow gets deleted when DigitalTwinBuilder is deleted. "IsOnDemand": true } ``` - -## PlatformDetails - -The platform part is a file that contains the environment metadata information. -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, but only if you set a new URL parameter `updateMetadata=true`. diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/environment-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/environment-definition.md index ba79ac418..a47cf38dd 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/environment-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/environment-definition.md @@ -65,13 +65,6 @@ Describes the fields used to construct the `dynamic_executor_allocation`. | min_executors | Integer | true | The minimum executor number for dynamic allocation. Minimum value is 1. The maximum value must be lower than the `maxExecutors`. | | max_executors | Integer | true | The maximum executor number for dynamic allocation. Minimum value is 1. The maximum value must be lower than the `maxNodeCount` instance pool. | -## Platform part - -The platform part is a file that contains the environment metadata information. -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, but only if you set a new URL parameter `updateMetadata=true`. - ### Example of spark public libraries `environment.yml` content decoded from Base64 diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventhouse-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventhouse-definition.md index f7e793cd5..8ac8a9cb4 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventhouse-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventhouse-definition.md @@ -23,14 +23,6 @@ The definition of an Eventhouse item is constructed from two parts: the item par * **Payload**: For the platform part, see [Platform part](#platform-part). For the EventhouseProperties part, see [Example of EventhouseProperties.json definition part decoded from Base64](#example-of-eventhousepropertiesjson-definition-part-decoded-from-base64). * **PayloadType**: InlineBase64 -## Platform part - -The platform payload is optional. The platform part is a file that contains the Eventhouse metadata information. - -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided. -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, if you set a new URL parameter `updateMetadata=true`. - ## Example of EventhouseProperties.json definition part decoded from Base64 There aren't any properties described in the Eventhouse, so an empty object is given. diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventschemaset-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventschemaset-definition.md new file mode 100644 index 000000000..a9ef6b586 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventschemaset-definition.md @@ -0,0 +1,204 @@ +--- +title: EventSchemaSet definition +description: Learn how to create a EventSchemaSet item definition when using the Microsoft Fabric REST API. +ms.title: EventSchemaSet item definition +author: Vanson230 +ms.author: seanvovan +ms.service: fabric +ms.date: 7/7/2025 +--- + +# EventSchemaSet definition + +This article provides a breakdown of the definition structure for EventSchemaSet items. + +## Definition parts + +This table lists the EventSchemaSet definition parts. + + + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `EventSchemaSetDefinition.json` | EventSchemaSet (JSON) | true | Describes topology of EventSchemaSet item. + +## EventSchemaSet + +### Structure of EventSchemaSet item + +Describes a collection of Event metadata and payload, modelled using Schemas. + +| Name | Type | Required | Description | +|--|--|--|--| +| `eventTypes` | EventType[] | false | Collection of messages that are stored in Catalog. | +| `schemas` | Schema[] | false | Collection of the formats that are used to represent the messages stored in Catalog. | + +### Structure of EventType item + +Describes Event metadata, used to communicate between source, Eventstream, and destination items. + +| Name | Type | Required | Description | +|--|--|--|--| +| `id` | String | true | Unique id of the eventType | +| `description` | String | false | Description of the eventType | +| `format` | String | true | Serialization format. | +| `envelopeMetadata` | Dictionary | false | Collection of messages that are stored in Catalog. | +| `schemaUrl` | string | false | Url to the schemaGroup and Schema. SchemaUrl and Schema are mutually exclusive. If Schema is defined in EventType, then SchemaUrl cannot be included.| +| `schemaFormat` | string | false | Format of the schema. Ex: JsonSchema | +| `schema` | string | false | Schema of the EventType. SchemaUrl and Schema are mutually exclusive. If Schema is defined in EventType, then SchemaUrl cannot be included.| +| `protocol` | string | false | Gets or sets the protocol according to https://github.com/xregistry/spec/blob/main/message/spec.md#http11-http2-http3-protocols | +| `protocolOptions` | object | false | Gets or sets the protocol options according to https://github.com/xregistry/spec/blob/main/message/spec.md#http11-http2-http3-protocols | + + +### Structure of Schemas item + +The Schema item groups all versions of an AVRO Schema declaration. + +| Name | Type | Required | Description | +|--|--|--|--| +| `id` | string | true | Unique id of the Schema | +| `description` | string | false | Description of the schema | +| `format` | string | true | Format of the schema. Ex: JsonSchema | +| `versions` | Array | false | Collection of different iterations of the schema. A new version is created when a new schema is provided to the EventType item| + +### Structure of SchemaVersion item + +Describe the Event payload using supported AVRO versions. Refer to the [AVRO Specification][1] for more details. + +| Name | Type | Required | Description | +|--|--|--|--| +| `id` | string | true | Unique id of the SchemaVersion | +| `description` | string | false | Description of the schemaVersion | +| `format` | string | true | Format of the schema. Ex: JsonSchema | +| `schema` | string | false | The schema association with the schema version. | + +### EventSchemaSet example + +```JSON +{ + "eventTypes": [ + { + "id": "BicycleSchema", + "description": "V1 Schema for Bicycles ", + "format": "CloudEvents/1.0", + "envelopeMetadata": { + "id": { + "type": "string", + "required": true + }, + "type": { + "type": "string", + "required": true, + "value": "BicycleSchema" + }, + "source": { + "type": "string", + "required": true + }, + "specversion": { + "type": "string", + "required": true + } + }, + "schemaUrl": "#/schemas/BicycleSchema", + "schemaFormat": "Avro/1.12.0" + } + ], + "schemas": [ + { + "id": "BicycleSchema", + "format": "Avro/1.12.0", + "versions": [ + { + "id": "v1", + "format": "Avro/1.12.0", + "schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}" + } + ] + } + ] +} +``` + +### EventType examples +With schema provided: +```Json + { + "id": "BicycleSchema", + "description": "V1 Schema for Bicycles ", + "format": "CloudEvents/1.0", + "envelopeMetadata": { + "id": { + "type": "string", + "required": true + }, + "type": { + "type": "string", + "required": true, + "value": "BicycleSchema" + }, + "source": { + "type": "string", + "required": true + }, + "specversion": { + "type": "string", + "required": true + } + }, + "schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}", + "schemaFormat": "Avro/1.12.0" + } +``` +With no schema provided: +```Json +{ + "id": "BicycleSchema", + "description": "V1 Schema for Bicycles ", + "format": "CloudEvents/1.0", + "envelopeMetadata": { + "id": { + "type": "string", + "required": true + }, + "type": { + "type": "string", + "required": true, + "value": "BicycleSchema" + }, + "source": { + "type": "string", + "required": true + }, + "specversion": { + "type": "string", + "required": true + } + }, + "schemaUrl": "#/schemas/BicycleSchema", + "schemaFormat": "Avro/1.12.0" + } +``` +### Schema example +```Json +{ + "id": "BicycleSchema", + "format": "Avro/1.12.0", + "versions": [ + { + "id": "v1", + "format": "Avro/1.12.0", + "schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}" + } + ] +} +``` +### SchemaVersion example +```Json +{ + "id": "v1", + "format": "Avro/1.12.0", + "schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}" +} +``` +[1]: https://avro.apache.org/docs/++version++/specification/ \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventstream-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventstream-definition.md index 198c107d0..61efacc42 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventstream-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/eventstream-definition.md @@ -183,14 +183,6 @@ Describe Eventstream metadata. ``` -## Platform part - -The platform payload is optional. The platform part is a file that contains the Eventstream metadata information. - -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided. -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, if you set a new URL parameter `updateMetadata=true`. - ## Definition example Here's an example of a Base64-encoded eventstream definition, where the content from [Example of payload content decoded from Base64](#eventstreamjson-example) is encoded in Base64 and placed in the `payload` field with the path set to `eventstream.json` : diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/graph-queryset-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/graph-queryset-definition.md new file mode 100644 index 000000000..5b732d031 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/graph-queryset-definition.md @@ -0,0 +1,116 @@ +--- +title: Graph QuerySet definition +description: Learn how to create a Graph QuerySet item definition when using the Microsoft Fabric REST API. +ms.title: Graph QuerySet item definition +author: fluffycc +ms.author: cacao +ms.service: fabric +ms.date: 09/02/2025 +--- + +# Graph QuerySet definition + +This article provides a breakdown of the definition structure for Graph QuerySet items. + +## Definition parts + +This table lists the Graph QuerySet definition parts. + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `graphInstanceObjectId` | Guid | true | The object id referring to the graph to query | +| `graphInstanceFolderObjectId` | Guid | true | The folder id containing the graph to query | +| `queries` | [Query](#query)[] | true | query array | + +### Query + +Describes the structure of the query. + +| Name | Type | Description | +|--------------|-----------------------------|--------------------------------------------------------| +| displayName | string | The name of the query as shown in UX | +| id | string / Guid | Unique id of the query | +| queryMode | "GQLCode" / "VisualDiagram" | Whether the query is custom gql or a low-code diagram | +| GqlQueryText | string | The custom gql query to run | +| nodes | [Node](#node)[] | The graph nodes to include in the query | +| edges | [Edge](#edge)[] | The graph edges to include in the query | + +### Node + +Describes the structure of the node. + +| Name | Type | Description | +|--------------------|---------------------------|---------------------------------------------------| +| alias | string / Guid | Alias of the node as defined in graph | +| posX | number | The x-coordinate of position in query diagram | +| posY | number | The y-coordinate of position in query diagram | +| format | [NodeFormat](#nodeformat) | The formatting definition for this node | +| filters | [Filter](#filter)[] | Any filters applied to this node in query | +| displayPropertyKey | string | The name of the property to display on the result | + +### Edge + +Describes the structure of the edge. + +| Name | Type | Description | +|----------------------|---------------------|---------------------------------------------------| +| alias | string / Guid | Alias of the edge as defined in graph | +| sourceNodeAlias | string / Guid | Alias of the node this edge is coming out from | +| destinationNodeAlias | string / Guid | Alias of the node this edge is going to | +| filters | [Filter](#filter)[] | Any filters applied to this edge in query | +| displayPropertyKey | string | The name of the property to display on the result | + +### NodeFormat + +Describes the structure of the nodeformart. + +| Name | Type | Description | +|-------|---------------------|--------------------| +| color | string | Hex code of color | +| shape | “square” / “circle” | Shapes of the node | + +### Filter + +Describes the structure of the filter. + +| Name | Type | Description | +|-----------------|--------|------------------------------------------| +| propertyName | string | Proptery name of the filter | +| sourceNodeAlias | string | Alias of the sources node in the filter | +| value | string | The value to filter the property against | + +### QuerySet Example + +```json +{ + "graphInstanceObjectId": "07e35924-f80e-4fdb-8284-10a283bea60d", + "graphInstanceFolderObjectId": "f4e45c12-b576-4342-a432-ea276ce5a25c", + "queries": [ + { + "displayName": "query", + "id": "a0bf1bf1-0d9e-41a1-bafe-df720e335294", + "queryMode": "GQLCode", + "gqlQueryText": "MATCH (node_Customer:Customer)-[edge_bought:bought]->(node_Book:Book) RETURN node_Customer AS Customer, edge_bought AS bought, node_Book AS Book LIMIT 100", + "nodes": [], + "edges": [] + } + ] +} +``` + +### Query Array Example + +```json +{ + "queries": [ + { + "displayName": "new query", + "id": "some_GUID", + "queryMode": "GQLCode", + "gqlQueryText": "MATCH (node_Author:Author)-[edge_wrote:wrote]->(node_Book:Book) RETURN node_Author AS Author, edge_wrote AS wrote, node_Book AS Book LIMIT 100", + "nodes": [], + "edges": [] + } + ] +} +``` \ No newline at end of file diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/item-definition-overview.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/item-definition-overview.md deleted file mode 100644 index 73a4326fd..000000000 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/item-definition-overview.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Overview of item definitions -description: This article explains item definitions and definition based Microsoft Fabric REST APIs. -ms.title: Microsoft Fabric item definition overview -author: billmath -ms.author: billmath -ms.service: fabric -ms.date: 11/12/2024 ---- - -# Item definition overview - -A Microsoft Fabric item definition is an object that represents the structure and format from which an item is built. A Fabric item definition includes the mandatory system files that define the item's characteristics. Each item type in Fabric has different supported formats and required files (parts) that make up its definition. - -## Definition based APIs - -Definition based APIs return a definition within the response or support providing the definition in the payload. - -Definition based APIs include `Get Item Definition`, `Update Item Definition`, and `Create Item with Definition`. - -## Platform file - -The platform file is a definition part that contains the item's metadata information. - -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition - Respects the platform file if provided. -* [Get Item Definition](https://learn.microsoft.com/rest/api/fabric/core/items/get-item-definition) - Always returns the platform file. -* [Update Item Definition](https://learn.microsoft.com/rest/api/fabric/core/items/update-item-definition) - Accepts the platform file if provided, but only if you set a `updateMetadata=true` URL parameter. - -For more information, see [Automatically generated system files](https://learn.microsoft.com/fabric/cicd/git-integration/source-code-format?tabs=v2#automatically-generated-system-files) - -### Definition Details for Supported Item Types - -* [Copy job definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/copyjob-definition) -* [Dataflow definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/dataflow-definition) -* [Eventhouse definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/eventhouse-definition) -* [API for GraphQL definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/graphql-api-definition) -* [Dataflow definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/dataflow-definition) -* [DataPipeline definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/datapipeline-definition) -* [HLSCohort definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/hlscohort-definition) -* [KQL Database definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/kql-database-definition) -* [KQL Dashboard definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/kql-dashboard-definition) -* [KQL Queryset definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/kql-queryset-definition) -* [Mirrored Azure Databricks Catalog definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/mirrored-azuredatabricks-unitycatalog-definition) -* [Mirrored database definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/mirrored-database-definition) -* [Mounted Data Factory definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/mounted-data-factory-definition) -* [Environment definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/environment-definition) -* [Notebook definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/notebook-definition) -* [Report definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/report-definition) -* [Semantic model definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/semantic-model-definition) -* [KQL Dashboard definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/kql-dashboard-definition) -* [Eventstream definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/eventstream-definition) -* [Reflex definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/reflex-definition) -* [Spark job definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/spark-job-definition) -* [Variable Library definition](https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/variable-library-definition) diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/kql-database-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/kql-database-definition.md index 814886837..07fe1c76c 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/kql-database-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/kql-database-definition.md @@ -43,13 +43,6 @@ The JSON file describing the KQL database has the following properties: } ``` -## Platform part - -The platform payload is optional. The platform part is a file that contains the Eventhouse metadata information. - -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided. -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, if you set a new URL parameter `updateMetadata=true`. ## Example of DatabaseSchema.kql part decoded from Base64 diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/map-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/map-definition.md new file mode 100644 index 000000000..e9d909372 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/map-definition.md @@ -0,0 +1,279 @@ +--- +title: Map item definition +description: Learn how to create a Map item definition when using the Microsoft Fabric REST API. +author: ismaelna +ms.author: ismaelna +ms.title: Map item definition +ms.service: fabric +ms.date: 09/15/2025 +--- + +# Map item definition + +This article explains how to create and structure a Map item definition using the Microsoft Fabric REST API. + +## Supported formats + +Map items must be defined in **JSON** format. + +## Definition structure + +The definition consists of two required parts as shown in the following table. + +| Definition part path | Type | Required | Description | +|---|---|---|---| +| `map.json` | MapDetails (JSON) | true | Contains the core map details that defines the Map item. | +| `.platform`| PlatformDetails (JSON) | true | Contains platform/environment metadata that describes the common details of the Map item. | + +## Definition example + +```json +{ + "definition": { + "parts": [ + { + "path": "map.json", + "payload": "ew0KICAiJHNjaGVtYSI6ICJodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2pzb24tc2NoZW1hcy9mYWJyaWMvaXRlbS9tYXAvZGVmaW5pdGlvbi8xLjAuMC9zY2hlbWEuanNvbiIsDQogICJiYXNlbWFwIjogew0KICAgICJvcHRpb25zIjogbnVsbCwNCiAgICAiY29udHJvbHMiOiBudWxsLA0KICAgICJiYWNrZ3JvdW5kQ29sb3IiOiBudWxsLA0KICAgICJ0aGVtZSI6IG51bGwNCiAgfSwNCiAgImRhdGFTb3VyY2VzIjogew0KICAgICJsYWtlaG91c2VzIjogW10sDQogICAgImtxbERhdGFCYXNlcyI6IFtdDQogIH0sDQogICJsYXllclNvdXJjZXMiOiBbXSwNCiAgImxheWVyU2V0dGluZ3MiOiBbXQ0KfQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIk1hcCIsCiAgICAiZGlzcGxheU5hbWUiOiAiTWFwXzEyMzQ1NjciLAogICAgImRlc2NyaXB0aW9uIjogImRlc2NyIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } + ] + } +} +``` + +## MapDetails + +Key components in a map.json. + +| Property | Type | Required | Description | +|---|---|---|---| +| `$schema` | string | true | The schema version for the map definition. | +| `basemap` | [BaseMap](#basemap) | true | Configuration for base map settings such as controls, background color, and theme.. | +| `dataSources` | [DataSources](#datasources) | true | Data sources for the map which can include arrays of lakehouses or KQL databases. | +| `layerSources` | [LayerSources](#layersources) | true | Array of layer sources for the map. | +| `layerSettings` | [LayerSettings](#layersettings) | true | Array of layer settings for the map. | + +The lakehouse cannot be deleted if Map still exists. + +### BaseMap + +The BaseMap properties in a Microsoft Fabric Map item definition configure the visual and interactive aspects of the map. The options property allows customization of map behavior, such as enabling or disabling zoom, pitch, compass, scale, and traffic controls. The controls property specifies which of these interactive elements are visible to users. backgroundColor sets the map’s background color, enhancing visual clarity or thematic alignment. The theme property defines the overall aesthetic style of the map, such as light or dark mode, ensuring consistency with user preferences or application design. + +| Property | Type | Required | Description | +|---|---|---|---| +| `options` | string | true | Options for the map. | +| `controls` | [Controls](#controls) | true | Map control settings. | +| `backgroundColor` | string | true | Background color of the map. | +| `theme` | [Theme (Enum)](#theme-enum) | true | Theme for the map. | + +#### Controls + +The Controls object in a Microsoft Fabric Map item definition specifies the interactive elements available on the map interface. These include options such as zoom, pitch, compass, scale, and traffic, allowing users to navigate and interact with the map more effectively. Each control enhances usability by providing intuitive ways to explore spatial data + +| Property | Type | Required | Description | +|---|---|---|---| +| `zoom` | boolean | false | Enable zoom control. | +| `pitch` | boolean | false | Enable pitch control. | +| `compass` | boolean | false | Enable compass control. | +| `scale` | boolean | false | Enable scale control. | +| `traffic` | boolean | false | Enable traffic control. | + +#### Theme (Enum) + +The Theme enum defines the string values available to configure the overall base map style. + +| Name | Description | +|------|-------------| +| default | Default theme. | +| classic | Classic theme. | +| innovate | Innovate theme. | +| storm | Storm theme. | +| temperature | Temparature theme. | +| colorBlindSafe | Color blind safe theme. | + +### DataSources + +The DataSources object in a Microsoft Fabric Map item definition specifies the data inputs used to render the map. It can include arrays of lakehouse or KQL databases, which serve as the primary sources of geospatial and analytical data. These sources feed into the map layers, enabling dynamic visualization and interaction based on structured datasets. + +| Property | Type | Required | Description | +|---|---|---|---| +| `lakehouses` | [DataSource[]](#datasource) | true | Array of lakehouse data sources. | +| `kqlDataBases` | [DataSource[]](#datasource) | true | Array of KQL database data sources. | + +#### DataSource + +DataSource typically refers to a single data input—a specific lakehouse, KQL database that provides geospatial or analytical data for the map. It contains configuration details for one source. + +| Property | Type | Required | Description | +|---|---|---|---| +| `workspaceId` | Guid | false | The workspace ID of the data source. | +| `artifactId` | Guid | false | The artifact ID of the data source. | + +### LayerSources + +The LayerSources object in a Microsoft Fabric Map item definition specifies an array of LayerSource objects to be displayed on the map. Each LayerSource object defines the source data for a specific layer, enabling the rendering of visual elements such as bubbles, lines, and polygons. This object works in conjunction with layer settings to control how each layer appears and behaves on the map. + +| Property | Type | Required | Description | +|---|---|---|---| +| `layerSources` | [LayerSource[]](#layersource) | true | Array of layer sources for the map. | + +#### LayerSource + +The LayerSource object in a Microsoft Fabric Map item definition defines the source data for a specific layer, enabling the rendering of visual elements such as bubbles, lines, and polygons. This object works in conjunction with layer settings to control how each layer appears and behaves on the map. + +| Property | Type | Required | Description | +|---|---|---|---| +| `id` | Guid | false | Unique identifier for the layer source. | +| `name` | string | false | Name of the layer source. | +| `type` | string | false | Type of the layer source. | +| `options` | string | false | Options for the layer source. | +| `parentArtifactId` | Guid | false | ID of the parent artifact. | +| `relativePath` | string | false | Relative path to the data source. | +| `querysetTabId` | string | false | ID of the queryset and tab in format 'querysetId_tabId'. | +| `latitudeColumnName` | string | false | Name of the latitude column. | +| `longitudeColumnName` | string | false | Name of the longitude column. | +| `geometryColumnName` | string | false | Name of the geometry column. | +| `refreshIntervalMs` | integer | false | Refresh interval in milliseconds. | + +### LayerSettings + +The LayerSettings object in a Microsoft Fabric Map item definition specifies an array of LayerSetting objects. + +| Property | Type | Required | Description | +|---|---|---|---| +| `layerSettings` | [LayerSetting[]](#layersetting) | true | Array of layer settings for the map. | + +#### LayerSetting + +The LayerSetting object in a Microsoft Fabric Map item definition controls how each map layer is rendered and behaves. It includes configuration options for visual properties such as color, visibility, and geometry type—whether the layer appears as bubbles, lines, or polygons. These settings allow for precise customization of how data is visually represented on the map, enhancing clarity and user interaction. + +| Property | Type | Required | Description | +|---|---|---|---| +| `id` | Guid | false | Unique identifier for the layer setting. | +| `name` | string | false | Name of the layer setting. | +| `sourceId` | Guid | false | ID of the associated layer source. | +| `sourceLayerId` | string | false | ID of the specific layer within the source. | +| `options` | string | false | Options for the layer rendering. | + +### MapDetails example + +```json +{ + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/map/definition/1.0.0/schema.json", + "basemap": { + "options": "{\"renderWorldCopies\":true}", + "controls": { + "zoom": true, + "pitch": true, + "compass": true, + "scale": true, + "traffic": true + }, + "backgroundColor": null, + "theme": null + }, + "dataSources": { + "lakehouses": [ + { + "workspaceId": "00000000-0000-0000-0000-000000000000", + "artifactId": "d66a4449-bd7a-8e29-4654-ebd526fcea0e" + } + ], + "kqlDataBases": [ + { + "workspaceId": "00000000-0000-0000-0000-000000000000", + "artifactId": "c86d4691-3946-ab72-49a0-ec4e1f042f3f" + } + ] + }, + "layerSources": [ + { + "id": "69d8c45f-de55-45ad-a03b-812752a0c07e", + "name": "Files/land_places.pmtiles", + "type": "pmtiles", + "options": null, + "parentArtifactId": "d66a4449-bd7a-8e29-4654-ebd526fcea0e", + "relativePath": "Files/land_places.pmtiles", + "querysetTabId": null, + "latitudeColumnName": null, + "longitudeColumnName": null, + "geometryColumnName": null, + "refreshIntervalMs": 0 + }, + { + "id": "106ea450-aecc-4e62-beaf-d4f342baec63", + "name": "Files/ne_50m_populated_places.geojson", + "type": "geojson", + "options": null, + "parentArtifactId": "d66a4449-bd7a-8e29-4654-ebd526fcea0e", + "relativePath": "Files/ne_50m_populated_places.geojson", + "querysetTabId": null, + "latitudeColumnName": null, + "longitudeColumnName": null, + "geometryColumnName": null, + "refreshIntervalMs": 0 + }, + { + "id": "a56fa15f-cb42-40a7-b871-64aabff56b01", + "name": "Files/sample.geojson", + "type": "geojson", + "options": null, + "parentArtifactId": "d66a4449-bd7a-8e29-4654-ebd526fcea0e", + "relativePath": "Files/sample.geojson", + "querysetTabId": null, + "latitudeColumnName": null, + "longitudeColumnName": null, + "geometryColumnName": null, + "refreshIntervalMs": 0 + }, + { + "id": "681a8dc1-7ce7-4da8-a315-781bececfcbc", + "name": "Sample_Record", + "type": "kusto", + "options": null, + "parentArtifactId": "c86d4691-3946-ab72-49a0-ec4e1f042f3f", + "relativePath": null, + "querysetTabId": "cf1e02ff-1c9e-480f-afa7-18c22c452bdd_8aacc176-8b95-4d66-a3df-99636a65fe95", + "latitudeColumnName": "sample_latitude", + "longitudeColumnName": "sample_longitude", + "geometryColumnName": "sample_geometry", + "refreshIntervalMs": 0 + } + ], + "layerSettings": [ + { + "id": "f41e4422-e36f-499d-9738-1e39f6096f3f", + "name": "Files/land_places.pmtiles (ne_110m_land)", + "sourceId": "69d8c45f-de55-45ad-a03b-812752a0c07e", + "sourceLayerId": "ne_110m_land", + "options": "{\"color\":\"#000000\",\"visible\":true,\"bubbleOptions\":{\"color\":\"#000000\"},\"lineOptions\":{\"strokeColor\":\"#000000\"},\"polygonOptions\":{\"fillColor\":\"#000000\"},\"polygonExtrusionOptions\":{\"fillColor\":\"#000000\"}}" + }, + { + "id": "09a210a8-3d0f-4e1b-a54d-94a0c771bfff", + "name": "Files/ne_50m_populated_places.geojson", + "sourceId": "106ea450-aecc-4e62-beaf-d4f342baec63", + "sourceLayerId": null, + "options": "{\"color\":\"#12239E\",\"visible\":true}" + }, + { + "id": "b0550a13-9493-4d87-8929-09ba31f9417b", + "name": "Files/sample.geojson", + "sourceId": "a56fa15f-cb42-40a7-b871-64aabff56b01", + "sourceLayerId": null, + "options": "{\"color\":\"#744EC2\",\"visible\":true,\"bubbleOptions\":{\"color\":\"#744EC2\"},\"lineOptions\":{\"strokeColor\":\"#744EC2\"},\"polygonOptions\":{\"fillColor\":\"#744EC2\"},\"polygonExtrusionOptions\":{\"fillColor\":\"#744EC2\"}}" + }, + { + "id": "70ecfc25-62c5-4e81-89b3-85aecce23886", + "name": "Sample_Record", + "sourceId": "681a8dc1-7ce7-4da8-a315-781bececfcbc", + "sourceLayerId": null, + "options": "{\"color\":\"#D90079\",\"visible\":true}" + } + ] +} +``` diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/mirrored-azuredatabricks-unitycatalog-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/mirrored-azuredatabricks-unitycatalog-definition.md index 693804097..2ad635293 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/mirrored-azuredatabricks-unitycatalog-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/mirrored-azuredatabricks-unitycatalog-definition.md @@ -7,7 +7,6 @@ ms.author: nsarang ms.service: fabric ms.date: 02/06/2025 --- - # Mirrored Azure Databricks Unity Catalog definition This article provides a breakdown of the definition structure for mirrored Azure Databricks Unity Catalog items. @@ -18,23 +17,23 @@ This table lists the definition parts. | Definition part path | type | Required | Description | |--|--|--|--| -| `mirroringAzureDatabricksCatalog.json` | [ContentDetails](#contentdetails) (JSON) | true | Describes the mirroring settings of the item | +| `definition.json` | [ContentDetails](#contentdetails)| true | Describes the mirroring settings of the item | | `.platform` | PlatformDetails (JSON) | false | Describes common details of the item | - ## ContentDetails Describes the content of the payload. -| Name | Type | Description | -|----------------------------------|---------------------------------------------------------------------|-----------------------------------------------------------------------------| -| name | String | Azure databricks catalog name. | -| databricksWorkspaceConnectionId | Guid | The Azure databricks workspace connection ID. | -| autoSync | [AutoSync](#autosync) | Describes the sync mode. The allowed values are: `Enabled` and `Disabled`. | -| mirroringMode | [MirroringMode](#mirroringmode) | Describes the mirroring mode with possible values: `Full` and `Partial`. | -| storageConnectionId | Guid | (Optional) The storage connection ID. | -| mirrorConfiguration | [MirrorConfiguration](#description-for-mirrorconfiguration-contents)| Replicate metadata from the source system. For example, use this setting to mirror a specific schema or a specific table. | - +| Name | Type |Required |Description | +|----------------------------------|---------------------------------------------------------------------|------------------|----------------------------------------------------------------------------| +| $schema | String | true |URL for schema specification. | +| catalogName | String | true |Azure databricks catalog name. | +| databricksWorkspaceConnectionId | Guid | true |The Azure databricks workspace connection ID. | +| autoSync | [AutoSync](#autosync) | false |Describes the sync mode. The allowed values are: `Enabled` and `Disabled`. | +| mirroringMode | [MirroringMode](#mirroringmode) | true |Describes the mirroring mode with possible values: `Full` and `Partial`. | +| storageConnectionId | Guid | false |The ADLS Gen2 storage connection ID. | +| mirrorConfiguration | [MirrorConfiguration](#description-for-mirrorconfiguration-contents)| |Replicate metadata from the source system. For example, use this setting to mirror a specific schema or a specific table. | + ### AutoSync | Name | Description | @@ -58,12 +57,12 @@ Describes the content of the payload. ### Description for Schema contents -| Name | Type | Description | -|---------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------| -| schemaName | String | The name of the schema, relative to the parent catalog. | -| mirroringMode | [SchemaMirroringMode](#schemamirroringmode) | Describes the mirroring mode. Allowed values are: `Full`, `Exclude` and `Partial`. | -| tables | [Table](#description-for-table-contents)[] | List of tables within the schema to be mirrored. | - +| Name | Type |Required | Description | +|---------------|---------------------------------------------------------|----------|--------------------------------------------------------------------------------------| +| name | String |true | The name of the schema, relative to the parent catalog. | +| mirroringMode | [SchemaMirroringMode](#schemamirroringmode) |true | Describes the mirroring mode. Allowed values are: `Full`, `Exclude` and `Partial`. | +| tables | [Table](#description-for-table-contents)[] |false | List of tables within the schema to be mirrored. | + ### SchemaMirroringMode | Name | Description | |-----------|------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -73,10 +72,10 @@ Describes the content of the payload. ### Description for Table contents -| Name | Type | Description | -|---------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------| -| tableName | String | The name of the table, relative to the parent schema. | -| mirroringMode | [TableMirroringMode](#tablemirroringmode) | Describes the mirroring mode. Allowed values are: `Full` and `Exclude`. | +| Name | Type |Required | Description | +|---------------|----------------------------------------------|--------------|----------------------------------------------------------------------------| +| name | String |true | The name of the table, relative to the parent schema. | +| mirroringMode | [TableMirroringMode](#tablemirroringmode) |true | Describes the mirroring mode. Allowed values are: `Full` and `Exclude`. | ### TableMirroringMode @@ -91,18 +90,19 @@ Example of partial catalog mirroring, where specific schemas within a catalog ar ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "catalogName": "catalogName", + "databricksWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", + "autoSync": "Enabled", "mirroringMode": "Partial", "mirrorConfiguration": { "schemas": [ { - "schemaName": "schema_3", + "name": "schema_3", "mirroringMode": "Full" }, { - "schemaName": "schema_2", + "name": "schema_2", "mirroringMode": "Full" } ] @@ -117,28 +117,29 @@ Example of partial catalog mirroring, fully mirroring specific schemas while exc ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "catalogName": "catalogName", + "databricksWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", + "autoSync": "Enabled", "mirroringMode": "Partial", "mirrorConfiguration": { "schemas": [ { - "schemaName": "schema_3", + "name": "schema_3", "mirroringMode": "Full", "tables": [ { - "tableName": "table_1", + "name": "table_1", "mirroringMode": "Exclude" } ] }, { - "schemaName": "schema_2", + "name": "schema_2", "mirroringMode": "Full", "tables": [ { - "tableName": "table_2", + "name": "table_2", "mirroringMode": "Exclude" } ] @@ -154,28 +155,29 @@ Example of partial catalog mirroring, where specific tables within a selected sc ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "catalogName": "catalogName", + "databricksWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", + "autoSync": "Disabled", "mirroringMode": "Partial", "mirrorConfiguration": { "schemas": [ { - "schemaName": "schema_3", + "name": "schema_3", "mirroringMode": "Partial", "tables": [ { - "tableName": "table_1", + "name": "table_1", "mirroringMode": "Full" } ] }, { - "schemaName": "schema_2", + "name": "schema_2", "mirroringMode": "Partial", "tables": [ { - "tableName": "table_2", + "name": "table_2", "mirroringMode": "Full" } ] @@ -191,9 +193,10 @@ Example of full mirroring, where the entire catalog is mirrored. ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "5eb6b767-e786-45ed-b7ef-d25023e52211", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "catalogName": "catalogName", + "databricksWorkspaceConnectionId": "5eb6b767-e786-45ed-b7ef-d25023e52211", + "autoSync": "Enabled", "mirroringMode": "Full" } ``` @@ -205,18 +208,19 @@ Example of full catalog mirroring, with specific schemas excluded from the catal ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "5eb6b767-e786-45ed-b7ef-d25023e52211", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "CatalogName": "catalogName", + "databricksWorkspaceConnectionId": "5eb6b767-e786-45ed-b7ef-d25023e52211", + "autoSync": "Disabled", "mirroringMode": "Full", "mirrorConfiguration": { "schemas": [ { - "schemaName": "schema_3", + "name": "schema_3", "mirroringMode": "Exclude" }, { - "schemaName": "schema_2", + "name": "schema_2", "mirroringMode": "Exclude" } ] @@ -229,28 +233,29 @@ Example of partial catalog mirroring, where specific tables within a selected sc ```JSON { - "name": "catalogName", - "databrickWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", - "autoSync": true, + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/mirroredAzureDatabricksCatalog/definition/mirroredAzureDatabricksCatalogDefinition/1.0.0/schema.json", + "catalogName": "catalogName", + "databricksWorkspaceConnectionId": "4eb6b767-e786-45ed-b7cf-d25023e52222", + "autoSync": "Disabled", "mirroringMode": "Partial", "mirrorConfiguration": { "schemas": [ { - "schemaName": "schema_3", + "name": "schema_3", "mirroringMode": "Partial", "tables": [ { - "tableName": "table_1", + "name": "table_1", "mirroringMode": "Full" } ] }, { - "schemaName": "schema_2", + "name": "schema_2", "mirroringMode": "Full", "tables": [ { - "tableName": "table_2", + "name": "table_2", "mirroringMode": "Exclude" } ] diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/notebook-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/notebook-definition.md index d2a3e9cbd..af842756a 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/notebook-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/notebook-definition.md @@ -34,16 +34,6 @@ The definition of a notebook item is made out of a single part, and is construct * **Payload** See: [Example of payload content decoded from Base64](#example-of-ipynb-format-payload-content-decoded-from-base64). -## Platform part - -The platform part is a file that contains the notebook metadata information. - -* [Create Item](https://learn.microsoft.com/rest/api/fabric/core/items/create-item) with definition respects the platform file if provided. (Platform not mandatory). - -* [Get Item](https://learn.microsoft.com/rest/api/fabric/core/items/get-item) definition always returns the platform file. - -* [Update Item](https://learn.microsoft.com/rest/api/fabric/core/items/update-item) definition accepts the platform file if provided, but only if you set a new URL parameter `updateMetadata=true`. - ### Example of ipynb format payload content decoded from Base64 ```json diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/sql-database-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/sql-database-definition.md new file mode 100644 index 000000000..ff11bc234 --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/sql-database-definition.md @@ -0,0 +1,52 @@ +--- +title: SQL database definition +description: Learn how to create a SQL database item definition when using the Microsoft Fabric REST API. +ms.title: SQL database item definition +author: yadongyaly +ms.author: yaly +ms.reviewer: drskwier +ms.service: fabric +ms.date: 10/07/2025 +--- + +# SQL database definition + +This article provides a breakdown of the definition structure for SQL database items using `dacpac` format. + +## Definition parts + +This table lists the `dacpac` SQL database definition parts. + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `sqldb.dacpac` | Data-tier application package (dacpac) | true | The dacpac (database model) file | +| `.platform` | PlatformDetails (JSON) | false | Describes common details of the item | + + +## Data-tier application package (dacpac) part + +The `dacpac` part is a file that contains the database model, which includes all the SQL database objects such as tables, views, and stored procedures. The `dacpac` file is used to deploy and manage the database schema in a declarative manner, dynamically calculating the changes needed to update the database to match the `dacpac` model. + +A `dacpac` file can be created using SQL projects in Visual Studio Code, the SqlPackage command-line utility, or other database development tools that support the `dacpac` format. Learn more about SQL projects and creating `dacpac` files in the [SQL projects documentation](https://learn.microsoft.com/sql/tools/sql-database-projects/sql-database-projects) or the SQL database in Fabric article on [SqlPackage](https://learn.microsoft.com/fabric/database/sql/sqlpackage). + + +## Definition Example + +```JSON +{ + "definition": { + "parts": [ + { + "path": "sqldb.dacpac", + "payload": "ew0KICAiJHNjaGVtYSI6ICJodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2pzb24tc2NoZW1hcy9mYWJyaWMvaXRlbS9tYXAvZGVmaW5pdGlvbi8xLjAuMC9zY2hlbWEuanNvbiIsDQogICJiYXNlbWFwIjogew0KICAgICJvcHRpb25zIjogbnVsbCwNCiAgICAiY29udHJvbHMiOiBudWxsLA0KICAgICJiYWNrZ3JvdW5kQ29sb3IiOiBudWxsLA0KICAgICJ0aGVtZSI6IG51bGwNCiAgfSwNCiAgImRhdGFTb3VyY2VzIjogew0KICAgICJsYWtlaG91c2VzIjogW10sDQogICAgImtxbERhdGFCYXNlcyI6IFtdDQogIH0sDQogICJsYXllclNvdXJjZXMiOiBbXSwNCiAgImxheWVyU2V0dGluZ3MiOiBbXQ0KfQ==", + "payloadType": "InlineBase64" + }, + { + "path": ".platform", + "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIk1hcCIsCiAgICAiZGlzcGxheU5hbWUiOiAiTWFwXzEyMzQ1NjciLAogICAgImRlc2NyaXB0aW9uIjogImRlc2NyIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=", + "payloadType": "InlineBase64" + } + ] + } +} +``` diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/user-data-function-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/user-data-function-definition.md new file mode 100644 index 000000000..65afa77dd --- /dev/null +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/user-data-function-definition.md @@ -0,0 +1,458 @@ +--- +title: User Data Function definition +description: Learn how to create a User Data Function item definition when using the Microsoft Fabric REST API. +ms.title: User Data Function item definition +author: yareyes +ms.author: yareyes +ms.service: fabric +ms.date: 09/09/2025 +--- + +# User Data Function definition + +This article provides a breakdown of the definition structure for User Data Function definition items. + +## Definition parts + +This table lists the User Data Function definition parts. + +| Definition part path | type | Required | Description | +|--|--|--|--| +| `resources\functions.json` | [FunctionsMetadata](#functionsmetadata) (JSON) | true | Describes additional metadata information for the functions, for a simple artifact leave an empty json object | +| `privateLibraries\.whl` | CustomLibraries (WHL) | false | A custom wheel file or files in Base64 encoded format | +| `.platform` | PlatformDetails (JSON) | false | Describes common details of the item | +| `definition.json` | [UserDataFunctionDefinition](#userdatafunctiondefinition) (JSON) | true | Describes the functions, connected data sources, and libraries for a User Data Function artifact | +| `function_app.py` | [PythonScript](#function_apppy-example) (PY) | true | The python script containing all the functions, for a simple artifact leave an empty file | + +## UserDataFunctionDefinition + +| Name | Type | Description | +|------|------|-------------| +| $schema | String | Url for schema specification | +| runtime | [RunTime](#runtime-enum) | Runtime environment for execution | +| connectedDataSources | [ConnectedDataSourceObject](#connecteddatasourceobject)[] | List of data sources connected to the User Data Function | +| functions | [FunctionObject](#functionobject)[] | List of functions associated with the User Data Function | +| libraries | [Libraries](#libraries) | Library object containing all public and private libraries used by the functions | + +### RunTime (enum) + +| Name | Description | +|------|-------------| +| NOTASSIGNED | Unassigned runtime | +| PYTHON | Python runtime | + +### ConnectedDataSourceObject + +| Name | Type | Description | +|------|------|-------------| +| alias | String | Alias for the connected data source | +| artifactId | Guid | Artifact ID of the connected data source | +| artifactType | String | Type of the connected data source | +| workspaceId | Guid | Workspace ID of the connected data source | + +### FunctionObject + +| Name | Type | Description | +|------|------|-------------| +| name | String | Name of the function | +| description | String | Description of the function | +| isPublicEndpointEnabled | Boolean | Indicates whether public url for function is enabled or not | + +### Libraries + +| Name | Type | Description | +|------|------|-------------| +| public | [PublicLibraryObject](#publiclibraryobject)[] | List of public packages available for the User Data Function | +| private | [PrivateLibraryObject](#privatelibraryobject)[] | List of private packages available for the User Data Function | + +### PublicLibraryObject + +| Name | Type | Description | +|------|------|-------------| +| version | String | Version of the package | +| name | String | Name of the package | +| type | [PackageType](#packagetype-enum) | Type of the package | + +### PrivateLibraryObject + +| Name | Type | Description | +|------|------|-------------| +| name | String | Name of the package | +| type | [PackageType](#packagetype-enum) | Type of the package | + +### PackageType (enum) + +| Name | Description | +|------|-------------| +| PYPI | Python Package Index (PYPI) type | +| WHEEL | Wheel type | + +### UserDataFunctionDefinition example + +```JSON +{ + "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/userDataFunction/definition/1.1.0/schema.json", + "runtime": "PYTHON", + "connectedDataSources": [ + { + "alias": "lh1y", + "artifactId": "99558215-3e1f-848f-46a0-89e8f9ecf441", + "artifactType": "Lakehouse", + "workspaceId": "00000000-0000-0000-0000-000000000000" + }, + { + "alias": "wh1", + "artifactId": "fd86f08a-15dd-919f-4700-fac08a32106f", + "artifactType": "Warehouse", + "workspaceId": "00000000-0000-0000-0000-000000000000" + } + ], + "functions": [ + { + "name": "hello_fabric", + "description": "", + "isPublicEndpointEnabled": true + } + { + "name": "query_data_from_warehouse", + "description": "", + "isPublicEndpointEnabled": true + }, + { + "name": "read_csv_from_lakehouse", + "description": "", + "isPublicEndpointEnabled": true + } + ], + "libraries": { + "public": [ + { + "name": "fabric-user-data-functions", + "type": "PYPI", + "version": "1.0" + }, + { + "name": "pandas", + "type": "PYPI", + "version": "2.2.3" + } + ], + "private": [ + { + "name": "my-own-custom-wheel.whl", + "type": "WHEEL" + } + ] + } +} +``` + +## FunctionsMetadata + +| Name | Type | Description | +|------|------|-------------| +| runtime | [RunTime](#runtime-enum) | Runtime environment for execution | +| functionsMetadata | [FunctionModel](#functionmodel)[] | List of function metadata details | + +### FunctionModel + +| Name | Type | Description | +|------|------|-------------| +| name | String | Name of the function | +| scriptFile | String | Name of the script where the function code is located | +| bindings | [BindingModel](#bindingmodel)[] | List of bindings for the function, check BindingType enum and the corresponding Binding Model | +| fabricProperties | [FunctionFabricProperties](#functionfabricproperties) | Fabric properties for the function | + +### BindingModel + +| Name | Type | Description | +|------|------|-------------| +| name | String | Name of the binding | +| direction | [BindingDirection](#bindingdirection-enum) | Direction of the binding | +| type | [BindingType](#bindingtype-enum) | Type of the binding | + +### FunctionFabricProperties + +| Name | Type | Description | +|------|------|-------------| +| fabricFunctionParameters | [FabricFunctionParameter](#fabricfunctionparameter)[] | List of parameters for the function | +| fabricFunctionReturnType | String | Return type of the function | +| fabricMetadataSchemaVersion | String | Schema version of the metadata. Default 1.1.0 | + +### BindingDirection (enum) + +| Name | Description | +|------|-------------| +| In | Input binding | + +### BindingType (enum) + +| Name | Description | +|------|-------------| +| [HttpTrigger](#httpbindingmodel) | HTTP trigger binding | +| [FabricItem](#fabricitembindingmodel) | Fabric item binding | +| [UserDataFunctionContext](#userdatafunctioncontextbindingmodel) | UserDataFunctionContext binding | + +### FabricFunctionParameter + +| Name | Type | Description | +|------|------|-------------| +| dataType | String | Data type of the function parameter. Supported data types can be found [in this document](https://learn.microsoft.com/fabric/data-engineering/user-data-functions/python-programming-model#supported-input-types) | +| name | String | Name of the function parameter | + +### HttpBindingModel + +| Name | Type | Description | +|------|------|-------------| +| methods | String[] | List of API supported methods | +| route | String | The route for the HTTP trigger | +| authLevel | [BindingAuthLevel](#bindingauthlevel-enum) | The authentication level for the HTTP trigger | +| name | String | Name of the binding | +| direction | [BindingDirection](#bindingdirection-enum) | Direction of the binding | +| type | [BindingType](#bindingtype-enum) | Type of the binding | + +### BindingAuthLevel (enum) + +| Name | Description | +|------|-------------| +| Anonymous | Anonymous authentication | + +### FabricItemBindingModel + +| Name | Type | Description | +|------|------|-------------| +| itemType | [ArtifactType](#artifacttype-enum) | Type of the fabric item | +| subType | String | Subtype of the fabric item | +| alias | String | Alias of the fabric item | +| audienceType | [GenericConnectionType](#genericconnectiontype-enum) | Audience of the fabric item. Only required for generic connections | +| name | String | Name of the binding | +| direction | [BindingDirection](#bindingdirection-enum) | Direction of the binding | +| type | [BindingType](#bindingtype-enum) | Type of the binding | + +### ArtifactType (enum) + +| Name | Description | +|------|-------------| +| SqlDbNative | SQL Database | +| DataWarehouse| Data Warehouse | +| LakeWarehouse | Lakehouse Warehouse | +| Lakehouse | Lakehouse | +| MountedWarehouse | Mounted Warehouse | +| MountedRelationalDatabase | Mounted Relational Database | +| AzureSql | Azure SQL Database | +| Warehouse | Warehouse | +| Variables | Variables Library | + +#### GenericConnectionType (enum) + +| Name | Description | +|------|-------------| +| CosmosDB | CosmosDB | +| KeyVault | KeyVault | + +### UserDataFunctionContextBindingModel + +| Name | Type | Description | +|------|------|-------------| +| name | String | Name of the binding | +| direction | [BindingDirection](#bindingdirection-enum) | Direction of the binding | +| type | [BindingType](#bindingtype-enum) | Type of the binding | + +### FunctionsMetadata example + +```JSON +{ + "runtime": "PYTHON", + "functionsMetadata": [ + { + "name": "hello_fabric", + "scriptFile": "function_app.py", + "bindings": [ + { + "methods": [ + "POST" + ], + "route": "", + "authLevel": "Anonymous", + "name": "req", + "direction": "In", + "type": "HttpTrigger" + } + ], + "fabricProperties": { + "fabricMetadataSchemaVersion": "1.1.0", + "fabricFunctionParameters": [ + { + "dataType": "str", + "name": "name" + } + ], + "fabricFunctionReturnType": "str" + } + }, + { + "name": "read_csv_from_lakehouse", + "scriptFile": "function_app.py", + "bindings": [ + { + "methods": [ + "POST" + ], + "route": "", + "authLevel": "Anonymous", + "name": "req", + "direction": "In", + "type": "HttpTrigger" + }, + { + "itemType": null, + "subType": "FabricLakehouseClient", + "alias": "lh1y", + "name": "myLakehouse", + "direction": "In", + "type": "FabricItem" + } + ], + "fabricProperties": { + "fabricMetadataSchemaVersion": "1.1.0", + "fabricFunctionParameters": [ + { + "dataType": "str", + "name": "csvFileName" + } + ], + "fabricFunctionReturnType": "str" + } + }, + { + "name": "query_data_from_warehouse", + "scriptFile": "function_app.py", + "bindings": [ + { + "methods": [ + "POST" + ], + "route": "", + "authLevel": "Anonymous", + "name": "req", + "direction": "In", + "type": "HttpTrigger" + }, + { + "itemType": null, + "subType": "FabricSqlConnection", + "alias": "wh1", + "name": "myWarehouse", + "direction": "In", + "type": "FabricItem" + } + ], + "fabricProperties": { + "fabricMetadataSchemaVersion": "1.1.0", + "fabricFunctionParameters": [], + "fabricFunctionReturnType": "list" + } + } + ] +} +``` + +## PythonScript + +This Python file contains implementations for all functions declared in definition.json and functions.json. If you added any functions under the functions section in definition.json, you must implement them here. + +### Function_app.py example + +```Python +import datetime +import fabric.functions as fn +import logging + +udf = fn.UserDataFunctions() + +@udf.function() +def hello_fabric(name: str) -> str: + logging.info('Python UDF trigger function processed a request.') + + return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!" + +import pandas as pd +# Select 'Manage connections' and add a connection to a Lakehouse which has a CSV file +# Replace the alias "" with your connection alias. +@udf.connection(argName="myLakehouse", alias="") +@udf.function() +def read_csv_from_lakehouse(myLakehouse: fn.FabricLakehouseClient, csvFileName: str) -> str: + ''' + Description: Read CSV file from lakehouse and return data as formatted string. + + Args: + myLakehouse (fn.FabricLakehouseClient): Fabric lakehouse connection. + csvFileName (str): CSV file name in the lakehouse Files folder. + + Returns: + str: Confirmation message with formatted CSV data rows. + ''' + # Connect to the Lakehouse + connection = myLakehouse.connectToFiles() + + # Download the CSV file from the Lakehouse + csvFile = connection.get_file_client(csvFileName) + downloadFile=csvFile.download_file() + csvData = downloadFile.readall() + + # Read the CSV data into a pandas DataFrame + from io import StringIO + df = pd.read_csv(StringIO(csvData.decode('utf-8'))) + + # Display the DataFrame + result="" + for index, row in df.iterrows(): + result=result + "["+ (",".join([str(item) for item in row]))+"]" + + # Close the connection + csvFile.close() + connection.close() + + return f"CSV file read successfully.{result}" + + +import datetime +#Select 'Manage connections' to connect to a Warehouse +#Replace the alias "" with your connection alias. +@udf.connection(argName="myWarehouse", alias="") +@udf.function() +def query_data_from_warehouse(myWarehouse: fn.FabricSqlConnection) -> list: + ''' + Description: Query employee data from a Fabric warehouse and return as JSON objects. + + Args: + myWarehouse (fn.FabricSqlConnection): Fabric warehouse connection. + + Returns: + list: Employee records as dictionaries with EmpName and DepID fields. + + Example: + Returns [{'EmpName': 'John Smith', 'DepID': 31}, {'EmpName': 'Kayla Jones', 'DepID': 33}] + ''' + whSqlConnection = myWarehouse.connect() + # Use connection to execute a query + cursor = whSqlConnection.cursor() + cursor.execute(f"SELECT * FROM (VALUES ('John Smith', 31) , ('Kayla Jones', 33)) AS Employee(EmpName, DepID);") + + rows = [x for x in cursor] + columnNames = [x[0] for x in cursor.description] + # Turn the rows into a json object + values = [] + for row in rows: + item = {} + for prop, val in zip(columnNames, row): + if isinstance(val, (datetime.date, datetime.datetime)): + val = val.isoformat() + item[prop] = val + values.append(item) + + cursor.close() + whSqlConnection.close() + + return values +``` diff --git a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/variable-library-definition.md b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/variable-library-definition.md index 100cce889..5c55829fa 100644 --- a/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/variable-library-definition.md +++ b/tools/Fabric.Mcp.Tools.PublicApi/src/Resources/item-definitions/variable-library-definition.md @@ -2,7 +2,7 @@ title: Variable library definition description: Learn how to create a Variable library item definition when using the Microsoft Fabric REST API. ms.title: Variable library item definition -author: KirilKorablov +author: kkorablov ms.author: kkorablov ms.service: fabric ms.date: 01/14/2025 @@ -60,7 +60,6 @@ List of supported variable types. | Number | NumberVariable | 1.1 | | Integer | IntegerVariable | 1 | | String | StringVariable | "Some string" | -| ItemReference | ItemReferenceVariable |
{
  "workspaceId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "itemId": "bbbbbbbb-1111-2222-3333-cccccccccccc"
} | ### Variables.json example