Files

386 lines
17 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "WarehouseSnapshot REST APIs",
"version": "v1"
},
"schemes": [
"https"
],
"host": "api.fabric.microsoft.com",
"basePath": "/v1",
"paths": {
"/workspaces/{workspaceId}/warehouseSnapshots": {
"get": {
"summary": "Returns a list of Warehouse snapshots 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",
"tags": [
"Items"
],
"operationId": "Items_ListWarehouseSnapshots",
"x-ms-pageable": {
"nextLinkName": "continuationUri"
},
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"description": "The workspace ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "query",
"name": "recursive",
"description": "Lists items in a folder and its nested folders, or just a folder only. True - All items in the folder and its nested folders are listed, False - Only items in the folder are listed. The default value is true.",
"type": "boolean",
"required": false
},
{
"in": "query",
"name": "rootFolderId",
"description": "This parameter allows users to filter items based on a specific root folder. If not provided, the workspace is used as the root folder.",
"type": "string",
"format": "uuid",
"required": false
},
{
"in": "query",
"name": "continuationToken",
"description": "A token for retrieving the next page of results.",
"type": "string",
"required": false
}
],
"responses": {
"200": {
"description": "Request completed successfully.",
"schema": {
"$ref": "./definitions.json#/definitions/WarehouseSnapshots"
}
},
"429": {
"description": "The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.",
"x-ms-error-response": true,
"headers": {
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
},
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
},
"default": {
"description": "Common error codes:\n\n* InvalidItemType - Invalid item type.",
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"List Warehouse snapshots in workspace example": {
"$ref": "./examples/ListWarehouseSnapshotsInWorkspace.json"
}
}
},
"post": {
"summary": "Creates a Warehouse snapshot in the specified workspace.",
"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 WarehouseSnapshot.ReadWrite.All or Item.ReadWrite.All \n\n## Limitations \n- To create a Warehouse snapshot 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_CreateWarehouseSnapshot",
"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": "createWarehouseSnapshotRequest",
"description": "A create Warehouse snapshot request payload.",
"schema": {
"$ref": "./definitions.json#/definitions/CreateWarehouseSnapshotRequest"
},
"required": true
}
],
"responses": {
"201": {
"description": "Successfully created",
"schema": {
"$ref": "./definitions.json#/definitions/WarehouseSnapshot"
}
},
"202": {
"description": "Request accepted, Warehouse snapshot provisioning in progress.",
"headers": {
"Location": {
"description": "The URL of the operation status, which can be used to track the operation state.",
"type": "string"
},
"x-ms-operation-id": {
"description": "The operation ID which can be used with long running operations (LRO) APIs to track the operation state and get the result.",
"type": "string",
"format": "uuid"
},
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
}
},
"429": {
"description": "The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.",
"x-ms-error-response": true,
"headers": {
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
},
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
},
"default": {
"description": "Common error codes:\n\n* InvalidItemType - Item type is invalid\n\n* ItemDisplayNameAlreadyInUse - Item display name is already used.\n\n* CorruptedPayload - The provided payload is corrupted.\n\n* WorkspaceItemsLimitExceeded - Workspace item limit exceeded.",
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Create a Warehouse snapshot example": {
"$ref": "./examples/CreateWarehouseSnapshotWithoutDefinition.json"
}
}
}
},
"/workspaces/{workspaceId}/warehouseSnapshots/{warehouseSnapshotId}": {
"get": {
"summary": "Returns properties of the specified Warehouse snapshot.",
"description": "## Permissions\n\n The caller must have *read* permissions for the warehouse snapshot. \n\n## Required Delegated Scopes\n\n WarehouseSnapshot.Read.All or WarehouseSnapshot.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_GetWarehouseSnapshot",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"description": "The workspace ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "path",
"name": "warehouseSnapshotId",
"description": "The Warehouse snapshot ID.",
"type": "string",
"format": "uuid",
"required": true
}
],
"responses": {
"200": {
"description": "Request completed successfully.",
"schema": {
"$ref": "./definitions.json#/definitions/WarehouseSnapshot"
}
},
"429": {
"description": "The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.",
"x-ms-error-response": true,
"headers": {
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
},
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
},
"default": {
"description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.",
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Get a Warehouse snapshot example": {
"$ref": "./examples/GetWarehouseSnapshot.json"
}
}
},
"patch": {
"summary": "Updates the properties of the specified Warehouse snapshot.",
"description": "## Permissions\n\n The caller must have *read and write* permissions for the warehouse snapshot.\n\n## Required Delegated Scopes\n\n WarehouseSnapshot.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_UpdateWarehouseSnapshot",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"description": "The workspace ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "path",
"name": "warehouseSnapshotId",
"description": "The Warehouse snapshot ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "body",
"name": "updateWarehouseSnapshotRequest",
"description": "Update Warehouse snapshot request payload.",
"schema": {
"$ref": "./definitions.json#/definitions/UpdateWarehouseSnapshotRequest"
},
"required": true
}
],
"responses": {
"200": {
"description": "Request completed successfully.",
"schema": {
"$ref": "./definitions.json#/definitions/WarehouseSnapshot"
}
},
"429": {
"description": "The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.",
"x-ms-error-response": true,
"headers": {
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
},
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
},
"default": {
"description": "Common error codes:\n\n* ItemNotFound - The requested item was not found. \n\n* InvalidRequest - Invalid update request.",
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Update a Warehouse snapshot example": {
"$ref": "./examples/UpdateWarehouseSnapshot.json"
}
}
},
"delete": {
"summary": "Deletes the specified Warehouse snapshot.",
"description": "## Permissions\n\n The caller must have *write* permissions for the warehouse snapshot. \n\n## Required Delegated Scopes\n\n WarehouseSnapshot.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_DeleteWarehouseSnapshot",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "workspaceId",
"description": "The workspace ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "path",
"name": "warehouseSnapshotId",
"description": "The Warehouse snapshot ID.",
"type": "string",
"format": "uuid",
"required": true
},
{
"in": "query",
"name": "hardDelete",
"description": "Specifies whether to perform a hard delete. When set to `true`, the item is permanently deleted and cannot be recovered. When set to `false` or not specified, the item is soft-deleted if the item type supports it.",
"type": "boolean",
"required": false
}
],
"responses": {
"200": {
"description": "Request completed successfully."
},
"429": {
"description": "The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.",
"x-ms-error-response": true,
"headers": {
"Retry-After": {
"type": "integer",
"description": "The number of seconds to wait before retrying the request."
}
},
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
},
"default": {
"description": "Common error codes:\n\n* ItemNotFound - The requested item was not found.\n\n* InsufficientWorkspaceRole - User doesn't have sufficient workspace role.\n\n* FeatureNotAvailable - This could be due to the soft deletion feature not being available.\n\n* UnsupportedItemType - This could be due to the soft deletion feature not supported by the requested item type.\n\n* TenantSwitchDisabled - This could be due to the soft deletion feature being disabled by the tenant admin.\n\n* InvalidTargetItemStateForSoftDeletion - The item is in invalid states for soft deletion.\n\n* InvalidParentItemStateForSoftDeletion - The item's parent item is not in Active state.",
"schema": {
"$ref": "../common/definitions.json#/definitions/ErrorResponse"
}
}
},
"x-ms-examples": {
"Delete a Warehouse snapshot example": {
"$ref": "./examples/DeleteWarehouseSnapshot.json"
},
"Hard delete a Warehouse snapshot example": {
"$ref": "./examples/HardDeleteWarehouseSnapshot.json"
}
}
}
}
},
"responses": {},
"security": [],
"tags": []
}