Creates a new application group with specified rules

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Creates a new application group (whitelist or blacklist) with the specified application rules. Use the Get App Rules by Type API to retrieve vendorID, productVendorID, or storeAppID values to use as verifiedAppRepoIDs or unVerifiedAppRepoIDs in the request body.

Endpoints

Request URL

https://{server-hostname}:8383/dcapi/appctrl/appgroups

Scope

AppControl.CREATECopied!

Header

Authorization: d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

content-typestringOptional

- Request Body

application/json
JSON object
Hide Sub-Attributes
appGroupTypeintegerMandatory

Application group type (0=Custom, 1=Whitelist, 2=Blacklist)

platformIDintegerMandatory

Platform ID (1=Windows, 2=Mac)

descriptionstringOptional

Description of the application group (can be empty)

appGroupNamestringMandatory

Name of the application group

addedRulesJSON arrayMandatory

Array of rules to add to the group — prefetch IDs from Get App Rule Types

Show Sub-Attributes
JSON object
Show Sub-Attributes
appRuleTypeintegerMandatory

Rule type (1=Vendor, 2=Product, 3=Executable, 4=FileHash, 9=StoreApp) — determines which ID array to use

verifiedAppRepoIDsarrayOptional

Array of verified repository IDs (vendorID, productVendorID, executableID, fileHashID) — prefetch from Get App Rule Types

unVerifiedAppRepoIDsarrayOptional

Array of unverified repository IDs (storeAppID for appRuleType=9) — prefetch from Get App Rule Types

removedRulesarrayMandatory

Array of rules to remove (empty array for new group creation)

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
  --url https://appdomain/dcapi/appctrl/appgroups \
  --header 'Authorization:  d92d4xxxxxxxxxxxxx15f52' \
  --header 'content-type: SOME_STRING_VALUE' \
  --data '{"removedRules":[],"appGroupName":"Test 1","appGroupType":0,"description":"","platformID":1,"addedRules":[{"appRuleType":1,"verifiedAppRepoIDs":["302","314","311","313"]},{"appRuleType":9,"unVerifiedAppRepoIDs":["5","6","10"]}]}'
Show full

Sample Request Body

Create an application group with vendor rules (verified) and store app rules (unverified)

Copied!
  {
    "removedRules": [],
    "appGroupName": "Test 1",
    "appGroupType": 0,
    "description": "",
    "platformID": 1,
    "addedRules": [
      {
        "appRuleType": 1,
        "verifiedAppRepoIDs": [
          "302",
          "314",
          "311",
          "313"
        ]
      },
      {
        "appRuleType": 9,
        "unVerifiedAppRepoIDs": [
          "5",
          "6",
          "10"
        ]
      }
    ]
  }
                
Show full

Create a whitelist group with product rules

Copied!
  {
    "removedRules": [],
    "appGroupName": "Approved Applications",
    "appGroupType": 1,
    "description": "Whitelist for approved software",
    "platformID": 1,
    "addedRules": [
      {
        "appRuleType": 2,
        "verifiedAppRepoIDs": [
          "15",
          "13",
          "12"
        ]
      }
    ]
  }
                
Show full

Create a blacklist group with executable hash rules

Copied!
  {
    "removedRules": [],
    "appGroupName": "Blocked Applications",
    "appGroupType": 2,
    "description": "Blocked malicious executables",
    "platformID": 1,
    "addedRules": [
      {
        "appRuleType": 4,
        "verifiedAppRepoIDs": [
          "101",
          "102"
        ]
      }
    ]
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json
JSON object
Hide Sub-Attributes
appGrpIdstring

Unique identifier of the newly created application group

- HTTP code 400

Response Body - application/json
JSON object
Hide Sub-Attributes
errorCodestring

Error code: INVALID_REQUEST for validation failures

errorMessagestring

Detailed validation error message

- HTTP code 401

Response Body - application/json
JSON object
Hide Sub-Attributes
errorCodelong

Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required)

errorMsgstring

Authentication failure reason

- HTTP code 500

Response Body - application/json
JSON object
Hide Sub-Attributes
errorCodestring

Internal error code: INTERNAL_ERROR when exception occurs creating app group

errorMessagestring

Detailed message: Exception Occurred While creating AppGroup

Possible Response Codes

200HTTP code
400HTTP code
401HTTP code
500HTTP code

Sample Response: HTTP 200

Application group created successfully

Copied!
  {
    "appGrpId": "2"
  }
                
Show full

Sample Response: HTTP 400

Invalid request parameters

Copied!
  {
    "errorMessage": "Invalid application group type or platform ID",
    "errorCode": "INVALID_REQUEST"
  }
                
Show full

Sample Response: HTTP 401

Authentication credentials missing or invalid

Copied!
  {
    "errorMessage": "Authentication credentials are missing or invalid",
    "errorCode": "UNAUTHORIZED"
  }
                
Show full

Sample Response: HTTP 500

Internal error while creating application group

Copied!
  {
    "errorMessage": "Exception Occurred While creating AppGroup",
    "errorCode": "INTERNAL_ERROR"
  }
                
Show full

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.