# Retrieve computers associated with a metering rule Returns all computers linked to a specified software metering rule by app definition ID. ## Endpoints **GET** `/dcapi/inventory/viewData/computersBySM` ## Request URL ``` https://{serverurl}/dcapi/inventory/viewData/computersBySM ``` ## Scope `DesktopCentralCloud.Inventory.READ` ## Header ``` Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52 ``` ## Request Parameters ### Request Headers - **Accept** (string) — Mandatory `application/InventoryMobileAPI.v1+json` ### Query Parameters - **toolID** (string) — Mandatory Set value as `7774` - **appDefID** (string) — Mandatory App definition ID for the software metering rule. Obtain from the response of the [Get Software Metering Rules List](https://www.manageengine.com/products/desktop-central/inventory-get-software-metering-rules-list.html) API. - **domain** (string) — Optional Domain name to filter computers. Obtain from the response of the [Get Computers List](https://www.manageengine.com/products/desktop-central/computers-getcomputers.html) API. - **branchOffice** (string) — Optional Branch office ID to filter computers. Obtain it from the response of the [Get Remote Office List](https://www.manageengine.com/products/desktop-central/remote-offices-getremoteoffices.html) API. ## Sample Request ### Curl ```bash curl --request GET \ --url 'https://appdomain/dcapi/inventory/viewData/computersBySM?toolID=7774&appDefID=SOME_STRING_VALUE' \ --header 'Accept: application/InventoryMobileAPI.v1+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ### Java ```java import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.io.IOException; import java.net.http.HttpTimeoutException; public class Main { public static void main(String[] args) { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://appdomain/dcapi/inventory/viewData/computersBySM?toolID=7774&appDefID=SOME_STRING_VALUE")) .header("Accept", "application/InventoryMobileAPI.v1+json") .header("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") .method("GET", HttpRequest.BodyPublishers.noBody()) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } ``` ### Python ```python import http.client conn = http.client.HTTPSConnection("appdomain") headers = { 'Accept': "application/InventoryMobileAPI.v1+json", 'Authorization': "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52" } conn.request("GET", "/dcapi/inventory/viewData/computersBySM?toolID=7774&appDefID=SOME_STRING_VALUE", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ### Deluge ```javascript parameters = "toolID=value" + "&" + "appDefID=value"; headersMap = Map(); headersMap.put("Accept", "application/InventoryMobileAPI.v1+json"); response = invokeUrl [ url: "https://appDomain/dcapi/inventory/viewData/computersBySM" + "?" + parameters type: GET headers: headersMap connection: connection_name ] info response; ``` ### PowerShell ```powershell $headers=@{} $headers.Add("Accept", "application/InventoryMobileAPI.v1+json") $headers.Add("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") $response = Invoke-WebRequest -Uri 'https://appdomain/dcapi/inventory/viewData/computersBySM?toolID=7774&appDefID=SOME_STRING_VALUE' -Method GET -Headers $headers ``` ## Response Parameters ### HTTP 200 **Response Body**: `application/json` - **metadata** (JSON object) Pagination metadata - **limit** (string) — Number of items returned per page - **page** (string) — Current page number in paginated response - **totalRecords** (string) Total number of records matching the query - **messageResponse** (JSON array) Array of computer metering detail objects - **file_version** (string) — File version - **resource_name_transform** (string) — Computer name display value - **updated_time** (string) — Last updated time as epoch timestamp - **product_name_transform** (string) — Product name display value - **branch_office_name** (string) — Branch office name - **last_used** (string) — Last used time as epoch timestamp - **domain_netbios_name** (string) — Domain NetBIOS name - **branch_office_id** (string) — Branch office identifier - **updated_time_transform** (string) — Updated time display value - **fqdn_name** (string) — Fully qualified domain name - **last_used_transform** (string) — Last used time display value - **total_run_time_transform** (string) — Total run time display value - **live_status_resource_id** (string) — Resource ID for live status lookup - **total_run_count_transform** (string) — Total run count display value - **file_version_transform** (string) — File version display value - **domain_netbios_name_transform** (string) — Domain NetBIOS name display value - **product_version** (string) — Product version - **friendly_name** (string) — Computer friendly name - **total_run_time** (string) — Total run time in seconds - **resource_resource_id** (string) — Resource resource identifier - **fqdn_name_transform** (string) — FQDN display value - **product_version_transform** (string) — Product version display value - **product_name** (string) — Product name - **total_run_count** (string) — Total run count - **app_definition_id** (string) — App definition identifier - **resource_id** (string) — Resource identifier - **computer_live_status** (string) — Computer live status code - **resource_name** (string) — Computer resource name - **customer_id** (string) — Customer identifier - **friendly_name_transform** (string) — Friendly name display value - **computer_status_update_time** (string) — Status update time as epoch timestamp - **totalPages** (string) Total number of pages - **Links** (JSON object) Pagination links - **next** (string) — URL to the next page of results, null if last page - **prev** (string) — URL to the previous page of results, null if first page - **status** (string) Response status — success ### HTTP 500 **Response Body**: `application/json` - **error_code** (string) INTERNAL_ERROR — unexpected exception in the service layer - **error_description** (string) Internal server error message ## Sample Response: HTTP 200 ```json { "metadata": { "limit": 25, "page": 1 }, "totalRecords": "1", "messageResponse": [ { "file_version": "", "resource_name_transform": "sample-computer", "updated_time": "1778827912158", "product_name_transform": "Sample App", "branch_office_name": "Local Office", "last_used": "1778810902000", "domain_netbios_name": "WORKGROUP", "branch_office_id": "1", "updated_time_transform": "May 15, 2026 12:21 PM", "fqdn_name": "sample-computer.example.com", "last_used_transform": "May 15, 2026 07:38 AM", "total_run_time_transform": "03 days, 05 hours, 13 minutes", "live_status_resource_id": "301", "total_run_count_transform": "598", "file_version_transform": "--", "domain_netbios_name_transform": "WORKGROUP", "product_version": "", "friendly_name": "sample-computer", "total_run_time": "278024", "resource_resource_id": "301", "fqdn_name_transform": "sample-computer.example.com", "product_version_transform": "--", "product_name": "Sample App", "total_run_count": "598", "app_definition_id": "2", "resource_id": "301", "computer_live_status": "1", "resource_name": "sample-computer", "customer_id": "1", "friendly_name_transform": "sample-computer", "computer_status_update_time": "1778767913704" } ], "totalPages": 1, "Links": { "next": null, "prev": null }, "status": "success" } ``` ## Sample Response: HTTP 500 ```json { "error_description": "Internal server error", "error_code": "INTERNAL_ERROR" } ``` ## Possible HTTP Status Codes - **200** - **500** **Duration:** 1 minute **Threshold:** 120 **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.