# Fetch all sub-modules along with their available column details Fetches all sub-modules along with their available column details, organized by categories. ## Endpoint `GET /dcapi/reports/customReports/v2/columns` ## Request URL `https://{server-hostname}:8383/dcapi/reports/customReports/v2/columns` ## Scope `CustomReport.READ` ## Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** (`string`, mandatory): `application/columns.v2+json` ## Sample Request ```curl curl --request GET \ --url https://appdomain/dcapi/reports/customReports/v2/columns \ --header 'Accept: application/columns.v2+json' \ --header 'Authorization: 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 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" } ``` ![ ](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.