# Fetch all sub-modules along with their available column details Fetches all sub-modules along with their available column details, organized by categories. ## Endpoints [GET /dcapi/reports/customReports/v2/columns](https://www.manageengine.com/products/desktop-central/help/api/cloud/report-get-available-columns.html) ## Request URL `https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/dcapi/reports/customReports/v2/columns` ## Scope `DesktopCentralCloud.CustomReport.READ` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** `string` **Mandatory** - `application/columns.v2+json` ### Query Parameters - **component** `string` Optional - Component type filter. Valid values: selectColumns (default), criteriaColumns, formulaColumns. Controls which columns are returned based on usage context - **subModule** `string` Optional - Filter columns by a specific sub-module name (Computer, Hardware, Software). If omitted, columns for all sub-modules are returned ## Sample Request ### Curl ```curl curl --request GET \ --url https://appdomains/dcapi/reports/customReports/v2/columns \ --header 'Accept: application/columns.v2+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response Body — `application/json` - `JSON Object` - **reportDefaultName** `string` - Default suggested report name (e.g., Custom Report 5) - **availableColumns** `JSON Array` - Array of sub-module objects containing their column categories ### HTTP Code 400 Response Body — `application/json` - `JSON Object` - **errorCode** `string` - Error code: invalid component parameter value - **errorMessage** `string` - Detailed error description indicating the invalid parameter ### 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 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` - **429** `HTTP code` ## Sample Responses ### HTTP 200 All sub-modules with their columns ```json { "reportDefaultName": "Untitled5", "availableColumns": [ { "subModuleId": 1, "categories": [ { "columns": [ { "columnId": 101, "displayName": "Computer Name", "dataType": "CHAR", "aggregateOptions": [ { "aggMethodDisplayValue": "Actual Value", "aggregationMethod": "ACTUAL_VALUE" }, { "aggMethodDisplayValue": "Count", "aggregationMethod": "COUNT" } ], "groupable": true, "validationKey": "DEFAULT_VALIDATION" }, { "columnId": 102, "displayName": "IP Address", "dataType": "CHAR", "aggregateOptions": [ { "aggMethodDisplayValue": "Actual Value", "aggregationMethod": "ACTUAL_VALUE" } ], "groupable": false, "validationKey": "IP_ADDRESS_VALIDATION" }, { "columnId": 105, "displayName": "Total Memory (MB)", "dataType": "BIGINT", "aggregateOptions": [ { "aggMethodDisplayValue": "Actual Value", "aggregationMethod": "ACTUAL_VALUE" }, { "aggMethodDisplayValue": "Sum", "aggregationMethod": "SUM" }, { "aggMethodDisplayValue": "Average", "aggregationMethod": "AVG" }, { "aggMethodDisplayValue": "Minimum", "aggregationMethod": "MIN" }, { "aggMethodDisplayValue": "Maximum", "aggregationMethod": "MAX" } ], "groupable": true, "validationKey": "DEFAULT_VALIDATION" } ], "category": "Computer Details" }, { "columns": [ { "columnId": 5001, "displayName": "OSCategory", "dataType": "CHAR", "aggregateOptions": [ { "aggMethodDisplayValue": "Count", "aggregationMethod": "COUNT" }, { "aggMethodDisplayValue": "String Aggregation", "aggregationMethod": "STRING_AGG" } ], "groupable": true, "validationKey": "DEFAULT_VALIDATION" } ], "category": "Formula" } ], "subModuleName": "Computer" } ] } ``` ### HTTP 400 Invalid component parameter ```json { "errorMessage": "Invalid component parameter value", "errorCode": "400" } ``` ### HTTP 401 Missing or invalid authentication token ```json { "errorMessage": "Authentication token is missing or invalid", "errorCode": "401" } ``` ### HTTP 403 User does not have the required role ```json { "errorMessage": "User does not have the required role to access this resource", "errorCode": "403" } ``` ### HTTP 429 Rate limit exceeded ```json { "errorMessage": "Rate limit exceeded. Please retry after some time", "errorCode": "429" } ``` ## 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.