# Remove a policy group association from a target group Removes the compliance policy group association from a custom group (target group) and cleans up the related collection and configuration. ## Endpoint **POST** `/dcapi/scap/compliance/map/dissociate` ## Request URL `https://{server-hostname}:8383/dcapi/scap/compliance/map/dissociate` ## Scope `VulnerabilityMgmt.CREATE` ## Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Content-Type** (`string`, Mandatory): `application/dissociatePolicyGrp.v1+json` - **Accept** (`string`, Mandatory): `application/dissociatePolicyGrp.v1+json` ### Request Body `application/json` JSON object: - **customGroup** (`long`, Optional): Custom group resource ID (target group). Fetch from [Get CG Association Details](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-cg-association-details.html) - **collectionId** (`long`, Optional): Associated collection ID. Fetch from [Get CG Association Details](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-cg-association-details.html) ### Sample Request ```curl curl --request POST \ --url https://appdomain/dcapi/scap/compliance/map/dissociate \ --header 'Accept: application/dissociatePolicyGrp.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/dissociatePolicyGrp.v1+json' \ --data '{"customGroup":"301","collectionId":5001}' ``` ### Sample Request Body Remove a policy group association from a target group ```json { "customGroup": "301", "collectionId": 5001 } ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` JSON object: - **status** (`string`): Result status. success or failed ### HTTP Code 400 Response Body: `application/json` JSON object: - **statusCode** (`string`): HTTP status code (400) - **errorCode** (`string`): API-specific error code identifying the validation failure - **message** (`string`): Error message describing the validation failure ### HTTP Code 401 Response Body: `application/json` JSON object: - **errorCode** (`long`): Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required) - **errorMsg** (`string`): Authentication failure reason ### HTTP Code 429 Response Body: `application/json` JSON object: - **errorCode** (`long`): 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 - **errorMsg** (`string`): Rate limit exceeded message with retry guidance ## Possible Response Codes - **200**: HTTP code - **400**: HTTP code - **401**: HTTP code - **429**: HTTP code ## Sample Response: HTTP 200 Policy group dissociated successfully ```json { "status": "success" } ``` Dissociation failed ```json { "status": "failed" } ``` ## Sample Response: HTTP 400 A request body parameter has an invalid format or type ```json { "errorCode": "IAM0025", "url": "/dcapi/scap/compliance/map/dissociate", "errorMsg": "customGroup is an invalid parameter format." } ``` ## Sample Response: HTTP 401 User is action-restricted for this custom group ```json { "errorMessage": "User Not Authorized", "errorCode": "UAC_UNAUTHORIZED" } ``` ## Sample Response: HTTP 429 API call threshold exceeded ```json { "errorMessage": "Rate limit exceeded. Retry after some time", "errorCode": "TOO_MANY_REQUESTS" } ``` ## Rate Limiting **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.