Azure Site Recovery · Schema
VaultHealthDetails
Vault health details definition.
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 vault health related data. |
| 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-vault-health-details-schema.json",
"title": "VaultHealthDetails",
"description": "Vault health details definition.",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-azure-site-recovery-replicationvaulthealth-api-openapi.yml#/components/schemas/VaultHealthDetails",
"type": "object",
"properties": {
"properties": {
"$ref": "#/$defs/VaultHealthProperties",
"description": "The vault health related data."
},
"location": {
"type": "string",
"description": "Resource Location"
}
},
"allOf": [
{
"$ref": "#/$defs/Resource"
}
],
"$defs": {
"HealthError": {
"type": "object",
"description": "Health Error.",
"properties": {
"innerHealthErrors": {
"type": "array",
"description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
"items": {
"$ref": "#/$defs/InnerHealthError"
}
},
"errorSource": {
"type": "string",
"description": "Source of error."
},
"errorType": {
"type": "string",
"description": "Type of error."
},
"errorLevel": {
"type": "string",
"description": "Level of error."
},
"errorCategory": {
"type": "string",
"description": "Category of error."
},
"errorCode": {
"type": "string",
"description": "Error code."
},
"summaryMessage": {
"type": "string",
"description": "Summary message of the entity."
},
"errorMessage": {
"type": "string",
"description": "Error message."
},
"possibleCauses": {
"type": "string",
"description": "Possible causes of error."
},
"recommendedAction": {
"type": "string",
"description": "Recommended action to resolve error."
},
"creationTimeUtc": {
"type": "string",
"format": "date-time",
"description": "Error creation time (UTC)."
},
"recoveryProviderErrorMessage": {
"type": "string",
"description": "DRA error message."
},
"entityId": {
"type": "string",
"description": "ID of the entity."
},
"errorId": {
"type": "string",
"description": "The health error unique id."
},
"customerResolvability": {
"$ref": "#/$defs/HealthErrorCustomerResolvability",
"description": "Value indicating whether the health error is customer resolvable."
}
}
},
"HealthErrorCategory": {
"type": "string",
"description": "The category of the health error.",
"enum": [
"None",
"Replication",
"TestFailover",
"Configuration",
"FabricInfrastructure",
"VersionExpiry",
"AgentAutoUpdateInfra",
"AgentAutoUpdateArtifactDeleted",
"AgentAutoUpdateRunAsAccount",
"AgentAutoUpdateRunAsAccountExpiry",
"AgentAutoUpdateRunAsAccountExpired"
],
"x-ms-enum": {
"name": "HealthErrorCategory",
"modelAsString": true,
"values": [
{
"name": "None",
"value": "None",
"description": "None"
},
{
"name": "Replication",
"value": "Replication",
"description": "Replication"
},
{
"name": "TestFailover",
"value": "TestFailover",
"description": "TestFailover"
},
{
"name": "Configuration",
"value": "Configuration",
"description": "Configuration"
},
{
"name": "FabricInfrastructure",
"value": "FabricInfrastructure",
"description": "FabricInfrastructure"
},
{
"name": "VersionExpiry",
"value": "VersionExpiry",
"description": "VersionExpiry"
},
{
"name": "AgentAutoUpdateInfra",
"value": "AgentAutoUpdateInfra",
"description": "AgentAutoUpdateInfra"
},
{
"name": "AgentAutoUpdateArtifactDeleted",
"value": "AgentAutoUpdateArtifactDeleted",
"description": "AgentAutoUpdateArtifactDeleted"
},
{
"name": "AgentAutoUpdateRunAsAccount",
"value": "AgentAutoUpdateRunAsAccount",
"description": "AgentAutoUpdateRunAsAccount"
},
{
"name": "AgentAutoUpdateRunAsAccountExpiry",
"value": "AgentAutoUpdateRunAsAccountExpiry",
"description": "AgentAutoUpdateRunAsAccountExpiry"
},
{
"name": "AgentAutoUpdateRunAsAccountExpired",
"value": "AgentAutoUpdateRunAsAccountExpired",
"description": "AgentAutoUpdateRunAsAccountExpired"
}
]
}
},
"HealthErrorCustomerResolvability": {
"type": "string",
"description": "Value indicating whether the health error is customer resolvable.",
"enum": [
"Allowed",
"NotAllowed"
],
"x-ms-enum": {
"name": "HealthErrorCustomerResolvability",
"modelAsString": true,
"values": [
{
"name": "Allowed",
"value": "Allowed",
"description": "Allowed"
},
{
"name": "NotAllowed",
"value": "NotAllowed",
"description": "NotAllowed"
}
]
}
},
"HealthErrorSummary": {
"type": "object",
"description": "class to define the summary of the health error details.",
"properties": {
"summaryCode": {
"type": "string",
"description": "The code of the health error."
},
"category": {
"$ref": "#/$defs/HealthErrorCategory",
"description": "The category of the health error."
},
"severity": {
"$ref": "#/$defs/Severity",
"description": "Severity of error."
},
"summaryMessage": {
"type": "string",
"description": "The summary message of the health error."
},
"affectedResourceType": {
"type": "string",
"description": "The type of affected ARM resource."
},
"affectedResourceSubtype": {
"type": "string",
"description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable."
},
"affectedResourceCorrelationIds": {
"type": "array",
"description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.",
"items": {
"type": "string"
}
}
}
},
"InnerHealthError": {
"type": "object",
"description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
"properties": {
"errorSource": {
"type": "string",
"description": "Source of error."
},
"errorType": {
"type": "string",
"description": "Type of error."
},
"errorLevel": {
"type": "string",
"description": "Level of error."
},
"errorCategory": {
"type": "string",
"description": "Category of error."
},
"errorCode": {
"type": "string",
"description": "Error code."
},
"summaryMessage": {
"type": "string",
"description": "Summary message of the entity."
},
"errorMessage": {
"type": "string",
"description": "Error message."
},
"possibleCauses": {
"type": "string",
"description": "Possible causes of error."
},
"recommendedAction": {
"type": "string",
"description": "Recommended action to resolve error."
},
"creationTimeUtc": {
"type": "string",
"format": "date-time",
"description": "Error creation time (UTC)."
},
"recoveryProviderErrorMessage": {
"type": "string",
"description": "DRA error message."
},
"entityId": {
"type": "string",
"description": "ID of the entity."
},
"errorId": {
"type": "string",
"description": "The health error unique id."
},
"customerResolvability": {
"$ref": "#/$defs/HealthErrorCustomerResolvability",
"description": "Value indicating whether the health error is customer resolvable."
}
}
},
"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
},
"ResourceHealthSummary": {
"type": "object",
"description": "Base class to define the health summary of the resources contained under an Arm resource.",
"properties": {
"resourceCount": {
"type": "integer",
"format": "int32",
"description": "The count of total resources under the container."
},
"issues": {
"type": "array",
"description": "The list of summary of health errors across the resources under the container.",
"items": {
"$ref": "#/$defs/HealthErrorSummary"
}
},
"categorizedResourceCounts": {
"type": "object",
"description": "The categorized resource counts.",
"additionalProperties": {
"format": "int32",
"type": "integer"
}
}
}
},
"Severity": {
"type": "string",
"description": "Severity of error.",
"enum": [
"NONE",
"Warning",
"Error",
"Info"
],
"x-ms-enum": {
"name": "Severity",
"modelAsString": true,
"values": [
{
"name": "NONE",
"value": "NONE",
"description": "NONE"
},
{
"name": "Warning",
"value": "Warning",
"description": "Warning"
},
{
"name": "Error",
"value": "Error",
"description": "Error"
},
{
"name": "Info",
"value": "Info",
"description": "Info"
}
]
}
},
"VaultHealthProperties": {
"type": "object",
"description": "class to define the health summary of the Vault.",
"properties": {
"vaultErrors": {
"type": "array",
"description": "The list of errors on the vault.",
"items": {
"$ref": "#/$defs/HealthError"
}
},
"protectedItemsHealth": {
"$ref": "#/$defs/ResourceHealthSummary",
"description": "The list of the health detail of the protected items in the vault."
},
"fabricsHealth": {
"$ref": "#/$defs/ResourceHealthSummary",
"description": "The list of the health detail of the fabrics in the vault."
},
"containersHealth": {
"$ref": "#/$defs/ResourceHealthSummary",
"description": "The list of the health detail of the containers in the vault."
}
}
},
"systemData": {
"type": "object",
"description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
"x-ae-placeholder": 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-vault-health-details"
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.