# Fetch custom report details for the specified report ID Fetches the full details of a specific custom report by its ID. Returns all configuration details including report name, description, sub-module, selected columns, criteria, grouping, and chart metadata. ## Endpoint `GET /dcapi/reports/customReports/v2/{reportId}` ## Request URL `https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/dcapi/reports/customReports/v2/{reportId}` ## Scope `DesktopCentralCloud.CustomReport.READ` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** (`string`, Mandatory): `application/selectedCustomReport.v2+json` ### Path Parameters - **reportId** (`string`, Mandatory): The [unique id](https://www.manageengine.com/products/desktop-central/help/api/cloud/report-create-custom-report.html) of the created custom report. ### Query Parameters - **saveAsNew** (`boolean`, Optional): When true, the report name is suffixed with `_copy` to support Save As functionality. Default is false. - **component** (`string`, Optional): Fetch a specific component of the report. Valid values: `reportName`, `reportDesc`, `subModule`, `criteria`, `editable`, `selectComponents`, `groupby`, `chartMeta`, `isReportCountExceeded`, `componentType`. ## Sample Request ### Curl ```curl curl --request GET \ --url https://appdomains/dcapi/reports/customReports/v2/{reportId} \ --header 'Accept: application/selectedCustomReport.v2+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` - `JSON Object` - **reportName** (`string`): Display name of the custom report (suffixed with `_copy` when `saveAsNew=true`). - **reportDesc** (`string`): Description of the custom report. - **subModule** (`string`): Sub-module name (e.g., Computer, Hardware, Software). - **criteria** (`JSON Array`): Array of filter criteria objects applied to the report. - **criteriaPattern** (`string`): Criteria pattern expression (e.g., `(1 AND 2) OR 3`). Empty string if not set. - **editable** (`boolean`): Whether the current user can edit this report. - **componentType** (`string`): Type of report component: Table or Chart. - **selectComponents** (`JSON Array`): Array of selected column objects for table reports. Present only when `componentType` is Table. - **groupby** (`array`): Array of column IDs used for grouping. Present only when `componentType` is Table. - **chartMeta** (`JSON Object`): Chart configuration object. Present only when `componentType` is Chart. - **isReportCountExceeded** (`boolean`): Whether the report exceeds the configured column or criteria limits. ### HTTP Code 400 Response Body: `application/json` - `JSON Object` - **errorCode** (`long`): Numeric error code: report ID not found or user is not authorized to access the report. - **errorMessage** (`string`): Detailed error description indicating the specific 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 403 Response Body: `application/json` - `JSON Object` - **errorCode** (`long`): Forbidden error code returned when the authenticated user does not have the required uem-roles (e.g., `DataEncryption_Admin` or `DataEncryptionRecoveryKey_Admin`). - **errorMsg** (`string`): Message indicating insufficient privileges to access this resource. ### HTTP Code 417 Response Body: `application/json` - `JSON Object` - **errorCode** (`string`): Expectation failed error code: Custom Report V2 is not enabled. - **errorMessage** (`string`): Message indicating Custom Report V2 feature is not active. ### 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 - **403**: HTTP code - **417**: HTTP code - **429**: HTTP code ## 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.