# 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` ## Request ### 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 --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: credentials missing, expired, or invalid - **errorMsg** `string` - Authentication failure reason ### HTTP Code 403 Response Body — `application/json` `JSON Object` - **errorCode** `long` - Error code indicating insufficient permissions - **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 reached threshold - **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 Response: 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" } ] } ``` ### Sample Response: HTTP 400 Invalid component parameter ```json { "errorMessage": "Invalid component parameter value", "errorCode": "400" } ``` ### Sample Response: HTTP 401 Missing or invalid authentication token ```json { "errorMessage": "Authentication token is missing or invalid", "errorCode": "401" } ``` ### Sample Response: HTTP 403 User does not have the required role ```json { "errorMessage": "User does not have the required role to access this resource", "errorCode": "403" } ``` ### Sample Response: HTTP 429 Rate limit exceeded ```json { "errorMessage": "Rate limit exceeded. Please retry after some time", "errorCode": "429" } ``` ## Rate Limit ![](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.