# 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 URL `https://{serverurl}/dcapi/scap/compliance/export/cisDetailedReport` [`{serverurl}`](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html) ## Scope `DesktopCentralCloud.VulnerabilityMgmt.UPDATE` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers | Parameter | Type | Requirement | Value | |---|---|---|---| | Content-Type | string | Mandatory | `application/cisDetailedReport.v1+json` | | Accept | string | Mandatory | `application/cisDetailedReport.v1+json` | ### Request Body `application/json` JSON Object: | Parameter | Type | Requirement | 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/cloud/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/cloud/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/cloud/get-profiles-list-for-platform.html) or [Get Profiles for Policy Group](https://www.manageengine.com/products/desktop-central/help/api/cloud/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/cloud/get-cis-report-row-count.html). | | exportType | string | Optional | Export format type. | ## Sample Request ```curl curl --request POST \ --url https://appdomains/dcapi/scap/compliance/export/cisDetailedReport \ --header 'Accept: application/cisDetailedReport.v1+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/cisDetailedReport.v1+json' \ --data '{}' ``` ### 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` | Parameter | 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` | Parameter | 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` | Parameter | 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` | Parameter | 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` | Parameter | 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 | HTTP Code | |---| | 200 | | 400 | | 401 | | 412 | | 429 | ## 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 Limits ![](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.