# Retrieve formula column details by column ID Retrieves the full details of an existing formula column by its ID. Returns the column name, default value, and all condition definitions including their criteria and criteria patterns. ## Endpoint `GET /dcapi/reports/customReports/formulaColumn/{columnID}` ## Request ### Request URL `https://{server-hostname}:8383/dcapi/reports/customReports/formulaColumn/{columnID}` ### Scope `CustomReport.READ` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Accept** `string` **Mandatory**: `application/formulaColumnDetails.v1+json` #### Path Parameters - **columnID** `string` **Mandatory**: The [columnID](https://www.manageengine.com/products/desktop-central/help/api/onpremise/report-create-formula-column.html) retrieved for saved formula column ### Sample Request ```curl curl --request GET \ --url https://appdomain/dcapi/reports/customReports/formulaColumn/{columnID} \ --header 'Accept: application/formulaColumnDetails.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' ``` ## Response ### HTTP 200 Response body: `application/json` - `JSON object` - **columnName** `string`: Display name of the formula column - **defaultValue** `string`: Default value returned when no condition matches (the ELSE branch) - **columnDetails** `JSON array`: Array of condition objects. Each defines a CASE-WHEN branch with criteria and result value #### Sample Response: HTTP 200 Formula column with multiple CASE-WHEN conditions: ```json { "defaultValue": "Other", "columnDetails": [ { "criteria": [ { "comparator": "contains", "logicalOperator": "AND", "columnID": 103, "searchValue": [ "Windows" ] } ], "value": "Windows", "criteriaPattern": "1" }, { "criteria": [ { "comparator": "contains", "logicalOperator": "AND", "columnID": 103, "searchValue": [ "Linux" ] }, { "comparator": "contains", "logicalOperator": "OR", "columnID": 103, "searchValue": [ "Ubuntu" ] } ], "value": "Linux", "criteriaPattern": "1 OR 2" } ], "columnName": "OSCategory" } ``` Formula column with a single condition: ```json { "defaultValue": "Low", "columnDetails": [ { "criteria": [ { "comparator": "greater than", "logicalOperator": "AND", "columnID": 205, "searchValue": [ "90" ] } ], "value": "High", "criteriaPattern": "1" } ], "columnName": "PriorityLevel" } ``` ### HTTP 401 Response body: `application/json` - `JSON object` - **errorCode** `string`: Unauthorized error code: 401. User does not own this formula column - **errorMessage** `string`: Message indicating user is not authorized to access this formula column #### Sample Response: HTTP 401 User does not own this formula column: ```json { "errorMessage": "You are not authorized to access this formula column", "errorCode": "401" } ``` ### HTTP 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 #### 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" } ``` ### HTTP 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 #### Sample Response: HTTP 417 Custom Report V2 is not enabled: ```json { "errorMessage": "Custom Report V2 is not enabled", "errorCode": "417" } ``` ### HTTP 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 #### Sample Response: HTTP 429 Rate limit exceeded: ```json { "errorMessage": "Rate limit exceeded. Please retry after some time", "errorCode": "429" } ``` ### HTTP 500 Response body: `application/json` - `JSON object` - **errorCode** `string`: Internal error code: unexpected failure during formula column retrieval - **errorMessage** `string`: Detailed error description for the internal server error #### Sample Response: HTTP 500 Unexpected failure during formula column retrieval: ```json { "errorMessage": "Internal server error while retrieving formula column details", "errorCode": "500" } ``` ### Possible Response Codes - `200` HTTP code - `401` HTTP code - `403` HTTP code - `417` HTTP code - `429` HTTP code - `500` HTTP code ## Rate Limiting ![](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.