---
updatedAt: 2026-05-12T10:01:09.000Z
---

# Add/remove assets from policy

This operation enables you to add assets to and/or remove assets from a custom policy. Both of these procedures can be performed in a single request.

**NOTE**: Sites are the only asset type supported for this operation.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "x-explorer-enabled": false,
  "info": {
    "title": "Vuln Custom Policy API (Legacy)",
    "license": {
      "name": "(c) Copyright 2020 WhiteHat Security"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://sentinel.whitehatsec.com"
    }
  ],
  "paths": {
    "/api/vuln_custom_policy/{id}/assets": {
      "put": {
        "tags": [
          "Vuln Custom Policy API v1.0"
        ],
        "summary": "Add/remove assets from policy",
        "description": "This operation enables you to add assets to and/or remove assets from a custom policy. Both of these procedures can be performed in a single request.\n\n**NOTE**: Sites are the only asset type supported for this operation.",
        "operationId": "addRemovePolicyAssets",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Custom policy id.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Holds the information to assign or remove assets from vuln custom policy.",
          "content": {
            "application/json": {
              "encoding": {},
              "schema": {
                "$ref": "#/components/schemas/VulnCustomPolicyAssetPutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Provides the information of updated vuln custom policy.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VulnCustomPolicyAsset"
                }
              }
            }
          },
          "400": {
            "description": "BadRequestResponse indicates a request with invalid parameters.",
            "content": {}
          },
          "401": {
            "description": "UnauthorizedResponse signals an unauthorized API access.",
            "content": {}
          },
          "403": {
            "description": "ForbiddenResponse signals a request for a resource that does not exist or is not authorized.",
            "content": {}
          },
          "500": {
            "description": "GenericError generic error.",
            "content": {}
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "VulnCustomPolicyAssetPutRequest": {
        "description": "The list of integer site IDs to attach to the policy. Any site IDs already attached to the policy that are not included in this list will be removed from the policy. EXAMPLE: If sites 2 & 3 are already attached and we use this as content: ''{sites:[1,2]}'', site 2 will remain attached, site 3 will be added, and site 1 will be removed from the policy.",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "VulnCustomPolicyAsset": {
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "proxy-enabled": true
  }
}
```