Azure Site Recovery · Schema
RecoveryPlan
Recovery plan details.
Disaster RecoveryReplicationBusiness ContinuityFailoverMicrosoft AzureAzure Resource Manager
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| name | string | The name of the resource |
| type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
| systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
| properties | object | The custom details. |
| location | string | Resource Location |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-azure-site-recovery/json-schema/microsoft-azure-site-recovery-recovery-plan-schema.json",
"title": "RecoveryPlan",
"description": "Recovery plan details.",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-azure-site-recovery-replicationrecoveryplans-api-openapi.yml#/components/schemas/RecoveryPlan",
"type": "object",
"properties": {
"properties": {
"$ref": "#/$defs/RecoveryPlanProperties",
"description": "The custom details."
},
"location": {
"type": "string",
"description": "Resource Location"
}
},
"allOf": [
{
"$ref": "#/$defs/ProxyResource"
}
],
"$defs": {
"CurrentScenarioDetails": {
"type": "object",
"description": "Current scenario details of the protected entity.",
"properties": {
"scenarioName": {
"type": "string",
"description": "Scenario name."
},
"jobId": {
"type": "string",
"description": "ARM Id of the job being executed."
},
"startTime": {
"type": "string",
"format": "date-time",
"description": "Start time of the workflow."
}
}
},
"PossibleOperationsDirections": {
"type": "string",
"description": "The failover direction.",
"enum": [
"PrimaryToRecovery",
"RecoveryToPrimary"
],
"x-ms-enum": {
"name": "PossibleOperationsDirections",
"modelAsString": true,
"values": [
{
"name": "PrimaryToRecovery",
"value": "PrimaryToRecovery",
"description": "PrimaryToRecovery"
},
{
"name": "RecoveryToPrimary",
"value": "RecoveryToPrimary",
"description": "RecoveryToPrimary"
}
]
}
},
"ProxyResource": {
"type": "object",
"title": "Proxy Resource",
"description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
"allOf": [
{
"$ref": "#/$defs/Resource"
}
]
},
"RecoveryPlanAction": {
"type": "object",
"description": "Recovery plan action details.",
"properties": {
"actionName": {
"type": "string",
"description": "The action name."
},
"failoverTypes": {
"type": "array",
"description": "The list of failover types.",
"items": {
"$ref": "#/$defs/ReplicationProtectedItemOperation"
}
},
"failoverDirections": {
"type": "array",
"description": "The list of failover directions.",
"items": {
"$ref": "#/$defs/PossibleOperationsDirections"
}
},
"customDetails": {
"$ref": "#/$defs/RecoveryPlanActionDetails",
"description": "The custom details."
}
},
"required": [
"actionName",
"failoverTypes",
"failoverDirections",
"customDetails"
]
},
"RecoveryPlanActionDetails": {
"type": "object",
"description": "Recovery plan action custom details.",
"properties": {
"instanceType": {
"type": "string",
"description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values)."
}
},
"required": [
"instanceType"
]
},
"RecoveryPlanGroup": {
"type": "object",
"description": "Recovery plan group details.",
"properties": {
"groupType": {
"$ref": "#/$defs/RecoveryPlanGroupType",
"description": "The group type."
},
"replicationProtectedItems": {
"type": "array",
"description": "The list of protected items.",
"items": {
"$ref": "#/$defs/RecoveryPlanProtectedItem"
}
},
"startGroupActions": {
"type": "array",
"description": "The start group actions.",
"items": {
"$ref": "#/$defs/RecoveryPlanAction"
}
},
"endGroupActions": {
"type": "array",
"description": "The end group actions.",
"items": {
"$ref": "#/$defs/RecoveryPlanAction"
}
}
},
"required": [
"groupType"
]
},
"RecoveryPlanGroupType": {
"type": "string",
"description": "The group type.",
"enum": [
"Shutdown",
"Boot",
"Failover"
],
"x-ms-enum": {
"name": "RecoveryPlanGroupType",
"modelAsString": true,
"values": [
{
"name": "Shutdown",
"value": "Shutdown",
"description": "Shutdown"
},
{
"name": "Boot",
"value": "Boot",
"description": "Boot"
},
{
"name": "Failover",
"value": "Failover",
"description": "Failover"
}
]
}
},
"RecoveryPlanProperties": {
"type": "object",
"description": "Recovery plan properties.",
"properties": {
"friendlyName": {
"type": "string",
"description": "The friendly name."
},
"primaryFabricId": {
"type": "string",
"description": "The primary fabric Id."
},
"primaryFabricFriendlyName": {
"type": "string",
"description": "The primary fabric friendly name."
},
"recoveryFabricId": {
"type": "string",
"description": "The recovery fabric Id."
},
"recoveryFabricFriendlyName": {
"type": "string",
"description": "The recovery fabric friendly name."
},
"failoverDeploymentModel": {
"type": "string",
"description": "The failover deployment model."
},
"replicationProviders": {
"type": "array",
"description": "The list of replication providers.",
"items": {
"type": "string"
}
},
"allowedOperations": {
"type": "array",
"description": "The list of allowed operations.",
"items": {
"type": "string"
}
},
"lastPlannedFailoverTime": {
"type": "string",
"format": "date-time",
"description": "The start time of the last planned failover."
},
"lastUnplannedFailoverTime": {
"type": "string",
"format": "date-time",
"description": "The start time of the last unplanned failover."
},
"lastTestFailoverTime": {
"type": "string",
"format": "date-time",
"description": "The start time of the last test failover."
},
"currentScenario": {
"$ref": "#/$defs/CurrentScenarioDetails",
"description": "The current scenario details."
},
"currentScenarioStatus": {
"type": "string",
"description": "The recovery plan status."
},
"currentScenarioStatusDescription": {
"type": "string",
"description": "The recovery plan status description."
},
"groups": {
"type": "array",
"description": "The recovery plan groups.",
"items": {
"$ref": "#/$defs/RecoveryPlanGroup"
}
},
"providerSpecificDetails": {
"type": "array",
"description": "The provider id and provider specific details.",
"items": {
"$ref": "#/$defs/RecoveryPlanProviderSpecificDetails"
}
}
}
},
"RecoveryPlanProtectedItem": {
"type": "object",
"description": "Recovery plan protected item.",
"properties": {
"id": {
"type": "string",
"description": "The ARM Id of the recovery plan protected item."
},
"virtualMachineId": {
"type": "string",
"description": "The virtual machine Id."
}
}
},
"RecoveryPlanProviderSpecificDetails": {
"type": "object",
"description": "Recovery plan provider specific details.",
"properties": {
"instanceType": {
"type": "string",
"description": "Gets the Instance type."
}
},
"required": [
"instanceType"
]
},
"ReplicationProtectedItemOperation": {
"type": "string",
"description": "The list of failover types.",
"enum": [
"ReverseReplicate",
"Commit",
"PlannedFailover",
"UnplannedFailover",
"DisableProtection",
"TestFailover",
"TestFailoverCleanup",
"Failback",
"FinalizeFailback",
"CancelFailover",
"ChangePit",
"RepairReplication",
"SwitchProtection",
"CompleteMigration"
],
"x-ms-enum": {
"name": "ReplicationProtectedItemOperation",
"modelAsString": true,
"values": [
{
"name": "ReverseReplicate",
"value": "ReverseReplicate",
"description": "ReverseReplicate"
},
{
"name": "Commit",
"value": "Commit",
"description": "Commit"
},
{
"name": "PlannedFailover",
"value": "PlannedFailover",
"description": "PlannedFailover"
},
{
"name": "UnplannedFailover",
"value": "UnplannedFailover",
"description": "UnplannedFailover"
},
{
"name": "DisableProtection",
"value": "DisableProtection",
"description": "DisableProtection"
},
{
"name": "TestFailover",
"value": "TestFailover",
"description": "TestFailover"
},
{
"name": "TestFailoverCleanup",
"value": "TestFailoverCleanup",
"description": "TestFailoverCleanup"
},
{
"name": "Failback",
"value": "Failback",
"description": "Failback"
},
{
"name": "FinalizeFailback",
"value": "FinalizeFailback",
"description": "FinalizeFailback"
},
{
"name": "CancelFailover",
"value": "CancelFailover",
"description": "CancelFailover"
},
{
"name": "ChangePit",
"value": "ChangePit",
"description": "ChangePit"
},
{
"name": "RepairReplication",
"value": "RepairReplication",
"description": "RepairReplication"
},
{
"name": "SwitchProtection",
"value": "SwitchProtection",
"description": "SwitchProtection"
},
{
"name": "CompleteMigration",
"value": "CompleteMigration",
"description": "CompleteMigration"
}
]
}
},
"Resource": {
"type": "object",
"title": "Resource",
"description": "Common fields that are returned in the response for all Azure Resource Manager resources",
"properties": {
"id": {
"type": "string",
"format": "arm-id",
"description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"",
"readOnly": true
},
"name": {
"type": "string",
"description": "The name of the resource",
"readOnly": true
},
"type": {
"type": "string",
"description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"",
"readOnly": true
},
"systemData": {
"$ref": "#/$defs/systemData",
"description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
"readOnly": true
}
},
"x-ms-azure-resource": true
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-azure-site-recovery-recovery-plan"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.