Perform an on-demand quarantine action on resources

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Performs an on-demand quarantine action on specific resources such as removing from quarantine, excluding from quarantine, or extending the exclusion period

Request URL

https://{server-hostname}:8383/dcapi/compliance/quarantine/onDemand

Scope

VulnerabilityMgmt.UPDATECopied!

Header

Authorization: d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

Content-TypestringMandatory
application/onDemandQuarantineAction.v1+jsonapplication/onDemandQuarantineAction.v1+jsonCopied!
AcceptstringMandatory
application/onDemandQuarantineAction.v1+jsonapplication/onDemandQuarantineAction.v1+jsonCopied!

- Request Body

application/json
JSON Object
Hide Sub-Attributes
resourceIdsarrayOptional

List of resource IDs to perform the on-demand action on

onDemandActionstringOptional

Action type: removeFromQuarantine, doNotQuarantine, removeFromExclusionList, or extendExclusionList

daysstringOptional

Number of days for exclusion period (required for removeFromQuarantine, doNotQuarantine, extendExclusionList)

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request PUT \
  --url https://appdomain/dcapi/compliance/quarantine/onDemand \
  --header 'Accept: application/onDemandQuarantineAction.v1+json' \
  --header 'Authorization:  d92d4xxxxxxxxxxxxx15f52' \
  --header 'Content-Type: application/onDemandQuarantineAction.v1+json' \
  --data '{"onDemandAction":"removeFromQuarantine","days":"7","resourceIds":["1001","1002","1003"]}'

Sample Request Body

Remove selected resources from quarantine isolation

Copied!
  {
    "onDemandAction": "removeFromQuarantine",
    "days": "7",
    "resourceIds": [
      "1001",
      "1002",
      "1003"
    ]
  }
                
Show full

Extend grace period for pending quarantine resources

Copied!
  {
    "onDemandAction": "doNotQuarantine",
    "days": "14",
    "resourceIds": [
      "1001"
    ]
  }
                
Show full

Remove resources from the exclusion list to re-quarantine them

Copied!
  {
    "onDemandAction": "removeFromExclusionList",
    "resourceIds": [
      "1001",
      "1002"
    ]
  }
                
Show full

Extend the exclusion period for already-excluded resources

Copied!
  {
    "onDemandAction": "extendExclusionList",
    "days": "30",
    "resourceIds": [
      "1001"
    ]
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object
Hide Sub-Attributes
statusstring

Operation result. success on successful action

messagestring

Human-readable message describing the action taken

- HTTP code 400

Response Body - application/json
JSON Object
Hide Sub-Attributes
statusCodestring

HTTP status code (400)

errorCodestring

API-specific error code identifying the validation failure

messagestring

Error message describing the validation failure

- HTTP code 401

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required)

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodestring

Forbidden error code indicating user lacks ALL_MANAGED_COMPUTER_ROLE permission

errorMessagestring

Message indicating user must have permissions to manage all computers

- HTTP code 429

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Rate limit error code returned when the API call threshold (configured via threshold/duration in security XML) is exceeded; client is locked out for lock-period minutes

errorMsgstring

Rate limit exceeded message with retry guidance

Possible Response Codes

200HTTP code
400HTTP code
401HTTP code
403HTTP code
429HTTP code

Sample Response: HTTP 200

Resources removed from quarantine

Copied!
  {
    "message": "Selected system(s) have been removed from Quarantine successfully",
    "status": "success"
  }
                
Show full

Grace period extended for resources

Copied!
  {
    "message": "Selected system(s) have been extended from grace period successfully",
    "status": "success"
  }
                
Show full

Resources removed from exclusion list

Copied!
  {
    "message": "Selected system(s) have been removed from exclusion successfully",
    "status": "success"
  }
                
Show full

Exclusion period extended for resources

Copied!
  {
    "message": "Selected system(s) have been extended from exclusion successfully",
    "status": "success"
  }
                
Show full

Sample Response: HTTP 400

A request body parameter has an invalid format or type

Copied!
  {
    "errorCode": "IAM0025",
    "url": "/dcapi/compliance/quarantine/onDemand",
    "errorMsg": "resourceIds is an invalid parameter format."
  }
                
Show full

Sample Response: HTTP 401

Authentication credentials are missing or invalid

Copied!
  {
    "errorMessage": "Authentication required",
    "errorCode": "UNAUTHORIZED"
  }
                
Show full

Sample Response: HTTP 403

User lacks ALL_MANAGED_COMPUTER_ROLE permission

Copied!
  {
    "errorMessage": "Verify if the user is granted permissions to manage all computers!",
    "errorCode": "RESOURCE_NOT_IN_SCOPE"
  }
                
Show full

Quarantine is not available in VMP Professional Edition

Copied!
  {
    "errorMessage": "You do not have enough permission to perform this action. Upgrade to Enterprise Edition to use these features.",
    "errorCode": "FORBIDDEN"
  }
                
Show full

Sample Response: HTTP 429

API call threshold exceeded

Copied!
  {
    "errorMessage": "Rate limit exceeded. Retry after some time",
    "errorCode": "TOO_MANY_REQUESTS"
  }
                
Show full

Duration: 1 minute | Threshold: 30 | Lock period: 5 minutes

Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.