# Retrieves available criteria columns for building dynamic custom group filters Returns all available criteria columns grouped by category (computer, ipRange, etc.). Each column includes its ID, display name, data type, column category, and list of applicable comparison operators. This endpoint is typically the first call when building a dynamic custom group filter. Use the returned `columnId`, `comparator`, and `criteriaValue` options to build the `criteriaList` when calling [Create Dynamic CG](https://www.manageengine.com/products/desktop-central/help/api/cloud/custom-groups-create-dynamic-cg.html) or [Update Dynamic CG](https://www.manageengine.com/products/desktop-central/help/api/cloud/custom-groups-update-dynamic-cg.html). To discover valid values for a specific column, call [Get Dynamic CG Column Values](https://www.manageengine.com/products/desktop-central/help/api/cloud/custom-groups-get-dynamic-cgcolumn-values.html) with the `columnId` from this response. ## Endpoint `GET /api/1.4/customgroup/dynamic/criteriaPattern` ## Request ### Request URL `https://`[*{serverurl}*](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)`/api/1.4/customgroup/dynamic/criteriaPattern` ### Scope `DesktopCentralCloud.Common.READ` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Accept** (`string`, Mandatory): `application/json` Must be `application/json`. Only JSON responses are supported. ### Sample Request ```curl curl --request GET \ --url https://appdomains/api/1.4/customgroup/dynamic/criteriaPattern \ --header 'Accept: application/json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP code 200 Response body: `application/json` - **message_type** (`string`): Always `dynamic` for this endpoint. - **message_response** (`JSON Object`): Response payload container. - **message_version** (`string`): API version: `1.4`. - **status** (`string`): `success` when the request completed without errors. ### HTTP code 500 Response body: `application/json` - **message_type** (`string`): Always `dynamic` for this endpoint. - **message_version** (`string`): API version: `1.4`. - **status** (`string`): Always `error` for error responses. - **error_code** (`string`): Internal error code: `1003` (`INTERNAL_ERROR`). - **error_description** (`string`): Resolved I18N message, typically: An internal error occurred while processing the request. ### Sample Response: HTTP 200 Criteria columns grouped by resolved `COLUMN_CATEGORY` with real column IDs from `customGroup-criteria.xml`. ```json { "message_type": "dynamic", "message_response": { "dynamic": { "Computer": [ { "columnCategory": "Computer", "columnId": 3, "displayName": "System Type", "applicableCriteriaType": [ { "label": "is", "value": "equal" } ], "columnValue": "PROCESSOR_ARCH_NAME" }, { "columnCategory": "Computer", "columnId": 11, "displayName": "IP Address", "applicableCriteriaType": [ { "label": "is", "value": "equal" } ], "columnValue": "IPADDR_LONG" } ], "Operating System": [ { "columnCategory": "Operating System", "columnId": 1, "displayName": "Operating System", "applicableCriteriaType": [ { "label": "is", "value": "equal" }, { "label": "is not", "value": "not equal" }, { "label": "contains", "value": "contains" }, { "label": "does not contain", "value": "not contains" } ], "columnValue": "OS_NAME" }, { "columnCategory": "Operating System", "columnId": 2, "displayName": "OS Version", "applicableCriteriaType": [ { "label": "is", "value": "equal" }, { "label": "is not", "value": "not equal" } ], "columnValue": "OS_VERSION" } ], "Software": [ { "columnCategory": "Software", "columnId": 5, "displayName": "Software Name", "applicableCriteriaType": [ { "label": "is", "value": "equal" }, { "label": "contains", "value": "contains" } ], "columnValue": "SOFTWARE_NAME" }, { "columnCategory": "Software", "columnId": 6, "displayName": "Software Version", "applicableCriteriaType": [ { "label": "is", "value": "equal" }, { "label": "is not", "value": "not equal" } ], "columnValue": "SOFTWARE_VERSION" } ] } }, "message_version": "1.4", "status": "success" } ``` ### Sample Response: HTTP 500 Unexpected server-side failure retrieving criteria pattern. ```json { "error_description": "An internal error occurred while processing the request.", "message_type": "dynamic", "error_code": "1003", "message_version": "1.4", "status": "error" } ``` ## Rate Limits **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.