Microsoft Fabric Mirroring API

The Mirroring API from Microsoft Fabric — 6 operation(s) for mirroring.

Operations 6

POST /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/startMirroring Starts the mirroring #
POST /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/stopMirroring Stops the mirroring #
POST /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getMirroringStatus Get the status of the mirrored database #
POST /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getTablesMirroringStatus Get the mirroring status of the tables #
POST /workspaces/{workspaceId}/sqlDatabases/{sqlDatabaseId}/startMirroring Starts the mirroring of the specified SQL database #
POST /workspaces/{workspaceId}/sqlDatabases/{sqlDatabaseId}/stopMirroring Stops the mirroring of the specified SQL database #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-fabric:microsoft-fabric-mirroring-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-fabric-mirroring-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Fabric Workload Items REST Mirroring API
  version: v1
  x-source: 'https://github.com/microsoft/fabric-rest-api-specs (bundled from openapi/_original/fabric-rest-api-specs: anomalyDetector/swagger.json, apacheAirflowJob/swagger.json, appBackend/swagger.json, azureDatabricksStorage/swagger.json, copyJob/swagger.json, cosmosDbDatabase/swagger.json, dashboard/swagger.json, dataAgent/swagger.json, dataBuildToolJob/swagger.json, dataPipeline/swagger.json, dataflow/swagger.json, datamart/swagger.json, deploymentPlan/swagger.json, digitalTwinBuilder/swagger.json, digitalTwinBuilderFlow/swagger.json, environment/swagger.json, eventSchemaSet/swagger.json, eventhouse/swagger.json, eventstream/swagger.json, graphModel/swagger.json, graphQLApi/swagger.json, graphQuerySet/swagger.json, kqlDashboard/swagger.json, kqlDatabase/swagger.json, kqlQueryset/swagger.json, lakehouse/swagger.json, map/swagger.json, mirroredAzureDatabricksCatalog/swagger.json, mirroredCatalog/swagger.json, mirroredDatabase/swagger.json, mirroredWarehouse/swagger.json, mlExperiment/swagger.json, mlModel/swagger.json, monitoring/swagger.json, mountedDataFactory/swagger.json, notebook/swagger.json, ontology/swagger.json, operationsAgent/swagger.json, orgApp/swagger.json, orgAppAudience/swagger.json, paginatedReport/swagger.json, plan/swagger.json, policySet/swagger.json, realTimeIntelligence/swagger.json, reflex/swagger.json, report/swagger.json, semanticModel/swagger.json, snowflakeDatabase/swagger.json, spark/swagger.json, sparkjobdefinition/swagger.json, sqlDatabase/swagger.json, sqlEndpoint/swagger.json, userDataFunction/swagger.json, variableLibrary/swagger.json, warehouse/swagger.json)'
servers:
- url: https://api.fabric.microsoft.com/v1
security: []
tags:
- name: Mirroring
paths:
  /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/startMirroring:
    post:
      summary: Starts the mirroring
      description: '## Permissions


        The caller must have *read and write* permissions for the mirrored database.

        ## Required Delegated Scopes


        MirroredDatabase.ReadWrite.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - Mirroring
      operationId: Mirroring_StartMirroring
      x-ms-fabric-sdk-long-running-operation: false
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: mirroredDatabaseId
        in: path
        description: The mirrored database ID.
        required: true
        schema:
          type: string
          format: uuid
      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:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/stopMirroring:
    post:
      summary: Stops the mirroring
      description: '## Permissions


        The caller must have *read and write* permissions for the mirrored database.

        ## Required Delegated Scopes


        MirroredDatabase.ReadWrite.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - Mirroring
      operationId: Mirroring_StopMirroring
      x-ms-fabric-sdk-long-running-operation: false
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: mirroredDatabaseId
        in: path
        description: The mirrored database ID.
        required: true
        schema:
          type: string
          format: uuid
      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:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getMirroringStatus:
    post:
      summary: Get the status of the mirrored database
      description: '## Permissions


        The caller must have *read* permissions for the mirrored database.


        ## Required Delegated Scopes


        MirroredDatabase.Read.All or MirroredDatabase.ReadWrite.All or Item.Read.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - Mirroring
      operationId: Mirroring_GetMirroringStatus
      x-ms-fabric-sdk-long-running-operation: false
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: mirroredDatabaseId
        in: path
        description: The mirrored database ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mirroredDatabase_MirroringStatusResponse'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getTablesMirroringStatus:
    post:
      summary: Get the mirroring status of the tables
      description: 'This API supports pagination.


        ## Permissions


        The caller must have *read* permissions for the mirrored database.


        ## Required Delegated Scopes


        MirroredDatabase.Read.All or MirroredDatabase.ReadWrite.All or Item.Read.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - Mirroring
      operationId: Mirroring_GetTablesMirroringStatus
      x-ms-pageable:
        nextLinkName: continuationUri
        itemName: data
      x-ms-fabric-sdk-long-running-operation: false
      parameters:
      - name: workspaceId
        in: path
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - name: mirroredDatabaseId
        in: path
        description: The mirrored database ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: continuationToken
        description: A token for retrieving the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mirroredDatabase_TablesMirroringStatusResponse'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /workspaces/{workspaceId}/sqlDatabases/{sqlDatabaseId}/startMirroring:
    post:
      tags:
      - Mirroring
      operationId: sqlDatabase_Mirroring_StartMirroring
      summary: Starts the mirroring of the specified SQL database
      description: '## Permissions


        The caller must have *read and write* permissions for the SQL database.

        ## Required Delegated Scopes


        SQLDatabase.ReadWrite.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      parameters:
      - in: path
        name: workspaceId
        description: The workspace identifier.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: sqlDatabaseId
        description: The SQL database ID.
        required: true
        schema:
          type: string
          format: uuid
      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:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * ItemNotFound - The requested item was not found.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-original-operationId: Mirroring_StartMirroring
  /workspaces/{workspaceId}/sqlDatabases/{sqlDatabaseId}/stopMirroring:
    post:
      tags:
      - Mirroring
      operationId: sqlDatabase_Mirroring_StopMirroring
      summary: Stops the mirroring of the specified SQL database
      description: '## Permissions


        The caller must have *read and write* permissions for the SQL database.

        ## Required Delegated Scopes


        SQLDatabase.ReadWrite.All or Item.ReadWrite.All


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      parameters:
      - in: path
        name: workspaceId
        description: The workspace identifier.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: sqlDatabaseId
        description: The SQL database ID.
        required: true
        schema:
          type: string
          format: uuid
      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:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * ItemNotFound - The requested item was not found.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-original-operationId: Mirroring_StopMirroring
components:
  schemas:
    ErrorResponse:
      description: The error response.
      required:
      - message
      - errorCode
      allOf:
      - $ref: '#/components/schemas/ErrorResponseDetails'
      properties:
        requestId:
          type: string
          format: uuid
          description: ID of the request associated with the error.
          readOnly: true
        moreDetails:
          description: List of additional error details.
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseDetails'
          readOnly: true
        isRetriable:
          type: boolean
          description: When true, the request can be retried. Use the `Retry-After` response header to determine the delay, if available.
          readOnly: true
    TableSourceObjectType:
      type: string
      description: The table source object type. Additional `TableSourceObjectType` types may be added over time.
      enum:
      - Table
      - View
      x-ms-enum:
        name: TableSourceObjectType
        modelAsString: true
        values:
        - value: Table
          description: Table type
        - value: View
          description: View type
    TableMirroringMetrics:
      description: Table mirroring metrics.
      type: object
      required:
      - processedBytes
      - processedRows
      - lastSyncDateTime
      properties:
        processedBytes:
          format: int64
          type: integer
          description: Processed bytes for this table.
        processedRows:
          format: int64
          type: integer
          description: Processed row count for this table.
        lastSyncDateTime:
          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.
    mirroredDatabase_MirroringStatusResponse:
      description: Response of getting mirroring status.
      required:
      - status
      properties:
        status:
          $ref: '#/components/schemas/MirroringStatus'
        error:
          $ref: '#/components/schemas/ErrorResponse'
    mirroredDatabase_TablesMirroringStatusResponse:
      required:
      - data
      description: A paginated list of table mirroring statuses.
      type: object
      properties:
        data:
          description: A list of table mirroring statuses.
          type: array
          items:
            $ref: '#/components/schemas/TableMirroringStatusResponse'
      allOf:
      - $ref: '#/components/schemas/PaginatedResponse'
    TableMirroringStatusResponse:
      description: Table mirroring status response.
      type: object
      required:
      - status
      - sourceObjectType
      properties:
        sourceObjectType:
          $ref: '#/components/schemas/TableSourceObjectType'
        sourceSchemaName:
          type: string
          description: Source table schema name.
        sourceTableName:
          type: string
          description: Source table name.
        status:
          $ref: '#/components/schemas/mirroredDatabase_TableMirroringStatus'
        metrics:
          $ref: '#/components/schemas/TableMirroringMetrics'
        error:
          $ref: '#/components/schemas/ErrorResponse'
    ErrorResponseDetails:
      description: The error response details.
      type: object
      required:
      - message
      - errorCode
      properties:
        errorCode:
          type: string
          description: A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.
          readOnly: true
        message:
          type: string
          description: A human readable representation of the error.
          readOnly: true
        relatedResource:
          $ref: '#/components/schemas/ErrorRelatedResource'
        parameters:
          description: Structured parameters providing additional machine-readable context about the error.
          type: array
          items:
            $ref: '#/components/schemas/ErrorParameter'
          readOnly: true
    ErrorRelatedResource:
      description: The error related resource details object.
      type: object
      required:
      - resourceId
      - resourceType
      properties:
        resourceId:
          type: string
          description: The resource ID that's involved in the error.
          readOnly: true
        resourceType:
          type: string
          description: The type of the resource that's involved in the error.
          readOnly: true
    MirroringStatus:
      type: string
      description: The mirroring status type. Additional `MirroringStatus` types may be added over time.
      enum:
      - Initializing
      - Initialized
      - Starting
      - Running
      - Paused
      - Stopping
      - Stopped
      x-ms-enum:
        name: MirroringStatus
        modelAsString: true
        values:
        - value: Initializing
          description: The associated SQL endpoint provisioning is in progress.
        - value: Initialized
          description: The associated SQL endpoint provisioning is succeeded and the mirrored database is ready for start.
        - value: Starting
          description: The mirroring instance for the mirrored database is starting.
        - value: Running
          description: The mirroring instance for the mirrored database is running.
        - value: Paused
          description: The mirroring instance for the mirrored database is paused.
        - value: Stopping
          description: The mirroring instance for the mirrored database is stopping.
        - value: Stopped
          description: The mirroring instance for the mirrored database is stopped.
    PaginatedResponse:
      properties:
        continuationToken:
          type: string
          description: The token for the next result set batch. If there are no more records, it's removed from the response.
        continuationUri:
          type: string
          description: The URI of the next result set batch. If there are no more records, it's removed from the response.
    ErrorParameter:
      description: A structured parameter providing additional machine-readable context about an error.
      type: object
      properties:
        name:
          type: string
          description: The parameter identifier.
          readOnly: true
        value:
          type: string
          description: The parameter value.
          readOnly: true
        message:
          type: string
          description: A human-readable description of the parameter's meaning.
          readOnly: true
    mirroredDatabase_TableMirroringStatus:
      type: string
      description: The table mirroring status type. Additional `TableMirroringStatus` types may be added over time.
      enum:
      - Initialized
      - Snapshotting
      - Replicating
      - Reseeding
      - Stopped
      - Failed
      x-ms-enum:
        name: TableMirroringStatus
        modelAsString: true
        values:
        - value: Initialized
          description: Mirroing of the table is initialized.
        - value: Snapshotting
          description: The table is snapshotting.
        - value: Replicating
          description: The table is replicating.
        - value: Reseeding
          description: The table is reseeding.
        - value: Stopped
          description: Mirroring of the table is stopped.
        - value: Failed
          description: Mirroing of the table failed with error.