# Trigger generation of a CIS compliance detailed report Triggers asynchronous generation of a CIS compliance detailed report for the specified custom group, policy group, and profile with optional compliance status and percentage filters. ## Endpoint `POST /dcapi/scap/compliance/export/cisDetailedReport` ## Request ### Request URL `https://{server-hostname}:8383/dcapi/scap/compliance/export/cisDetailedReport` ### Scope `VulnerabilityMgmt.UPDATE` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers | Name | Type | Required | Value | |---|---|---|---| | Content-Type | string | Mandatory | `application/cisDetailedReport.v1+json` | | Accept | string | Mandatory | `application/cisDetailedReport.v1+json` | #### Request Body `application/json` JSON object: | Name | Type | Required | Description | |---|---|---|---| | groupResourceId | long | Optional | Custom group resource ID to generate the report for. Fetch from [Get CG Association Details](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-cg-association-details.html) | | policyGrpId | long | Optional | Policy group ID to filter the report. Fetch from [List Policy Groups](https://www.manageengine.com/products/desktop-central/help/api/onpremise/list-policy-groups.html) | | profileId | long | Optional | Profile ID to filter the report. Fetch from [Get Profiles List for Platform](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-profiles-list-for-platform.html) or [Get Profiles for Policy Group](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-profiles-for-policy-group.html) | | compliancePercentage | string | Optional | Compliance percentage filter. Use `all` for no filter | | complianceStatus | string | Optional | Compliance status filter. `0` = Passed, `1` = Failed, `3` = Error, `5` = Unscored. Supports comma-separated combinations, for example, `1,3`. Use `all` for no filter | | reportName | string | Optional | Name for the generated report file | | totalRowsCount | long | Optional | Total rows count for validation against export limit. Fetch from [Get CIS Report Row Count](https://www.manageengine.com/products/desktop-central/help/api/onpremise/get-cis-report-row-count.html) | | exportType | string | Optional | Export format type | ### Sample Request ```curl curl --request POST \ --url https://appdomain/dcapi/scap/compliance/export/cisDetailedReport \ --header 'Accept: application/cisDetailedReport.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/cisDetailedReport.v1+json' \ --data '{"reportName":"CIS_Report_Production_2026","totalRowsCount":"15000","compliancePercentage":"all","profileId":"50001","complianceStatus":"all","groupResourceId":"301","policyGrpId":"1001"}' ``` ### Sample Request Body Generate a CIS compliance detailed report with filters: ```json { "reportName": "CIS_Report_Production_2026", "totalRowsCount": "15000", "compliancePercentage": "all", "profileId": "50001", "complianceStatus": "all", "groupResourceId": "301", "policyGrpId": "1001" } ``` ## Response Parameters ### HTTP Code 200 Response body: `application/json` | Name | Type | Description | |---|---|---| | isExportInitiated | boolean | `true` if the report generation was successfully initiated | | message | string | Status message when export is already in progress | ### HTTP Code 400 Response body: `application/json` | Name | Type | Description | |---|---|---| | errorCode | string | Bad request error code indicating required parameters are missing or invalid | | errorMessage | string | Message indicating which parameters are missing from the request | ### HTTP Code 401 Response body: `application/json` | Name | Type | Description | |---|---|---| | errorCode | long | Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required) | | errorMsg | string | Authentication failure reason | ### HTTP Code 412 Response body: `application/json` | Name | Type | Description | |---|---|---| | errorCode | string | Precondition failed error code. Total rows exceed the maximum export limit of 3000000 | | errorMessage | string | Message indicating the row count exceeds the maximum allowed limit for export | ### HTTP Code 429 Response body: `application/json` | Name | Type | Description | |---|---|---| | 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 - `412` — HTTP code - `429` — HTTP code ## Sample Responses ### HTTP 200 Report generation initiated successfully: ```json { "isExportInitiated": true } ``` Report generation is already running: ```json { "message": "Export in progress. Please re-initiate once the current report has been successfully exported.", "isExportInitiated": false } ``` ### HTTP 400 Required parameters are missing or invalid: ```json { "errorMessage": "Required parameters are missing from the request", "errorCode": "INSUFFICIENT_DATA" } ``` A request body parameter has an invalid format or type: ```json { "errorCode": "IAM0025", "errorMsg": "groupResourceId is an invalid parameter format." } ``` ### HTTP 401 Compliance report is not available for this edition: ```json { "errorMessage": "Authentication required", "errorCode": "UAC_UNAUTHORIZED" } ``` ### HTTP 412 Total rows exceed the maximum export limit: ```json { "errorMessage": "The total row count exceeds the supported limit, so exporting this report is not possible. Please retry with a different configuration.", "errorCode": "INTERNAL_ERROR" } ``` ### HTTP 429 API call threshold exceeded: ```json { "errorMessage": "Rate limit exceeded. Retry after some time", "errorCode": "TOO_MANY_REQUESTS" } ``` ## Rate Limiting ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **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.