Azure Site Recovery Replication Protection Containers API

The ReplicationProtectionContainers API from Azure Site Recovery — 7 operation(s) for replicationprotectioncontainers.

Operations 8

GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers Gets the list of protection container for a fabric #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName} Gets the protection container details #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName} Create a protection container #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem Adds a protectable item to the replication protection container #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove Removes a protection container #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchClusterProtection Switches protection from one container to another #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection Switches protection from one container to another or one replication provider… #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers Gets the list of all protection containers in a vault #

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-azure-site-recovery:microsoft-azure-site-recovery-replicationprotectioncontainers-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-azure-site-recovery-replicationprotectioncontainers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Azure Site Recovery Replication Protection…
  version: '2026-11-01'
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
  description: 'Operations tagged ReplicationProtectionContainers across 2 of this provider''s published API definitions: microsoft-azure-site-recovery-service-2026-11-01.json, microsoft-azure-site-recovery-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: ReplicationProtectionContainers
paths:
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers
  : get:
      operationId: ReplicationProtectionContainers_ListByReplicationFabrics
      tags:
      - ReplicationProtectionContainers
      summary: Gets the list of protection container for a fabric
      description: Lists the protection containers in the specified fabric.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainerCollection'
      x-ms-examples:
        Gets the list of protection container for a fabric.:
          $ref: ./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
      x-ms-pageable:
        nextLinkName: nextLink
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}
  : get:
      operationId: ReplicationProtectionContainers_Get
      tags:
      - ReplicationProtectionContainers
      summary: Gets the protection container details
      description: Gets the details of a protection container.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainer'
      x-ms-examples:
        Gets the protection container details.:
          $ref: ./examples/ReplicationProtectionContainers_Get.json
    put:
      operationId: ReplicationProtectionContainers_Create
      tags:
      - ReplicationProtectionContainers
      summary: Create a protection container
      description: Operation to create a protection container.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Resource 'ProtectionContainer' update operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainer'
        '202':
          description: Resource operation accepted.
          headers:
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
      x-ms-examples:
        Create a protection container.:
          $ref: ./examples/ReplicationProtectionContainers_Create.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/ProtectionContainer'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProtectionContainerInput'
        description: Creation input.
        required: true
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem
  : post:
      operationId: ReplicationProtectionContainers_DiscoverProtectableItem
      tags:
      - ReplicationProtectionContainers
      summary: Adds a protectable item to the replication protection container
      description: The operation to a add a protectable item to a protection container(Add physical server).
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainer'
        '202':
          description: Resource operation accepted.
          headers:
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
      x-ms-examples:
        Adds a protectable item to the replication protection container.:
          $ref: ./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/ProtectionContainer'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverProtectableItemRequest'
        description: The request object to add a protectable item.
        required: true
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove
  : post:
      operationId: ReplicationProtectionContainers_Delete
      tags:
      - ReplicationProtectionContainers
      summary: Removes a protection container
      description: Operation to remove a protection container.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Resource operation accepted.
          headers:
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
        '204':
          description: There is no content to send for this request, but the headers may be useful.
      x-ms-examples:
        Removes a protection container.:
          $ref: ./examples/ReplicationProtectionContainers_Delete.json
      x-ms-long-running-operation-options:
        final-state-via: location
      x-ms-long-running-operation: true
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchClusterProtection
  : post:
      operationId: ReplicationProtectionContainers_SwitchClusterProtection
      tags:
      - ReplicationProtectionContainers
      summary: Switches protection from one container to another
      description: Operation to switch protection from one container to another.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the recovery services vault.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
          pattern: ^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainer'
        '202':
          description: Resource operation accepted.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse
      x-ms-examples:
        Switches protection from one container to another or one replication provider to another.:
          $ref: ./examples/ReplicationProtectionContainers_SwitchClusterProtection.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/ProtectionContainer'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwitchClusterProtectionInput'
        description: Switch protection input.
        required: true
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection
  : post:
      operationId: ReplicationProtectionContainers_SwitchProtection
      tags:
      - ReplicationProtectionContainers
      summary: Switches protection from one container to another or one replication provider…
      description: Operation to switch protection from one container to another or one replication provider to another.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the Vault
        required: true
        schema:
          type: string
      - name: fabricName
        in: path
        description: Fabric name.
        required: true
        schema:
          type: string
      - name: protectionContainerName
        in: path
        description: Protection container name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainer'
        '202':
          description: Resource operation accepted.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
      x-ms-examples:
        Switches protection from one container to another or one replication provider to another.:
          $ref: ./examples/ReplicationProtectionContainers_SwitchProtection.json
      x-ms-long-running-operation-options:
        final-state-via: location
        final-state-schema: '#/definitions/ProtectionContainer'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwitchProtectionInput'
        description: Switch protection input.
        required: true
    servers:
    - url: https://management.azure.com
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers
  : get:
      operationId: ReplicationProtectionContainers_List
      tags:
      - ReplicationProtectionContainers
      summary: Gets the list of all protection containers in a vault
      description: Lists the protection containers in a vault.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: resourceName
        in: path
        description: The name of the recovery services vault.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionContainerCollection'
      x-ms-examples:
        Gets the list of all protection containers in a vault.:
          $ref: ./examples/ReplicationProtectionContainers_List.json
      x-ms-pageable:
        nextLinkName: nextLink
    servers:
    - url: https://management.azure.com
components:
  schemas:
    ProtectionContainerFabricSpecificDetails:
      type: object
      description: Base class for fabric specific details of container.
      properties:
        instanceType:
          type: string
          description: Gets the class type. Overridden in derived classes.
          readOnly: true
    CreateProtectionContainerInputProperties:
      type: object
      description: Create protection container input properties.
      properties:
        providerSpecificInput:
          type: array
          description: Provider specific inputs for container creation.
          items:
            $ref: '#/components/schemas/ReplicationProviderSpecificContainerCreationInput'
    ReplicationProviderSpecificContainerCreationInput:
      type: object
      description: Provider specific input for container creation operation.
      properties:
        instanceType:
          type: string
          description: The class type.
      discriminator:
        propertyName: instanceType
      required:
      - instanceType
    DiscoverProtectableItemRequestProperties:
      type: object
      description: Discover protectable item properties.
      properties:
        friendlyName:
          type: string
          description: The friendly name of the physical machine.
        ipAddress:
          type: string
          description: The IP address of the physical machine to be discovered.
        osType:
          type: string
          description: The OS type on the physical machine.
    DiscoverProtectableItemRequest:
      type: object
      description: Request to add a physical machine as a protectable item in a container.
      properties:
        properties:
          $ref: '#/components/schemas/DiscoverProtectableItemRequestProperties'
          description: The properties of a discover protectable item request.
    ProtectionContainerCollection:
      type: object
      description: Protection Container collection.
      properties:
        value:
          type: array
          description: The ProtectionContainer items on this page
          items:
            $ref: '#/components/schemas/ProtectionContainer'
        nextLink:
          type: string
          format: uri
          description: The link to the next page of items
      required:
      - value
    SwitchClusterProtectionInput:
      type: object
      description: Switch cluster protection input.
      properties:
        properties:
          $ref: '#/components/schemas/SwitchClusterProtectionInputProperties'
          description: Switch cluster protection properties.
    SwitchClusterProtectionInputProperties:
      type: object
      description: Switch cluster protection input properties.
      properties:
        replicationProtectionClusterName:
          type: string
          description: The unique replication protection cluster name.
        providerSpecificDetails:
          $ref: '#/components/schemas/SwitchClusterProtectionProviderSpecificInput'
          description: Provider specific switch protection input.
    SwitchProtectionInput:
      type: object
      description: Switch protection input.
      properties:
        properties:
          $ref: '#/components/schemas/SwitchProtectionInputProperties'
          description: Switch protection properties.
    SwitchProtectionInputProperties:
      type: object
      description: Switch protection input properties.
      properties:
        replicationProtectedItemName:
          type: string
          description: The unique replication protected item name.
        providerSpecificDetails:
          $ref: '#/components/schemas/SwitchProtectionProviderSpecificInput'
          description: Provider specific switch protection input.
    ProtectionContainer:
      type: object
      description: Protection container details.
      properties:
        properties:
          $ref: '#/components/schemas/ProtectionContainerProperties'
          description: The custom data.
        location:
          type: string
          description: Resource Location
      allOf:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource
    SwitchProtectionProviderSpecificInput:
      type: object
      description: Provider specific switch protection input.
      properties:
        instanceType:
          type: string
          description: Gets the Instance type.
      discriminator:
        propertyName: instanceType
      required:
      - instanceType
    ProtectionContainerProperties:
      type: object
      description: Protection profile custom data details.
      properties:
        fabricFriendlyName:
          type: string
          description: Fabric friendly name.
        friendlyName:
          type: string
          description: The name.
        fabricType:
          type: string
          description: The fabric type.
        protectedItemCount:
          type: integer
          format: int32
          description: Number of protected PEs.
        pairingStatus:
          type: string
          description: The pairing status of this cloud.
        role:
          type: string
          description: The role of this cloud.
        fabricSpecificDetails:
          $ref: '#/components/schemas/ProtectionContainerFabricSpecificDetails'
          description: Fabric specific details.
    CreateProtectionContainerInput:
      type: object
      description: Create protection container input.
      properties:
        properties:
          $ref: '#/components/schemas/CreateProtectionContainerInputProperties'
          description: Create protection container input properties.
    SwitchClusterProtectionProviderSpecificInput:
      type: object
      description: Provider specific switch cluster protection input.
      properties:
        instanceType:
          type: string
          description: Gets the Instance type.
      discriminator:
        propertyName: instanceType
      required:
      - instanceType
  securitySchemes:
    azure_auth:
      type: oauth2
      flows:
        implicit:
          scopes:
            user_impersonation: impersonate your user account
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
      description: Azure Active Directory OAuth2 Flow.
x-refined-from:
- microsoft-azure-site-recovery-service-2026-11-01.json
- microsoft-azure-site-recovery-openapi.yml