# Retrieves resources available for adding to a custom group Returns managed resources (computers or users) that can be added as members to a custom group, filtered by group type, category, domain, and search text. Supports pagination and sorting. Use the returned resourceId values in the resourceIds array when calling [Create Static CG](https://www.manageengine.com/products/desktop-central/help/api/onpremise/custom-groups-create-static-cg.html), [Create Static Unique CG](https://www.manageengine.com/products/desktop-central/help/api/onpremise/custom-groups-create-static-unique-cg.html), [Update Static CG](https://www.manageengine.com/products/desktop-central/help/api/onpremise/custom-groups-update-static-cg.html), or [Update Static Unique CG](https://www.manageengine.com/products/desktop-central/help/api/onpremise/custom-groups-update-static-unique-cg.html). Non-admin users cannot fetch user-type or static-unique category resources. ## Endpoint `POST /api/1.4/customgroup/availableResources` ## Request ### Request URL `https://{server-hostname}:8383/api/1.4/customgroup/availableResources` ### Scope `Common.READ` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Content-Type** `string` — **Mandatory** — `application/json` - Must be application/json. Request body must be valid JSON. - **Accept** `string` — **Mandatory** — `application/json` - Must be application/json. Only JSON responses are supported. #### Request Body `application/json` - **groupCategory** `string` — **Mandatory** - Target group category: '1'=Static, '2'=Dynamic, '5'=Static Unique. - **groupType** `string` — **Mandatory** - Target group type: '1'=Computers, '2'=Users. - **domainFilter** `array` — Optional - Domain NetBIOS names to restrict results (e.g., ['CORP','BRANCH1']). Omit for all domains. - **charFilter** `string` — Optional - Text filter on resource name — only matching resources returned. - **rangeIndex** `long` — Optional - Page number (1-based). Default: 1. - **limit** `string` — Optional - Max resources per page. Default: 30. - **sortOrder** `string` — Optional - Sort direction: 'ASC' (A-Z) or 'DESC' (Z-A), case-insensitive. Default: ASC. ### Sample Request ```curl curl --request POST \ --url https://appdomain/api/1.4/customgroup/availableResources \ --header 'Accept: application/json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/json' \ --data '{"groupType":"1","rangeIndex":"1","groupCategory":"1","charFilter":"SRV","sortOrder":"ASC","limit":"30","domainFilter":["CORP","BRANCH1"]}' ``` ### Sample Request Body Fetch static computer resources filtered by two domains and name prefix. ```json { "groupType": "1", "rangeIndex": "1", "groupCategory": "1", "charFilter": "SRV", "sortOrder": "ASC", "limit": "30", "domainFilter": [ "CORP", "BRANCH1" ] } ``` Fetch all available computer resources with only required fields. ```json { "groupType": "1", "groupCategory": "1" } ``` Fetch available user resources for a static user group. ```json { "groupType": "2", "rangeIndex": "1", "groupCategory": "1", "limit": "50", "domainFilter": [ "CORP" ] } ``` Fetch resources for a static unique computer group. ```json { "groupType": "1", "rangeIndex": "1", "groupCategory": "5", "limit": "50", "domainFilter": [ "CORP" ] } ``` ## Response ### HTTP Code 200 Response body: `application/json` - **message_type** `string` - Always 'availableResources' 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 'availableResources' 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. ### Possible Response Codes - **200** — HTTP code - **500** — HTTP code ### Sample Response: HTTP 200 Computer resources keyed by resource ID with name, domain, and type. ```json { "message_type": "availableResources", "message_response": { "availableresources": { "101": { "resourceId": 101, "domainName": "CORP", "name": "SRV-DC01", "osPlatform": "1" }, "102": { "resourceId": 102, "domainName": "CORP", "name": "SRV-APP01", "osPlatform": "1" }, "201": { "resourceId": 201, "domainName": "BRANCH1", "name": "SRV-FILE01", "osPlatform": "1" } } }, "message_version": "1.4", "status": "success" } ``` User resources keyed by resource ID for a user group. ```json { "message_type": "availableResources", "message_response": { "availableresources": { "501": { "resourceId": 501, "domainName": "CORP", "name": "jsmith" }, "502": { "resourceId": 502, "domainName": "CORP", "name": "mjones" } } }, "message_version": "1.4", "status": "success" } ``` No resources match the specified filters. ```json { "message_type": "availableResources", "message_response": { "availableresources": {} }, "message_version": "1.4", "status": "success" } ``` ### Sample Response: HTTP 500 Unexpected server-side failure retrieving resources. ```json { "error_description": "An internal error occurred while processing the request.", "message_type": "availableResources", "error_code": "1003", "message_version": "1.4", "status": "error" } ``` ## Rate Limit **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.