Policy
Identifiable and (optionally) named set of rules or settings. For some policies their rules / settings are specially organized to enable easy 're-use' in context of different and multiple 'resources'. Such policies must be bound to a context during application. But that is not the only case and policies may exist, which do not require binding to any additional contexts during application.
Properties
| Name | Type | Description |
|---|---|---|
| settings | object | |
| favorite_order | integer | The order number of the policy. |
| enabled | boolean | |
| comment | string | |
| origin | object | |
| default_name_template_id | string | Policy name template to be used when actual `name` is not user-assigned, e.g., for template policies. |
| _issues | array | |
| template | boolean | A `template` policy can't be applied and is used as a prototype for initialization of another policy of the same type. |
| temporary | boolean | A `temporary` policy lives no more than `ttl` period, after that is removed automatically. |
| created_at | string | |
| external_dependencies | array | References to dependencies. Represents objects in domains external to policy, which policy refers to, and access to whom needs to be adjusted on policy change. Should be filled upon policy validation |
| name | string | Is usually actual only for composite policy root. |
| parent_ids | array | References to parent policies (which this policy is linked to). |
| min_required_access_rules | array | Minimal access rules required to access the policy and overriding default access rules. Calculated from `settings` including their external. dependencies |
| updated_at | string | |
| id | object | |
| favorite | boolean | True if the policy is favorite |
| run_args | array | Arguments available for `PUT /applications/run`. |
| settings_constraints | object | Any constraint rules which applied to current policy settings - available enumerator values, numeric value ranges, string value patterns, etc. |
| ls_features | string | Licensing features calculated from `settings`. Empty when `enabled` is false. |
| tags | array | |
| default | boolean | True if the policy is default |
| settings_schema | object | |
| template_source_id | string | Reference to the `template` policy, that was used as a prototype for initialization of this policy. |
| deleted_at | string | |
| ttl | integer | Lifetime of the `temporary` policy, in seconds. Non-zero if set |
| _links | array | |
| type | object | |
| tenant_id | string | |
| _link_ids | array | |
| validation_dependencies | array | References to dependencies. Only sub-policy IDs of same composite are expected (otherwise the ID will be ignored). Should be filled upon policy validation at the first validation stage with `check_val |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/acronis/main/json-schema/acronis-policy-schema.json",
"title": "Policy",
"description": "Identifiable and (optionally) named set of rules or settings. For some policies their rules / settings are specially organized to enable easy 're-use' in context of different and multiple 'resources'. Such policies must be bound to a context during application. But that is not the only case and policies may exist, which do not require binding to any additional contexts during application.",
"x-generated": "2026-10-27",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/acronis-policy-management-api-openapi.yml#/components/schemas/Policy",
"type": "object",
"required": [
"enabled",
"origin",
"type"
],
"properties": {
"settings": {
"$ref": "#/$defs/AnyType"
},
"favorite_order": {
"description": "The order number of the policy.",
"type": "integer"
},
"enabled": {
"type": "boolean"
},
"comment": {
"type": "string"
},
"origin": {
"$ref": "#/$defs/EntityOrigin"
},
"default_name_template_id": {
"description": "Policy name template to be used when actual `name` is not user-assigned, e.g., for template policies.",
"type": "string"
},
"_issues": {
"type": "array",
"items": {
"$ref": "#/$defs/Issue_1"
}
},
"template": {
"description": "A `template` policy can't be applied and is used as a prototype for initialization of another policy of the same type.",
"type": "boolean"
},
"temporary": {
"description": "A `temporary` policy lives no more than `ttl` period, after that is removed automatically.",
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"external_dependencies": {
"description": "References to dependencies. Represents objects in domains external to policy, which policy refers to, and access to whom needs to be adjusted on policy change. Should be filled upon policy validation at the first. validation stage",
"type": "array",
"items": {
"$ref": "#/$defs/ExternalDependency"
}
},
"name": {
"description": "Is usually actual only for composite policy root.",
"type": "string"
},
"parent_ids": {
"description": "References to parent policies (which this policy is linked to).",
"type": "array",
"items": {
"$ref": "#/$defs/InternalID_2"
}
},
"min_required_access_rules": {
"description": "Minimal access rules required to access the policy and overriding default access rules. Calculated from `settings` including their external. dependencies",
"type": "array",
"items": {
"$ref": "#/$defs/RoleAccessRule"
}
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"id": {
"$ref": "#/$defs/InternalID"
},
"favorite": {
"description": "True if the policy is favorite",
"type": "boolean"
},
"run_args": {
"description": "Arguments available for `PUT /applications/run`.",
"type": "array",
"items": {
"type": "string"
}
},
"settings_constraints": {
"description": "Any constraint rules which applied to current policy settings - available enumerator values, numeric value ranges, string value patterns, etc.",
"anyOf": [
{
"type": "object"
},
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "boolean"
}
]
},
"ls_features": {
"description": "Licensing features calculated from `settings`. Empty when `enabled` is false.",
"type": "string",
"pattern": "^(\\w+)\\|?$"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/EntityTag"
}
},
"default": {
"description": "True if the policy is default",
"type": "boolean"
},
"settings_schema": {
"$ref": "#/$defs/SchemaVersion"
},
"template_source_id": {
"description": "Reference to the `template` policy, that was used as a prototype for initialization of this policy.",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"deleted_at": {
"type": "string",
"format": "date-time"
},
"ttl": {
"description": "Lifetime of the `temporary` policy, in seconds. Non-zero if set",
"type": "integer"
},
"_links": {
"type": "array",
"items": {
"$ref": "#/$defs/Link"
}
},
"type": {
"$ref": "#/$defs/PolicyType"
},
"tenant_id": {
"type": "string"
},
"_link_ids": {
"type": "array",
"items": {
"$ref": "#/$defs/Action"
}
},
"validation_dependencies": {
"description": "References to dependencies. Only sub-policy IDs of same composite are expected (otherwise the ID will be ignored). Should be filled upon policy validation at the first validation stage with `check_validation_dependencies`. set to `false`",
"type": "array",
"items": {
"$ref": "#/$defs/InternalID_2"
}
}
},
"$defs": {
"Action": {
"enum": [
"policy_view",
"policy_create",
"policy_delete",
"policy_update",
"policy_enable",
"policy_disable",
"policy_add_child",
"policy_remove_child",
"policy_run",
"policy_stop",
"policy_apply",
"policy_revoke",
"policy_resume",
"policy_pause",
"policy_status",
"backup",
"restore",
"getActivities",
"largeScaleRecovery",
"renameBackupPlans",
"editBackupPlans",
"collectSysinfo",
"browse",
"manageAsrm",
"manageAsz",
"activeProtection",
"addToGroup",
"removeFromGroup",
"renameVMReplicationPlans",
"editVMReplicationPlans",
"startReplicaTest",
"stopReplicaTest",
"failover",
"stopFailover",
"failback",
"finalize",
"unmount",
"detectApplications",
"rebind",
"permanentFailover",
"remove",
"replicate",
"delete",
"rename",
"addResources",
"removeResources",
"move",
"addStaticSubGroup",
"addDynamicSubGroup",
"editCondition",
"changeCredentials",
"changeMsSqlCredentials",
"editCasSettings",
"deleteCasSettings",
"changeMsExchangeDbCredentials",
"changeOffice365Credentials",
"comment",
"hostBackup",
"removeAppliances",
"select_disk_provision_mode",
"reboot",
"shutdown",
"canDisasterRecovery",
"manageLicense",
"patchManagement",
"remoteDesktop",
"remoteWipe",
"cyberDesktop"
],
"type": "string"
},
"AnyType": {
"anyOf": [
{
"type": "object"
},
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "boolean"
}
]
},
"EntityOrigin": {
"description": "Object creation origin, also called 'authoritative source'.",
"enum": [
"upstream",
"local"
],
"type": "string"
},
"EntityTag": {
"description": "Key-value pair to use for object search and sorting.",
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "boolean"
}
]
}
}
},
"ExternalDependency": {
"type": "object",
"required": [
"namespace",
"tenant_id",
"path",
"timestamp"
],
"properties": {
"namespace": {
"description": "Domain or namespace of the dependency object, e.g. 'credentials_store', 'script_repository'.",
"type": "string"
},
"tenant_id": {
"description": "Tenant that directly owns the dependency object.",
"type": "string",
"pattern": "^\\d+$"
},
"path": {
"description": "Dependency object identifier (can be structured), e.g. credentials or script object ID. This identifier will be used to track dependency object changes and to manage dependency object access permissions.",
"type": "string"
},
"timestamp": {
"description": "Timestamp of creation or last update of the dependency object.",
"type": "string",
"format": "date-time"
},
"role": {
"description": "Role (without namespace prefix), required to access the dependency object.",
"type": "string"
}
}
},
"InternalID": {
"description": "Service-wide unique object ID generated server-side.",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"InternalID_2": {
"description": "Service-wide unique object ID generated server-side.",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"Issue_1": {
"type": "object",
"required": [
"severity"
],
"properties": {
"link": {
"description": "Link name / ID or action / operation type, the issue is applied to.",
"enum": [
"policy_view",
"policy_create",
"policy_delete",
"policy_update",
"policy_enable",
"policy_disable",
"policy_add_child",
"policy_remove_child",
"policy_run",
"policy_stop",
"policy_apply",
"policy_revoke",
"policy_resume",
"policy_pause",
"policy_status",
"backup",
"restore",
"getActivities",
"largeScaleRecovery",
"renameBackupPlans",
"editBackupPlans",
"collectSysinfo",
"browse",
"manageAsrm",
"manageAsz",
"activeProtection",
"addToGroup",
"removeFromGroup",
"renameVMReplicationPlans",
"editVMReplicationPlans",
"startReplicaTest",
"stopReplicaTest",
"failover",
"stopFailover",
"failback",
"finalize",
"unmount",
"detectApplications",
"rebind",
"permanentFailover",
"remove",
"replicate",
"delete",
"rename",
"addResources",
"removeResources",
"move",
"addStaticSubGroup",
"addDynamicSubGroup",
"editCondition",
"changeCredentials",
"changeMsSqlCredentials",
"editCasSettings",
"deleteCasSettings",
"changeMsExchangeDbCredentials",
"changeOffice365Credentials",
"comment",
"hostBackup",
"removeAppliances",
"select_disk_provision_mode",
"reboot",
"shutdown",
"canDisasterRecovery",
"manageLicense",
"patchManagement",
"remoteDesktop",
"remoteWipe",
"cyberDesktop"
],
"type": "string"
},
"severity": {
"description": "Degree of trouble brought by the issue. If contains empty string, the severity is unknown.",
"enum": [
"ok",
"warning",
"error",
"critical"
],
"type": "string"
},
"error": {
"description": "Detailed issue domain and code, and context description as well.",
"type": "object",
"required": [
"code",
"domain"
],
"properties": {
"context": {
"description": "Description of context (call parameters, environment, etc), where the error occurred.",
"type": "object"
},
"code": {
"description": "Error ID or code, unique in the domain.",
"type": "string"
},
"domain": {
"description": "Error type or category. Can be ['Licensing','Access'] or name of specific domain model (e.g., `ResourceManagement` or `PolicyManagement`).",
"type": "string"
},
"message": {
"description": "Human-readable message, describing the error.",
"type": "string"
}
}
}
}
},
"Link": {
"type": "object",
"required": [
"rel"
],
"properties": {
"rel": {
"description": "\\'Relation' - link name / ID or action / operation type.",
"enum": [
"policy_view",
"policy_create",
"policy_delete",
"policy_update",
"policy_enable",
"policy_disable",
"policy_add_child",
"policy_remove_child",
"policy_run",
"policy_stop",
"policy_apply",
"policy_revoke",
"policy_resume",
"policy_pause",
"policy_status",
"backup",
"restore",
"getActivities",
"largeScaleRecovery",
"renameBackupPlans",
"editBackupPlans",
"collectSysinfo",
"browse",
"manageAsrm",
"manageAsz",
"activeProtection",
"addToGroup",
"removeFromGroup",
"renameVMReplicationPlans",
"editVMReplicationPlans",
"startReplicaTest",
"stopReplicaTest",
"failover",
"stopFailover",
"failback",
"finalize",
"unmount",
"detectApplications",
"rebind",
"permanentFailover",
"remove",
"replicate",
"delete",
"rename",
"addResources",
"removeResources",
"move",
"addStaticSubGroup",
"addDynamicSubGroup",
"editCondition",
"changeCredentials",
"changeMsSqlCredentials",
"editCasSettings",
"deleteCasSettings",
"changeMsExchangeDbCredentials",
"changeOffice365Credentials",
"comment",
"hostBackup",
"removeAppliances",
"select_disk_provision_mode",
"reboot",
"shutdown",
"canDisasterRecovery",
"manageLicense",
"patchManagement",
"remoteDesktop",
"remoteWipe",
"cyberDesktop"
],
"type": "string"
},
"href": {
"description": "URL of an endpoint that can be used for this action or operation.",
"type": "string"
}
}
},
"PolicyType": {
"description": "A policy type in the `type.scope` format, where `type` is 'policy' and `scope` is\nlike one of the `PolicyScope` values defined in `impl/policy/type_scopes.raml`.\n",
"type": "string"
},
"RoleAccessRule": {
"type": "object",
"required": [
"link",
"namespace",
"role"
],
"properties": {
"link": {
"description": "Type of access (link or action).",
"enum": [
"policy_view",
"policy_create",
"policy_delete",
"policy_update",
"policy_enable",
"policy_disable",
"policy_add_child",
"policy_remove_child",
"policy_run",
"policy_stop",
"policy_apply",
"policy_revoke",
"policy_resume",
"policy_pause",
"policy_status",
"backup",
"restore",
"getActivities",
"largeScaleRecovery",
"renameBackupPlans",
"editBackupPlans",
"collectSysinfo",
"browse",
"manageAsrm",
"manageAsz",
"activeProtection",
"addToGroup",
"removeFromGroup",
"renameVMReplicationPlans",
"editVMReplicationPlans",
"startReplicaTest",
"stopReplicaTest",
"failover",
"stopFailover",
"failback",
"finalize",
"unmount",
"detectApplications",
"rebind",
"permanentFailover",
"remove",
"replicate",
"delete",
"rename",
"addResources",
"removeResources",
"move",
"addStaticSubGroup",
"addDynamicSubGroup",
"editCondition",
"changeCredentials",
"changeMsSqlCredentials",
"editCasSettings",
"deleteCasSettings",
"changeMsExchangeDbCredentials",
"changeOffice365Credentials",
"comment",
"hostBackup",
"removeAppliances",
"select_disk_provision_mode",
"reboot",
"shutdown",
"canDisasterRecovery",
"manageLicense",
"patchManagement",
"remoteDesktop",
"remoteWipe",
"cyberDesktop"
],
"type": "string"
},
"namespace": {
"description": "Domain or namespace of the dependency object.",
"type": "string"
},
"role": {
"description": "Role (without namespace prefix), required to access the policy. In case of multiple roles for the same link brought by multiple rules, each role is required to allow the access. To completely disable the access, require a not existing role.",
"type": "string"
}
}
},
"SchemaVersion": {
"description": "Schema version.",
"type": "string",
"pattern": "^([0-9]+)\\.([0-9]+)$"
}
}
}
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
curl "https://apis.io/api/v1/json-schemas/acronis-policy"
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.