# Lists all application groups configured in the system Returns every application group (whitelist, blacklist) along with metadata such as rule count, associated custom groups, and timestamps. ## Endpoint `GET /dcapi/appctrl/appgroups` ## Request ### Request URL `https://{server-hostname}:8383/dcapi/appctrl/appgroups` ### Scope `AppControl.READ` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Sample Request #### Curl ```curl curl --request GET \ --url https://appdomain/dcapi/appctrl/appgroups \ --header 'Authorization: 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/appctrl/appgroups")) .header("Authorization", " 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 = { 'Authorization': " d92d4xxxxxxxxxxxxx15f52" } conn.request("GET", "/dcapi/appctrl/appgroups", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` #### Deluge ```javascript headersMap = Map(); headersMap.put("Accept", "application/json"); response = invokeUrl [ url: "https://appDomain/dcapi/appctrl/appgroups" type: GET headers: headersMap connection: connection_name ] info response; ``` #### PowerShell ```powershell $headers=@{} $headers.Add("Authorization", " d92d4xxxxxxxxxxxxx15f52") $response = Invoke-WebRequest -Uri 'https://appdomain/dcapi/appctrl/appgroups' -Method GET -Headers $headers ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` | Parameter | Type | Description | |---|---|---| | groupID | long | Unique identifier for the application group | | appGroupName | string | Name of the application group | | appGroupType | integer | Type of application group (1=Whitelist, 2=Blacklist, 3=Privilege) | | platformID | integer | Platform ID (1=Windows, 2=Mac) | | appGroupCategory | integer | Category (1=User Defined, 2=System) | | applicationRuleCount | long | Total count of application rules in the group | | associatedCustomGroupCount | long | Count of custom groups associated with this app group | | description | string | Description of the application group | | createdTime | long | Creation timestamp in milliseconds since epoch | | modifiedTime | long | Last modification timestamp in milliseconds since epoch | #### Sample Response: HTTP 200 List of application groups ```json [ { "modifiedTime": 1700100000000, "associatedCustomGroupCount": 3, "appGroupName": "Whitelist Group 1", "appGroupType": 1, "groupID": 101, "description": "Default whitelist group", "createdTime": 1700000000000, "appGroupCategory": 1, "platformID": 1, "applicationRuleCount": 25 } ] ``` ### HTTP Code 401 Response Body: `application/json` | Parameter | Type | Description | |---|---|---| | errorCode | long | Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required) | | errorMsg | string | Authentication failure reason | #### Sample Response: HTTP 401 Authentication credentials missing or invalid ```json { "errorMessage": "Authentication credentials are missing or invalid", "errorCode": "UNAUTHORIZED" } ``` ### HTTP Code 500 Response Body: `application/json` | Parameter | Type | Description | |---|---|---| | errorCode | string | Internal error code: INTERNAL_ERROR when exception occurs fetching app groups | | errorMessage | string | Detailed message: Exception Occurred While getting AppGroups | #### Sample Response: HTTP 500 Internal error while fetching application groups ```json { "errorMessage": "Exception Occurred While getting AppGroups", "errorCode": "INTERNAL_ERROR" } ``` ## Possible Response Codes - `200` — HTTP code - `401` — HTTP code - `500` — HTTP code ## API Rate Limit ![ ](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **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.