# Creates a static unique custom group with exclusive resource membership Creates a static unique custom group (`groupCategory=5`) with explicit member resources. Only computer-type static unique groups are supported — user-type static unique groups are not allowed. Static Unique groups are used for Scope of Management — they enforce that each resource belongs to only ONE static unique group of the same type, enabling non-overlapping technician territories. Unlike regular Static groups where a resource can belong to multiple groups, Static Unique groups reject any resource already in another Static Unique group. Required: `groupName`, `groupType=1`, `groupCategory=5`, `resourceIds`. Prerequisites: Call [Get Available Resources](https://www.manageengine.com/products/desktop-central/help/api/cloud/custom-groups-get-available-resources.html) to discover valid resource IDs. ## Endpoints `POST /api/1.4/customgroup/addCg` ## Request URL `https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/api/1.4/customgroup/addCg` ## Scope `DesktopCentralCloud.Common.UPDATE` ## Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers #### Content-Type **Type:** string **Mandatory:** Yes **Value:** `application/json` Must be application/json. Request body must be valid JSON. #### Accept **Type:** string **Mandatory:** Yes **Value:** `application/json` Must be application/json. Only JSON responses are supported. ### Request Body `application/json` #### JSON Object ##### groupName **Type:** string **Mandatory:** Yes Name for the new group. Must be unique. Max 100 chars. > Forbidden characters: `\ : ; < > ? * " | & # % /` ##### groupCategory **Type:** string **Mandatory:** Yes Must be `5` for static unique groups. ##### groupType **Type:** string **Mandatory:** Yes Must be `1` (Computers). Static unique custom groups only support computer-type — user-type static unique groups are not supported. ##### description **Type:** string **Mandatory:** No Group description. Max 250 chars. Double quotes not allowed. ##### resourceIds **Type:** array **Mandatory:** Yes Array of resource IDs. Members must be exclusive — each resource can only belong to ONE static unique group of the same type. Resources already in another static unique group will be reported in `invalidResourceIds`. Fetch IDs from [Get Available Resources](https://www.manageengine.com/products/desktop-central/help/api/cloud/custom-groups-get-available-resources.html). ## Sample Request ```curl curl --request POST \ --url https://appdomains/api/1.4/customgroup/addCg \ --header 'Accept: application/json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/json' \ --data '{"groupName":"Privileged Servers","groupType":1,"groupCategory":5,"resourceIds":[101,102]}' ``` ## Sample Request Body Create a static unique computer group with exclusive members. ```json { "groupName": "Privileged Servers", "groupType": 1, "groupCategory": 5, "description": "Servers with restricted technician access", "resourceIds": [ 101, 102 ] } ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` #### JSON Object ##### message_type **Type:** string Always `'addCg'` for this endpoint. ##### message_response **Type:** JSON Object Response payload container. ##### message_version **Type:** string API version: `'1.4'`. ##### status **Type:** string `'success'` when the request completed without errors. ### HTTP Code 412 Response Body: `application/json` #### JSON Object ##### message_type **Type:** string Always `'addCg'` for this endpoint. ##### message_version **Type:** string API version: `'1.4'`. ##### status **Type:** string Always `'error'` for error responses. ##### error_code **Type:** string `'70501'` (`CG_CREATE_UPDATE_PARAMS_MISSING`), `'70502'` (`CG_DUPLICATE_NAME`), `'70504'` (`CG_INVALID_GROUP_TYPE`), `'70505'` (`CG_INVALID_GROUP_CATEGORY`), `'70503'` (`CG_NULL_CRITERIA_PATTERN`), `'70517'` (`CG_INVALID_CRITERIA_PATTERN`), `'70508'` (`CG_MORE_COMPUTERS_DUMMY_CG`), `'70513'` (`CG_INVALID_CREATION_MODE`). ##### error_description **Type:** string Resolved I18N message varies by error code: `'Required parameters are missing to create/update Custom Group.'` (70501), `'Custom group name is already in use.'` (70502), `'Invalid group type.'` (70504), `'Invalid group category.'` (70505), `'Criteria pattern is empty.'` (70503), `'Invalid criteria pattern.'` (70517), `'Computer limit exceeded for free edition.'` (70508), `'Only manually created Custom Group is allowed to be accessed using external apis.'` (70513). ### HTTP Code 500 Response Body: `application/json` #### JSON Object ##### message_type **Type:** string Always `'addCg'` for this endpoint. ##### message_version **Type:** string API version: `'1.4'`. ##### status **Type:** string Always `'error'` for error responses. ##### error_code **Type:** string Internal error code: `'1003'` (`INTERNAL_ERROR`). ##### error_description **Type:** string Resolved I18N message, typically: An internal error occurred while processing the request. ## Possible Response Codes - `200` HTTP code - `412` HTTP code - `500` HTTP code ## Sample Response: HTTP 200 Static unique group created with assigned resource ID. ```json { "message_type": "addCg", "message_response": { "addcg": { "groupName": "Privileged Servers", "groupType": "1", "groupCategory": "5", "cgResourceId": "310" } }, "message_version": "1.4", "status": "success" } ``` Static unique group created but some exclusive member resource IDs were not found. ```json { "message_type": "addCg", "message_response": { "addcg": { "groupName": "Privileged Servers", "groupType": "1", "groupCategory": "5", "invalidResourceIds": [ 999, 998 ], "cgResourceId": "310" } }, "message_version": "1.4", "status": "success" } ``` ## Sample Response: HTTP 412 A group with this name already exists. ```json { "error_description": "Custom group name is already in use.", "message_type": "addCg", "error_code": "70502", "message_version": "1.4", "status": "error" } ``` ## Sample Response: HTTP 500 Unexpected server-side failure during group creation. ```json { "error_description": "An internal error occurred while processing the request.", "message_type": "addCg", "error_code": "1003", "message_version": "1.4", "status": "error" } ``` ![ ](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.