Acronis Resource and Policy Management API

Acronis Resource and Policy Management API enables organizations to efficiently manage resources and policies within their IT infrastructure.

Operations 36

GET /policy_management/v4/policies #
POST /policy_management/v4/policies #
DELETE /policy_management/v4/policies #
PATCH /policy_management/v4/policies/favorite #
GET /policy_management/v4/policies/{policy_id} #
DELETE /policy_management/v4/policies/{policy_id} #
PATCH /policy_management/v4/policies/{policy_id} #
POST /policy_management/v4/drafts
GET /policy_management/v4/drafts/{draft_id}
DELETE /policy_management/v4/drafts/{draft_id}
PUT /policy_management/v4/drafts/{draft_id}/state
PUT /policy_management/v4/drafts/{draft_id}/name
PUT /policy_management/v4/drafts/{draft_id}/context
PUT /policy_management/v4/drafts/{draft_id}/enabled_policies
PUT /policy_management/v4/drafts/{draft_id}/disabled_applications_context
POST /policy_management/v4/drafts/{draft_id}/policies
DELETE /policy_management/v4/drafts/{draft_id}/policies/{policy_id}
PUT /policy_management/v4/drafts/{draft_id}/policies/{policy_id}/enabled
PUT /policy_management/v4/drafts/{draft_id}/policies/{policy_id}/name
PUT /policy_management/v4/drafts/{draft_id}/policies/{policy_id}/type
PUT /policy_management/v4/drafts/{draft_id}/policies/{policy_id}/comment
PUT /policy_management/v4/drafts/{draft_id}/policies/{policy_id}/settings
POST /policy_management/v4/applications #
GET /policy_management/v4/applications #
DELETE /policy_management/v4/applications #
GET /policy_management/v4/applications/issues/statistics #
PUT /policy_management/v4/applications/run #
GET /policy_management/v4/policy_statuses #
GET /resource_management/v4/resources #
DELETE /resource_management/v4/resources #
POST /resource_management/v4/resources #
POST /resource_management/v4/resources/batch #
GET /resource_management/v4/resources/count #
GET /resource_management/v4/resources/{resource_internal_or_external_id} #
GET /resource_management/v4/resources/{resource_internal_or_external_id}/attributes #
GET /resource_management/v4/resource_statuses #

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/resource-and-policy-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

acronis-resource-policy-management-v4-openapi.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "title": "Resource and Policy Management API",
    "version": "v4"
  },
  "paths": {
    "/policy_management/v4/policies": {
      "get": {
        "operationId": "Fetch a list of policies",
        "parameters": [
          {
            "name": "tenant_id",
            "description": "Filter by one or more tenant IDs or UUIDs. Maximum 100 items.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more tenant IDs or UUIDs. Maximum 100 items.",
              "type": "string"
            }
          },
          {
            "name": "types",
            "description": "Filter by one or more policy types. Items are of type `PolicyType`. Maximum 10 items.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more policy types. Items are of type `PolicyType`. Maximum 10 items.",
              "type": "string"
            }
          },
          {
            "name": "enabled",
            "description": "Filter only enabled or disabled policies.",
            "in": "query",
            "schema": {
              "description": "Filter only enabled or disabled policies.",
              "type": "boolean"
            }
          },
          {
            "name": "policy_id",
            "description": "Filter by one or more policy IDs. Maximum 100 items.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more policy IDs. Maximum 100 items.",
              "type": "string"
            }
          },
          {
            "name": "policy_selection_id",
            "description": "Fetch all policies that are in the policy selection.",
            "in": "query",
            "schema": {
              "description": "Fetch all policies that are in the policy selection.",
              "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}$"
            }
          },
          {
            "name": "parent_ids",
            "description": "Filter by one or more parent IDs. Maximum 100 items. If this filter is set, policies with matching 'parent policies' will be returned. If this filter is used but no actual values are provided in the query (e.g. `parent_ids=`), only 'root policies' (with empty 'parent policies') will be returned.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more parent IDs. Maximum 100 items. If this filter is set, policies with matching 'parent policies' will be returned. If this filter is used but no actual values are provided in the query (e.g. `parent_ids=`), only 'root policies' (with empty 'parent policies') will be returned.",
              "type": "string"
            }
          },
          {
            "name": "search",
            "description": "Search for policies by name, type and tags using an SQL-like syntax.",
            "in": "query",
            "schema": {
              "description": "Search for policies by name, type and tags using an SQL-like syntax.",
              "type": "string"
            }
          },
          {
            "name": "applicable_to_context_id",
            "description": "Fetch all policies that are applicable to the resources with the given IDs. Maximum 100. Mutually exclusive with the `include_applied_context` filter.",
            "in": "query",
            "schema": {
              "description": "Fetch all policies that are applicable to the resources with the given IDs. Maximum 100. Mutually exclusive with the `include_applied_context` filter.",
              "type": "string"
            }
          },
          {
            "name": "applicable_to_context_selection_id",
            "description": "Fetch all policies that are applicable to the resources in the context selection. Mutually exclusive with the `include_applied_context` filter. If at least one sub-policy except the root policy is applicable, the overall composite policy is applicable",
            "in": "query",
            "schema": {
              "description": "Fetch all policies that are applicable to the resources in the context selection. Mutually exclusive with the `include_applied_context` filter. If at least one sub-policy except the root policy is applicable, the overall composite policy is applicable",
              "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}$"
            }
          },
          {
            "name": "dependency_namespace",
            "description": "Fetch all policies by dependency domain or namespace",
            "in": "query",
            "schema": {
              "description": "Fetch all policies by dependency domain or namespace",
              "type": "string"
            }
          },
          {
            "name": "dependency_path",
            "description": "Fetch all policies by dependency identifier. Must be set if `dependency_namespace` is set",
            "in": "query",
            "schema": {
              "description": "Fetch all policies by dependency identifier. Must be set if `dependency_namespace` is set",
              "type": "string"
            }
          },
          {
            "name": "os_type",
            "description": "Fetch all policies that would be applicable to a resource with the given os type. Mutually exclusive with the `applicable_to_context_id` and `applicable_to_context_selection_id` filters.",
            "in": "query",
            "schema": {
              "description": "Fetch all policies that would be applicable to a resource with the given os type. Mutually exclusive with the `applicable_to_context_id` and `applicable_to_context_selection_id` filters.",
              "enum": [
                "Windows9x",
                "Windows",
                "MacOSX",
                "Linux"
              ],
              "type": "string"
            }
          },
          {
            "name": "include_settings",
            "description": "Include policy settings.",
            "in": "query",
            "schema": {
              "description": "Include policy settings.",
              "type": "boolean"
            }
          },
          {
            "name": "include_settings_constraints",
            "description": "Include settings constraints. Settings constraints will not be included if `include_settings` is not `true`. By default, `include_settings_constraints` is considered `true` when `include_settings` is `true`.",
            "in": "query",
            "schema": {
              "description": "Include settings constraints. Settings constraints will not be included if `include_settings` is not `true`. By default, `include_settings_constraints` is considered `true` when `include_settings` is `true`.",
              "type": "boolean"
            }
          },
          {
            "name": "include_applied_context",
            "description": "Include the context that the policies are applied to. Populates the `context` field of the `BoundCompositePolicy` objects. Mutually exclusive with `applicable_to_context_id` and `applicable_to_context_selection_id` filters.",
            "in": "query",
            "schema": {
              "description": "Include the context that the policies are applied to. Populates the `context` field of the `BoundCompositePolicy` objects. Mutually exclusive with `applicable_to_context_id` and `applicable_to_context_selection_id` filters.",
              "type": "boolean"
            }
          },
          {
            "name": "templates_only",
            "description": "Filter out non-template policies.",
            "in": "query",
            "schema": {
              "description": "Filter out non-template policies.",
              "type": "boolean"
            }
          },
          {
            "name": "include_templates",
            "description": "Include template policies.",
            "in": "query",
            "schema": {
              "description": "Include template policies.",
              "type": "boolean"
            }
          },
          {
            "name": "include_temporaries",
            "description": "Include temporary policies.",
            "in": "query",
            "schema": {
              "description": "Include temporary policies.",
              "type": "boolean"
            }
          },
          {
            "name": "favorite",
            "description": "Show only the favorite policies",
            "in": "query",
            "schema": {
              "description": "Show only the favorite policies",
              "type": "boolean"
            }
          },
          {
            "name": "default",
            "description": "Show only the default policy",
            "in": "query",
            "schema": {
              "description": "Show only the default policy",
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "description": "Number of element in the page.",
            "in": "query",
            "schema": {
              "description": "Number of element in the page.",
              "type": "integer"
            }
          },
          {
            "name": "before",
            "description": "Cursor before the current page.",
            "in": "query",
            "schema": {
              "description": "Cursor before the current page.",
              "type": "string"
            }
          },
          {
            "name": "after",
            "description": "Cursor after the current page.",
            "in": "query",
            "schema": {
              "description": "Cursor after the current page.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BoundCompositePolicyPagedList"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_management::read"
            ]
          }
        ]
      },
      "post": {
        "operationId": "Create a policy",
        "description": "Creates a policy.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "The `EntityVersion` fields as well as `tags`, `run_args` and `settings_constraints`\nfields are not accepted (since they are calculable).\n\nClient-generated IDs are allowed for policies. If client-generated ID is provided for root\npolicy, then client-generated IDs should be provided for all other policies within requested composite.\n",
                "type": "object",
                "required": [
                  "subject"
                ],
                "properties": {
                  "subject": {
                    "$ref": "#/components/schemas/BoundCompositePolicy"
                  },
                  "ignore_policy_and_tenant_ids": {
                    "description": "Use the exported policy for import as a new one (in the same or different tenant)\nimmediately, without any additional processing by the client.\n\nIf true, then client-generated policy IDs will be ignored and will be generated by a server.\nPolicy tenant IDs will be ignored as well and set to a tenant defined by the `override_tenant_id`\nparameter or deduced according to the `ScopedByContextTenant` trait.\n\nIf false, then:\n\n1. Provided client-generated IDs should be globally unique and will be used as policy IDs to create\nor update;\n\n1. If root policy with provided client-generated ID already exists, then all other policies within\nthe requested composite should exist as well and upsert semantics will be used for all policies;\n\n1. If root policy with provided client-generated ID already exists but belongs to a tenant different\nfrom the one defined by `override_tenant_id` parameter or deduced according to the `ScopedByContextTenant`\ntrait, then request will fail with `AccessDeniedError` (policy movement between tenants is not supported).\n\nUseful in import-after-export case.\n",
                    "type": "boolean"
                  },
                  "override_tenant_id": {
                    "description": "Enable import into tenant different from the one used for export. Useful in import-after-export case.",
                    "type": "string"
                  },
                  "ensure_applications": {
                    "description": "Create and revoke applications for the processed policy according to a given context.",
                    "default": true,
                    "type": "boolean"
                  },
                  "disable_applications_on_conflict": {
                    "description": "On update of the existing policy, automatically switch `application.enabled` to false in case of application conflict conditions (which otherwise fail the request).",
                    "type": "boolean"
                  },
                  "os_type": {
                    "description": "Save only the policies that would be supported for a resource with the given os type. All unsupported policies are removed from the composite policy instead of just being disabled.",
                    "enum": [
                      "Windows9x",
                      "Windows",
                      "MacOSX",
                      "Linux"
                    ],
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The policy creation or update was successful. If there are warning issues, they will be included in the response. If there are critical or error issues, the server response will contain error code `422`. See the description of the response with code `422`.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "description": "A list of resulting policies in the `id@type` format.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EntityTypeAndID"
                      }
                    },
                    "issues": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Issue"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Malformed request errors.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "409": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Persistence race.",
                  "type": "object",
                  "required": [
                    "code",
                    "domain"
                  ],
                  "properties": {
                    "code": {
                      "description": "Error ID or code, unique in the domain.",
                      "enum": [
                        "DataConflictError"
                      ],
                      "type": "string"
                    },
                    "context": {
                      "description": "Description of context (call parameters, environment, etc), where the error occurred.",
                      "type": "object"
                    },
                    "domain": {
                      "description": "Error type or category. Can be ['Licensing','Access'] or name of specific domain model (e.g., `ResourceManagement` or `PolicyManagement`).",
                      "enum": [
                        "General"
                      ],
                      "type": "string"
                    },
                    "message": {
                      "description": "Human-readable message, describing the error.",
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Critical or error issues (link='') blocked the policy creation or update.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "issues"
                  ],
                  "properties": {
                    "issues": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Issue"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_manager::admin"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "Delete policies",
        "parameters": [
          {
            "name": "tenant_id",
            "description": "Filter by one or more tenant IDs or UUIDs. Maximum 100 items.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more tenant IDs or UUIDs. Maximum 100 items.",
              "type": "string"
            }
          },
          {
            "name": "policy_id",
            "description": "Filter by one or more policy IDs. Maximum 100 items.",
            "in": "query",
            "schema": {
              "description": "Filter by one or more policy IDs. Maximum 100 items.",
              "type": "string"
            }
          },
          {
            "name": "policy_selection_id",
            "description": "Filter by policies that are in the policy selection.",
            "in": "query",
            "schema": {
              "description": "Filter by policies that are in the policy selection.",
              "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}$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {}
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "422": {
            "description": "Critical or error issues (link='') blocked the policy deletion",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "issues"
                  ],
                  "properties": {
                    "issues": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Issue"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_manager::admin"
            ]
          }
        ]
      }
    },
    "/policy_management/v4/policies/favorite": {
      "patch": {
        "operationId": "Modify policies favorite order and properties",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "Contains an array of policy ids, their favorite order and properties. Used to update the favorite order in bulk.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PolicyIDAndOrder"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "",
            "content": {}
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_manager::admin"
            ]
          }
        ]
      }
    },
    "/policy_management/v4/policies/{policy_id}": {
      "get": {
        "operationId": "Fetch a policy",
        "parameters": [
          {
            "name": "full_composite",
            "description": "If `{policy_id}` is a composite policy root, then all composite policies will be returned. If `{policy_id}` is a non-root policy - just one corresponding policy object will be returned.",
            "in": "query",
            "schema": {
              "description": "If `{policy_id}` is a composite policy root, then all composite policies will be returned. If `{policy_id}` is a non-root policy - just one corresponding policy object will be returned.",
              "type": "boolean"
            }
          },
          {
            "name": "include_settings",
            "description": "Include policy settings.",
            "in": "query",
            "schema": {
              "description": "Include policy settings.",
              "type": "boolean"
            }
          },
          {
            "name": "include_applied_context",
            "description": "Include the context that the policy is applied to. Populates the `context` field of the `BoundCompositePolicy` object.",
            "in": "query",
            "schema": {
              "description": "Include the context that the policy is applied to. Populates the `context` field of the `BoundCompositePolicy` object.",
              "type": "boolean"
            }
          },
          {
            "name": "links_and_issues",
            "description": "Request to calculate and return links and / or constraints on them. If `embed_brief` is requested - only non-constrained ('available') links should be returned (in `LinksAndIssues._linkIDs` array). If `embed_detailed` is requested - both links (non-constrained and constrained) and their constraint descriptions should be returned (in `LinksAndIssues._links` and `LinksAndIssues._issues` arrays).",
            "in": "query",
            "schema": {
              "description": "Request to calculate and return links and / or constraints on them. If `embed_brief` is requested - only non-constrained ('available') links should be returned (in `LinksAndIssues._linkIDs` array). If `embed_detailed` is requested - both links (non-constrained and constrained) and their constraint descriptions should be returned (in `LinksAndIssues._links` and `LinksAndIssues._issues` arrays).",
              "enum": [
                "embed_brief",
                "embed_detailed"
              ],
              "type": "string"
            }
          },
          {
            "name": "policy_id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BoundCompositePolicy"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_management::read"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "Delete a policy",
        "parameters": [
          {
            "name": "policy_id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {}
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/UnauthorizedRequestError"
                    },
                    {
                      "$ref": "#/components/schemas/AuthenticationTimeoutError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedError"
                }
              }
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "422": {
            "description": "Critical or error issues (link='') blocked the policy deletion",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "issues"
                  ],
                  "properties": {
                    "issues": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Issue"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "urn:acronis.com::policy_manager::admin"
            ]
          }
        ]
      },
      "patch": {
        "operationId": "Update a policy",
        "description": "Updates a policy.",
        "parameters": [
          {
            "name": "policy_id",
            "required": true,
            "in": "path",
            "sche

# --- truncated at 32 KB (298 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/acronis/refs/heads/main/openapi/_original/acronis-resource-policy-management-v4-openapi.json