Cloud Agent Application Release 2.7 API
April 01, 2026
Before understanding the API release highlights, learn more about the API server URL to be used in your API requests by referring to the Know Your Qualys API Server URL section. In these API Release Notes, <qualys_base_url> is mentioned in the sample API requests. Replace this placeholder value with the appropriate Qualys Gateway URLs.
New Features in Cloud Agent Configuration Profile
We have introduced a few new features in Cloud Agent configuration profile.
- Enable Windows Subsystem Linux (WSL) Detections
- Peer-to-Peer Patch Distribution
- Prevent Scanning During Group Policy Execution
To learn more about these features, refer to Cloud Agent Application 2.7 Release Notes. To accommodate these new changes, we have updated the following Configuration Profile APIs.
Updated API: Create Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | POST |
| DTD or XSD changes | NA |
Input ParametersInput Parameters
We are introducing the following new input parameters to support these features with the Create Configuration Profile API.
| Input Parameter | Mandatory/Optional | Data Type | Description |
|---|---|---|---|
| enableWSLCheck | Optional | Boolean | Use this parameter to enable or disable the WSL detections. Valid values: true|false |
| p2pConfigSetting: "enabled" | Optional | Boolean | Use this parameter to enable or disable the peer-to-peer patch distribution. Valid values: true|false |
| minCacheSizeGB | Optional | Integer | Use this parameter to specify the minimum storage space available for storing the downloaded patch artifacts. Default value: 10 GB Range: 10-100 GB |
| maxCacheSizeGB | Optional | Integer | Use this parameter to specify the maximum storage space available for storing the downloaded patch artifacts. Default value: 40 GB Range: 10-100 GB |
| minRetentionDays | Optional | Integer | Use this parameter to specify the mimimum time to store the downloaded patch artifacts. Default value: 2 days Range: 2-30 days |
| maxRetentionDays | Optional | Integer | Use this parameter to specify the maximum time to store the downloaded patch artifacts. Default value: 10 days Range: 2-30 days |
| transportPort | Optional | Integer | Use this parameter to specify the transport port to share the downloaded patch artifacts. |
| adminPort | Optional | Integer | Use this parameter to specify the admin port to share the downloaded patch artifacts. |
| isVmGroupPolicyDelayEnabled | Optional | Boolean | Use this parameter to prevent scanning during group policy execution. If set to true, the configured delay is added for VM scans during group policy execution. Valid values: true|false |
| vmGroupPolicyDelayTime | Optional | Integer | Use this parameter to specify the scan delay in minutes for VM scans during group policy execution. Default value: 5 minutes Range: 5-60 minutes |
| isPcGroupPolicyDelayEnabled | Optional | Boolean | Use this parameter to prevent scanning during group policy execution. If set to true, the configured delay is added for PA scans during group policy execution. Valid values: true|false |
| pcGroupPolicyDelayTime | Optional | Integer | Use this parameter to specify the scan delay in minutes for PA scans during group policy execution. Default value: 5 minutes Range: 5-60 minutes |
Sample: Create Configuration ProfileSample: Create Configuration Profile
The following API sample demonstrate using Create Configuration Profile API to create a new configuration profile.
API Request
curl --location '<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT Token>'
API Request Body
--data '{ "basicDetails": { "profileName": "Combo5", "defaultProfSubscription": false, "suspendDataCollection": false, "inMemorySQLite": false, "enableQgs": false, "preventAutoUpdate": false, "enableWSLCheck": false, "spf": { "spfEnabled": false } }, "assignCloudAgent": { "includedHosts": [] }, "scanConfiguration": {"vm": {
"dataCollectionInterval": 240,
"scanDelay": 0,
"scanRandomize": 0,
"scanOnStartup": false,
"enableRemoteDetections": true,
"isVmGroupPolicyDelayEnabled": true,
"vmGroupPolicyDelayTime": 30
}
"pc": {
"dataCollectionInterval": 720,
"scanDelay": 0,
"scanRandomize": 0,
"isPcGroupPolicyDelayEnabled": true,
"pcGroupPolicyDelayTime": 35
},"sca": { "dataCollectionInterval": 2160 }, "deepscan": { "dataCollectionInterval": 10080, "scanDelay": 0, "scanRandomize": 0, "scanTimeOut": 1440, "maxCpuUsage": 30, "includedDirectoriesForWindows": "C:\\", "excludedDirectoriesForWindows": "C:\\Windows,C:\\System Volume Information,
C:\\$RECYCLE.BIN,C:\\hiberfil.sys,
C:\\pagefile.sys,C:\\swapfile.sys", "winIncludeAllDir": false, "includedDirectoriesForLinux": "/", "excludedDirectoriesForLinux": "/proc*,/var/log*,/var/spool*,
/etc*,/usr/bin*,/usr/sbin*,
/usr/lib*,/usr/lib64*,/boot*,
/sys*,/srv*,/media*,/mnt", "linuxIncludeAllDir": false, "isDeepScanEnabled": false } }, "applicationConfiguration": { "pm": { "cacheSize": 2048, "pmEnabled": true, "isCacheSizeUnlimited": false, "enableCpuThrottle": false }, "fim": { "maxEventLogSize": 1024, "payloadThresholdTime": 300, "maxDiskUsage": 300, "dataCollectionInterval": 360, "fimEnabled": false }, "edr": { "maxEventLogSize": 2048, "payloadThresholdTime": 300, "maxDiskUsage": 1024, "edrEnabled": true }, "epp": { "eppEnabled": false, "thirdPartyRemovalEnabled": true }, "sac": { "sacEnabled": false }, "xdr": { "xdrEnabled": false } }, "agentScanMerge": { "enableAgentScanMerge": true, "bindAll": false, "ports": "10001,10002,10003,10004,10005", "ipv4Enabled": false, "ipv6Enabled": true }, "performance": { "isCustomized": false, "performanceBasedOn": "LOW", "customizedSettings": { "agentStatusInterval": 900, "deltaUploadInterval": 60, "chunkSizeForFile": 1024, "upgradeReattemptInterval": 64800, "loggingLevelForAgent": "VERBOSE", "priorityStatusUploadInterval": 300, "cpuLimit": 2, "cpuThrottle": 20 }, "securitySettings": { "vmScanMode": "AGENTUSER" } }, "p2pConfigSetting": { "enabled": true, "minCacheSizeGB": 99, "maxCacheSizeGB": 100, "minRetentionDays": 10, "maxRetentionDays": 30, "transportPort": 4002, "adminPort": 5002 } }'
API Response
{
"id": 1234567,
"customerId": 1122334,
"name": "Combo5",
"isDefault": 1,
"createdDate": "2024-06-06 14:50:43.0",
"updatedDate": "2024-06-06 14:50:44.0",
"priority": 783,
"createdByUsername": "qualys_ab12",
"createdByFirstName": "Patrick",
"createdByLastName": "Slimmer",
"updatedByUsername": "qualys_ab12",
"updatedByFirstName": "Patrick",
"updatedByLastName": "Slimmer"
}
Updated API: Update Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | PUT |
| DTD or XSD changes | NA |
Input ParametersInput Parameters
The following table lists the input parameters for updating a configuration profile.
| Input Parameter | Mandatory/Optional | Data Type | Description |
|---|---|---|---|
| enableWSLCheck | Optional | Boolean | Use this parameter to enable or disable the WSL detections. Valid values: true|false |
| p2pConfigSetting: "enabled" | Optional | Boolean | Use this parameter to enable or disable the peer-to-peer patch distribution. Valid values: true|false |
| minCacheSizeGB | Optional | Integer | Use this parameter to specify the minimum storage space available for storing the downloaded patch artifacts. Default value: 10 GB Range: 10-100 GB |
| maxCacheSizeGB | Optional | Integer | Use this parameter to specify the maximum storage space available for storing the downloaded patch artifacts. Default value: 40 GB Range: 10-100 GB |
| minRetentionDays | Optional | Integer | Use this parameter to specify the mimimum time to store the downloaded patch artifacts. Default value: 2 days Range: 2-30 days |
| maxRetentionDays | Optional | Integer | Use this parameter to specify the maximum time to store the downloaded patch artifacts. Default value: 10 days Range: 2-30 days |
| transportPort | Optional | Integer | Use this parameter to specify the transport port to share the downloaded patch artifacts. |
| adminPort | Optional | Integer | Use this parameter to specify the admin port to share the downloaded patch artifacts. |
| isVmGroupPolicyDelayEnabled | Optional | Boolean | Use this parameter to prevent scanning during group policy execution. If set to true, the configured delay is added for VM scans during group policy execution. Valid values: true|false |
| vmGroupPolicyDelayTime | Optional | Integer | Use this parameter to specify the scan delay in minutes for VM scans during group policy execution. Default value: 5 minutes Range: 5-60 minutes |
| isPcGroupPolicyDelayEnabled | Optional | Boolean | Use this parameter to prevent scanning during group policy execution. If set to true, the configured delay is added for Policy Audit (PA) scans during group policy execution. Valid values: true|false |
| pcGroupPolicyDelayTime | Optional | Integer | Use this parameter to specify the scan delay in minutes for Policy Audit (PA) scans during group policy execution. Default value: 5 minutes Range: 5-60 minutes |
Sample: Update Configuration ProfileSample: Update Configuration Profile
The following sample demonstrates using Update Configuration Profile API.
API Request
curl --location --request PUT '
<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT_TOKEN>' \
API Request Body
--data '{
"basicDetails": {
"profileName": "Combo5",
"defaultProfSubscription": false,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"preventAutoUpdate": false,
"enableWSLCheck": false,
"spf": {
"spfEnabled": false
}
},
"assignCloudAgent": {
"includedHosts": []
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 240,
"scanDelay": 0,
"scanRandomize": 0,
"scanOnStartup": false,
"enableRemoteDetections": true,
"isVmGroupPolicyDelayEnabled": true,
"vmGroupPolicyDelayTime": 30
}
"pc": {
"dataCollectionInterval": 720,
"scanDelay": 0,
"scanRandomize": 0,
"isPcGroupPolicyDelayEnabled": true,
"pcGroupPolicyDelayTime": 35
},
"sca": {
"dataCollectionInterval": 2160
},
"deepscan": {
"dataCollectionInterval": 10080,
"scanDelay": 0,
"scanRandomize": 0,
"scanTimeOut": 1440,
"maxCpuUsage": 30,
"includedDirectoriesForWindows": "C:\\",
"excludedDirectoriesForWindows": "C:\\Windows,C:\\System Volume Information,C:\\$RECYCLE.BIN,C:\\hiberfil.sys,C:\\pagefile.sys,C:\\swapfile.sys",
"winIncludeAllDir": false,
"includedDirectoriesForLinux": "/",
"excludedDirectoriesForLinux": "/proc*,/var/log*,/var/spool*,/etc*,/usr/bin*,/usr/sbin*,/usr/lib*,/usr/lib64*,/boot*,/sys*,/srv*,/media*,/mnt",
"linuxIncludeAllDir": false,
"isDeepScanEnabled": false
}
},
"applicationConfiguration": {
"pm": {
"cacheSize": 2048,
"pmEnabled": true,
"isCacheSizeUnlimited": false,
"enableCpuThrottle": false
},
"fim": {
"maxEventLogSize": 1024,
"payloadThresholdTime": 300,
"maxDiskUsage": 300,
"dataCollectionInterval": 360,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 2048,
"payloadThresholdTime": 300,
"maxDiskUsage": 1024,
"edrEnabled": true
},
"epp": {
"eppEnabled": false,
"thirdPartyRemovalEnabled": true
},
"sac": {
"sacEnabled": false
},
"xdr": {
"xdrEnabled": false
}
},
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": false,
"ports": "10001,10002,10003,10004,10005",
"ipv4Enabled": false,
"ipv6Enabled": true
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "LOW",
"customizedSettings": {
"agentStatusInterval": 900,
"deltaUploadInterval": 60,
"chunkSizeForFile": 1024,
"upgradeReattemptInterval": 64800,
"loggingLevelForAgent": "VERBOSE",
"priorityStatusUploadInterval": 300,
"cpuLimit": 2,
"cpuThrottle": 20
},
"securitySettings": {
"vmScanMode": "AGENTUSER"
}
},
"p2pConfigSetting": {
"enabled": true,
"minCacheSizeGB": 99,
"maxCacheSizeGB": 100,
"minRetentionDays": 10,
"maxRetentionDays": 30,
"transportPort": 4002,
"adminPort": 5002
}
}
API Response
{
"code": 200,
"message": "Configuration Profile updated successfully with Name : Combo5",
"timestamp": 1717429960235
}
Updated API: Create Activation Key API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key |
| Method | POST |
| DTD or XSD changes | NA |
We have made the titles mandatory when creating an activation key. To accommodate this change in APIs, we made the title parameter mandatory when creating an activation key via API.
Input ParametersInput Parameters
The following table lists the input parameter available for creating an activation key.
| Input Parameter | Mandatory/Optional | Data Type | Description |
|---|---|---|---|
| title | Mandatory | String | Enter the activation key title. You must provide an unique activation key title |
| networkId | Optional | Integer | Enter the network ID for the key. The Cloud Agents installed with this key will use the specified network ID. |
| expireDate | Optional | Date | Enter the expiry date for the key in UTC/GMT format, i.e., YYYY-MM-DD. If the field is not provided, a key with no expiry date limit is created. |
| maxAgentsAllowed | Optional | Integer | Specify the number of agents allowed to be installed with this key. If the maximum agent count is not defined, the key can be used to install a maximum up to 1000000 Cloud Agents. Valid range: 1-1000000. |
| licenses | Optional | String | Provision one or more Qualys applications for the key. Valid values: VM, PC/PA, FIM, EDR, SCA, PM, CAPS, SwCA, MTG, ISL, and so on. |
| tags | Optional | Integer | Enter the tag IDs for this key. These tags will be assigned to the Cloud Agents installed with the key. |
Sample: Create an Activation KeySample: Create an Activation Key
The following sample demonstrates using Create Activation Key API.
API Request
curl --location --request POST '<qualys_base_url> /caui/v1/activation-keys/manage/activation-key'
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT Token>'
API Request Body
--data ''
{
"title": "Test Activation Key",
"networkId": 123456,
"expireDate": "2026-09-08",
"maxAgentsAllowed": 100,
"licenses": [
"VM","PC","PM"
],
"tags": [
123456
]
}
API Response
{
"id": 123456,
"title": “Test Activation Key”,
"activationKey": "12ba12bc-effd-12e3-1234-12345ac12345",
"networkId": 123456,
"countUsed": 0,
"countPurchased": 100,
"datePurchased": "2025-09-08T19:43:45.378378608",
"firstName": "John",
"lastName": "Doe",
"userName": "<username>",
"keyType": "Count Time Limited",
"expireDate": "2026-09-08"
"isDisabled": false,
"licenses": [
"PM",
"VM",
"SCA"
],
"tags": [],
"applyToExistingAgents": false
}