Cloud Agent Application Release 2.8 API
August 14, 2026
We are introducing the following new features and enhancements for the Cloud Agent APIs.
Configure Peer-to-Peer Distribution
Cloud Agent now supports peer-to-peer distribution. With this enhancement, you can configure Cloud Agents to distribute the downloaded patch artifacts within the same Local Area Network (LAN). This reduces reliance on the Content Delivery Network (CDN) for distributing files across all host assets.
To support the peer-to-peer distribution, we have updated the following APIs.
Get Configuration Profile Details
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | GET |
| JSON Schema Changes | No |
The Get Configuration Profile Details API do not need any additional input parameters to get the Peer-to-Peer Distribution details. The API response contains all configuration details, including Peer-to-Peer Distribution details. To learn more about this API, refer to Get Configuration Profile.
The following sample illustartes fetching configuration profile details with Peer-to-Peer Distribution enabled. The API response displays all configuration settings along with parameters configured for Peer-to-Peer Distribution.
API Request
curl --location --request GET '<qualys_base_url>/caui/v1/config-profiles/1234567' \
--header 'Authorization: Bearer <JWT Token>' \
--data ''
API Response
{
"id": 1234567,
"customerId": 1122334,
"basicDetails": {
"profileName": "Configuration profile with tag55",
"defaultProfSubscription": false,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"preventAutoUpdate": false,
"spf": {
"spfEnabled": false
}
},
"assignCloudAgent": {
"tagSet": {
"tagSetId": "71171a8a-6d6b-45d0-8503-9f8a7c0083d5",
"includeMatchType": "ANY",
"includedTags": [
{
"inScope": true,
"tagId": 24877622,
"name": "mmm"
}
]
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 240,
"scanDelay": 0,
"scanRandomize": 0,
"scanOnStartup": false
},
"pc": {
"dataCollectionInterval": 720,
"scanDelay": 0,
"scanRandomize": 0
},
"sca": {
"dataCollectionInterval": 2160
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 2048,
"pmEnabled": true,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 1024,
"payloadThresholdTime": 300,
"maxDiskUsage": 300,
"dataCollectionInterval": 360,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": false
},
"xdr": {
"xdrEnabled": false
}
},
"agentScanMerge": {
"enableAgentScanMerge": false,
"bindAll": false,
"ports": "10001,10002,10003,10004,10005",
"ipAddress": "0.0.0.0/0"
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "LOW",
"customizedSettings": {
"agentStatusInterval": 900,
"deltaUploadInterval": 10,
"chunkSizeForFile": 1024,
"upgradeReattemptInterval": 64800,
"loggingLevelForAgent": "VERBOSE",
"priorityStatusUploadInterval": 60,
"cpuLimit": 2,
"cpuThrottle": 20
},
"p2pConfigSetting": {
"enabled": true,
"minCacheSizeGB": 12,
"maxCacheSizeGB": 13,
"minRetentionDays": 3,
"maxRetentionDays": 11,
"transportPort": 65535,
"adminPort": 65535
},
"securitySettings": {
"vmScanMode": "AGENTUSER"
}
}
}
Create Configuration Profile
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | POST |
| JSON Schema Changes | No |
Provide the Peer-to-Peer Distribution settings while creating a new configuration profile. To provide the Peer-to-Peer Distribution settings, we have introduced a new class p2pConfigSetting and the following new parameters.
New Input ParametersNew Input Parameters
The following table lists the new input parameter introduced for Peer-to-Peer configuration.
| Input Parameter | Mandatory/Optional | Data Type | Description |
|---|---|---|---|
| "p2pConfigSetting": { "enabled": true, "minCacheSizeGB": <int_value>, "maxCacheSizeGB": <int_value>, "minRetentionDays": <int_value>, "maxRetentionDays": <int_value>, "transportPort": <int_value>, "adminPort": <int_value> }, |
Optional | String | Use this parameter class to define the Peer-to-Peer Distribution setting for a configuration profile using the following parameters:
|
The following API sample illustrates creating a configuration profile and enabling the Peer-to-Peer Distribution for it.
API Request
curl --location --request POST '<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT Token>' \
--data ''
API Request Body
{ "basicDetails": { "profileName": "Config Profile creation12", "defaultProfSubscription": true, "suspendDataCollection": false, "inMemorySQLite": false, "enableQgs": false, "qgsGroupName": "TESTING", "preventAutoUpdate": false, "spf": { "spfEnabled":false } }, "scanConfiguration": { "vm": { "dataCollectionInterval": 1234, "scanDelay": 555, "scanRandomize": 240, "scanOnStartup": true, "enableRemoteDetections": true }, "pc": { "dataCollectionInterval": 2333, "scanDelay": 111, "scanRandomize": 77 }, "sca": { "dataCollectionInterval": 2160 } }, "moduleConfiguration": { "pm": { "cacheSize": 1234, "pmEnabled": 10, "isCacheSizeUnlimited": false }, "fim": { "maxEventLogSize": 110, "payloadThresholdTime": 1300, "maxDiskUsage": 2048, "dataCollectionInterval": 2222, "fimEnabled": false }, "edr": { "maxEventLogSize": 10240, "payloadThresholdTime": 1800, "maxDiskUsage": 2048, "edrEnabled": true }, "epp": { "eppEnabled":true, "thirdPartyRemovalEnabled":true, "thirdPartyExclusionList":"Update" }, "sac": { "sacEnabled": true }, "xdr": { "xdrEnabled": true } }, "performance": { "isCustomized": false, "performanceBasedOn": "HIGH", "customizedSettings": { "agentStatusInterval": 7200, "deltaUploadInterval": 1800, "chunkSizeForFile": 10240, "upgradeReattemptInterval": 323400, "loggingLevelForAgent": "WARNING", "priorityStatusUploadInterval": 300, "cpuLimit": 100, "cpuThrottle": 1000 }, "securitySettings": { "vmScanMode": "SAFE" } }, "reducedActivityPeriodWindows": [ { "rapWindowName": "RAP Profile", "startTime": "04:00 AM", "endTime": "06:00 AM", "selectedDays": [ "Sunday", "Monday", "Thursday", "Wednesday", "Tuesday", "Friday", "Saturday" ], "networkRAPModules": [ "VM", "PC", "CSAM", "SWCA", "PM", "CAR" ], "activityRAPModules": [ "VM", "PC", "CSAM", "SWCA", "PM", "CAR" ] } ], "p2pConfigSetting": { "enabled": true, "minCacheSizeGB": 12, "maxCacheSizeGB": 13, "minRetentionDays": 3, "maxRetentionDays": 11, "transportPort": 65535, "adminPort": 65535 }, "agentScanMerge": { "enableAgentScanMerge": true, "bindAll": true, "ports": "10001,10002,10003,10004", "subnetMask": "21.111.123.123", "ipAddress": "123.123.123.123/12", "gateway": "111.222.12.55", "dnsSuffixRegex": "String value" } }
API Response
{ "id": 1234567, "customerId": 1122334, "name": "Config Profile creation", "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" }
Update Configuration Profile
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | PATCH |
| JSON Schema Changes | No |
Provide the Peer-to-Peer Distribution settings while updating a new configuration profile. To provide the Peer-to-Peer Distribution settings, we have introduced a new class, p2pConfigSetting, and the following new parameters.
New Input ParametersNew Input Parameters
The following table lists the new input parameter introduced for Peer-to-Peer configuration.
| Input Parameter | Mandatory/Optional | Data Type | Description |
|---|---|---|---|
| "p2pConfigSetting": { "enabled": true, "minCacheSizeGB": <int_value>, "maxCacheSizeGB": <int_value>, "minRetentionDays": <int_value>, "maxRetentionDays": <int_value>, "transportPort": <int_value>, "adminPort": <int_value> }, |
Optional | String | Use this parameter class to define the Peer-to-Peer Distribution setting for a configuration profile using the following parameters:
|
The following sample illustrates updating an existing configuration profile and providing Peer-to-Peer Distribution settings.
API Request
curl --location --request PATCH '
<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT_TOKEN>' \
--data ''
API Request Body
{
"id": 1234567,
"basicDetails": {
"profileName": "Update API",
"defaultProfSubscription": false,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"qgsGroupName": "TESTING",
"preventAutoUpdate": false,
"spf": {
"spfEnabled": false
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 1234,
"scanDelay": 555,
"scanRandomize": 240,
"scanOnStartup": true,
"enableRemoteDetections": true
},
"pc": {
"dataCollectionInterval": 2333,
"scanDelay": 111,
"scanRandomize": 77
},
"sca": {
"dataCollectionInterval": 2160
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 1234,
"pmEnabled": 10,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 110,
"payloadThresholdTime": 1300,
"maxDiskUsage": 2048,
"dataCollectionInterval": 2222,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": true
},
"xdr": {
"xdrEnabled": true
}
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "HIGH",
"customizedSettings": {
"agentStatusInterval": 7200,
"deltaUploadInterval": 1800,
"chunkSizeForFile": 10240,
"upgradeReattemptInterval": 323400,
"loggingLevelForAgent": "WARNING",
"priorityStatusUploadInterval": 300,
"cpuLimit": 100,
"cpuThrottle": 1000
},
"securitySettings": {
"vmScanMode": "SAFE"
}
},
"reducedActivityPeriodWindows": [
{
"rapWindowName": "RAP Profile",
"startTime": "04:00 AM",
"endTime": "06:00 AM",
"selectedDays": [
"Sunday",
"Monday",
"Thursday",
"Wednesday",
"Tuesday",
"Friday",
"Saturday"
],
"networkRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
],
"activityRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
]
}
],
"p2pConfigSetting": {
"enabled": true,
"minCacheSizeGB": 12,
"maxCacheSizeGB": 13,
"minRetentionDays": 3,
"maxRetentionDays": 11,
"transportPort": 65535,
"adminPort": 65535
},
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": true,
"ports": "10001,10002,10003,10004",
"subnetMask": "11.111.123.123",
"ipAddress": "111.222.123.123/2",
"gateway": "1.11.22.33",
"dnsSuffixRegex": "String Value"
}
}
API Response
{
"code": 200,
"message": "Configuration Profile updated successfully with Name : Update API",
"timestamp": 1717429960235
}
Control Cloud Agent Secondary Binary Updates
You can now control the auto-update behavior for secondary Cloud Agent binaries such as Deep Scan, Cloud Agent Passive Sensor (CAPS), Software Composition Analysis (SwCA), TruRisk Isolate (ISL), TruRisk Mitigate (MTG), Endpoint Detection and Response (EDR), Remote Detection, and Agent Correlation ID. To support this enhancement, we have introduced a new parameter, autoUpdateResources, for Cloud Agent API configuration.
Check the following subsections to learn more about input parameters and impacted API endpoints.
Input Parameters
We have introduced the following input parameter for Cloud Agent APIs. This parameter can be used while creating or editing a configuration profile.
| Parameter | Optional/Mandatory | Data Type | Description |
|---|---|---|---|
| autoUpdateResources | Optional | String | This is a primary parameter class to specify the secondary binary auto-update behavior. Use this parameter to allow or prevent secondary binary auto-update, and specify the binaries you want to control. |
| autoUpdateResourcesEnabled | Optional | String | Use this parameter to enable or disable secondary binary auto-update. By default, Cloud Agent is configured to auto-update secondary binaries. Valid values: true, false Default value: true |
| "agentResources": [ { "key": "CAPS", "label": "CAPS", "description": "Cloud Agent Passive Sensor", "enabled": true, "isModule": true "validationDtoKey":<value> "validationUiKey":<value> }, |
Optional | String | Use this parameter to specify the secondary binaries for which you want to control auto-update behavior. To configure each secondary binary update, you need to specify the following values.
|
Create Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | POST |
| JSON Schema Change | No |
Use the autoUpdateResources parameter while creating a configuration profile to control secondary binary auto-update behavior.
This sample illustrates enabling auto-update for secondary bineries, DeepScan, CAPS, SwCA, ISL, MTG, EDR, Correlation, and RemoteDetection using Create Configuration Profile API.
API Request
curl --location --request POST '<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT Token>' \
--data ''
API Request Body
{
"basicDetails": {
"profileName": "Config Profile creation12",
"defaultProfSubscription": true,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"qgsGroupName": "TESTING",
"preventAutoUpdate": false,
"spf": {
"spfEnabled":false
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 1234,
"scanDelay": 555,
"scanRandomize": 240,
"scanOnStartup": true,
"enableRemoteDetections": true
},
"pc": {
"dataCollectionInterval": 2333,
"scanDelay": 111,
"scanRandomize": 77
},
"sca": {
"dataCollectionInterval": 2160
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 1234,
"pmEnabled": 10,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 110,
"payloadThresholdTime": 1300,
"maxDiskUsage": 2048,
"dataCollectionInterval": 2222,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": true
},
"xdr": {
"xdrEnabled": true
}
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "HIGH",
"customizedSettings": {
"agentStatusInterval": 7200,
"deltaUploadInterval": 1800,
"chunkSizeForFile": 10240,
"upgradeReattemptInterval": 323400,
"loggingLevelForAgent": "WARNING",
"priorityStatusUploadInterval": 300,
"cpuLimit": 100,
"cpuThrottle": 1000
},
"securitySettings": {
"vmScanMode": "SAFE"
}
},
"reducedActivityPeriodWindows": [
{ "rapWindowName": "RAP Profile",
"startTime": "04:00 AM",
"endTime": "06:00 AM",
"selectedDays": [
"Sunday",
"Monday",
"Thursday",
"Wednesday",
"Tuesday",
"Friday",
"Saturday"
],
"networkRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
],
"activityRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
]
}
],
"autoUpdateResources": {
"autoUpdateResourcesEnabled": true,
"agentResources": [
{
"key": "CAPS",
"label": "CAPS",
"description": "Cloud Agent Passive Sensor",
"enabled": true,
"isModule": true
},
{
"key": "EDR",
"label": "EDR",
"description": "Endpoint Detection and Response",
"enabled": true,
"isModule": true
},
{
"key": "ISL",
"label": "ISL",
"description": "Isolate",
"enabled": true,
"isModule": true
},
{
"key": "SwCA",
"label": "SwCA",
"description": "Software Composition Analysis",
"enabled": true,
"isModule": true
},
{
"key": "DeepScan",
"label": "Deep Scan",
"description": "Deep scanning capabilities for comprehensive analysis",
"enabled": true,
"validationUiKey": "isDeepScanEnabled",
"isModule": false,
"validationDtoKey": "scanConfiguration.deepScan.isDeepScanEnabled"
},
{
"key": "Correlation",
"label": "Agent Scan Merge",
"description": "Agent scan merge and correlation functionality",
"enabled": true,
"validationUiKey": "enableAgentScanMerge",
"isModule": false,
"validationDtoKey": "agentScanMerge.enableAgentScanMerge"
},
{
"key": "RemoteDetection",
"label": "Remote Detection",
"description": "Remote-based detection capabilities",
"enabled": true,
"validationUiKey": "enableRemoteDetections",
"isModule": false,
"validationDtoKey": "scanConfiguration.vm.remoteBasedDetection.remoteBasedDetection"
}
]
},
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": true,
"ports": "10001,10002,10003,10004",
"subnetMask": "21.111.123.123",
"ipAddress": "123.123.123.123/12",
"gateway": "111.222.12.55",
"dnsSuffixRegex": "String value"
}
}
API Response
{
"id": 1234567,
"customerId": 1122334,
"name": "Config Profile creation",
"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"
}
Update Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | PATCH |
| JSON Schema Change | No |
Use the autoUpdateResources parameter while editing a configuration profile to control secondary binary auto-update behavior.
This sample illustrates enabling auto-update for secondary bineries, SwCA, CAPS, and EDR using Create Configuration Profile API.
API Request
curl --location --request PATCH '
<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT_TOKEN>' \
--data ''
API Request Body
{
"id": 1234567,
"basicDetails": {
"profileName": "Update API",
"defaultProfSubscription": false,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"qgsGroupName": "TESTING",
"preventAutoUpdate": false,
"spf": {
"spfEnabled": false
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 1234,
"scanDelay": 555,
"scanRandomize": 240,
"scanOnStartup": true,
"enableRemoteDetections": true
},
"pc": {
"dataCollectionInterval": 2333,
"scanDelay": 111,
"scanRandomize": 77
},
"sca": {
"dataCollectionInterval": 2160
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 1234,
"pmEnabled": 10,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 110,
"payloadThresholdTime": 1300,
"maxDiskUsage": 2048,
"dataCollectionInterval": 2222,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": true
},
"xdr": {
"xdrEnabled": true
}
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "HIGH",
"customizedSettings": {
"agentStatusInterval": 7200,
"deltaUploadInterval": 1800,
"chunkSizeForFile": 10240,
"upgradeReattemptInterval": 323400,
"loggingLevelForAgent": "WARNING",
"priorityStatusUploadInterval": 300,
"cpuLimit": 100,
"cpuThrottle": 1000
},
"securitySettings": {
"vmScanMode": "SAFE"
}
},
"reducedActivityPeriodWindows": [
{
"rapWindowName": "RAP Profile",
"startTime": "04:00 AM",
"endTime": "06:00 AM",
"selectedDays": [
"Sunday",
"Monday",
"Thursday",
"Wednesday",
"Tuesday",
"Friday",
"Saturday"
],
"networkRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
],
"activityRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR"
]
}
],
"autoUpdateResources": {
"autoUpdateResourcesEnabled": true,
"agentResources": [
{
"key": "CAPS",
"label": "CAPS",
"description": "Cloud Agent Passive Sensor",
"enabled": true,
"isModule": true
},
{
"key": "EDR",
"label": "EDR",
"description": "Endpoint Detection and Response",
"enabled": true,
"isModule": true
},
{
"key": "ISL",
"label": "ISL",
"description": "Isolate",
"enabled": true,
"isModule": true
},
{
"key": "SwCA",
"label": "SwCA",
"description": "Software Composition Analysis",
"enabled": true,
"isModule": true
}
],
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": true,
"ports": "10001,10002,10003,10004",
"subnetMask": "11.111.123.123",
"ipAddress": "111.222.123.123/2",
"gateway": "1.11.22.33",
"dnsSuffixRegex": "String Value"
}
}
API Response
{
"code": 200,
"message": "Configuration Profile updated successfully with Name : Update API",
"timestamp": 1717429960235
}
Activate Qualys TruConfirm™
Qualys Cloud Agent now supports a new application, Qualys TruConfirm. Qualys TruConfirm helps you validate the exploitability of vulnerabilities detected on your assets. TruConfirm provides a proof-based prioritization for vulnerable assets. It helps security teams prioritize real risks, reduce false positives, and focus remediation efforts on the most critical threats.
You can use the Cloud Agent APIs to activate or deactivate this application. To facilitate managing Qualys TruConfirm with Cloud Agent APIs, we have introduced new values for the following parameters.
Updated Input Parameters
| Input Parameter | Newly Introduced Parameter Value | Impacted API Endpoint |
|---|---|---|
| licenses | TRUC | /caui/v1/activation-keys/manage/activation-key |
| addLicenses | TRUC | /caui/v1/activation-keys/manage/activation-key/<id> |
| removeLicenses | TRUC | /caui/v1/activation-keys/manage/activation-key/ <id> |
| modules | AGENT_TRUC | /qps/rest/1.0/create/ca/agentactkey/ /qps/rest/1.0/update/ca/agentactkey/<id> |
| trucEnabled | TRUC | POST /caui/v1/config-profiles PUT /caui/v1/config-profiles |
| activityRAPModules | TRUC | POST /caui/v1/config-profiles PUT /caui/v1/config-profiles |
| networkRAPModules | TRUC | POST /caui/v1/config-profiles PUT /caui/v1/config-profiles |
Create Activation Key API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key |
| Method | POST |
| JSON Schema Changes | No |
This sample illustrates creating an activation key with TruConfirm enabled.
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","TRUC"
],
"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": [
"PC",
"VM",
"PM",
"TRUC"
],
"tags": [],
"applyToExistingAgents": false
}
Refer to Cloud Agent API User Guide to learn more about this API.
Create Activation Key API (Legacy)
| New or Updated API | Updated |
| API Endpoint | /qps/rest/1.0/create/ca/agentactkey/ |
| Method | POST |
| JSON Schema Changes | No |
This sample illustrates creating an activation key with TruConfirm enabled using legacy Activation Key API.
API Request
curl -X POST -H "Content-Type: text/xml" -H "X-Requested-With: curl" -H "Authorization: Basic AbcdAbcdAbcdAbcdAbcd" -H "Cxml" -H "Cache-Control: no-cache" --data-binary @key_create.xml "<qualys_base_url>/qps/rest/1.0/create/ca/agentactkey/"
Note: “key_create.xml” contains the request POST data.
API Request Body
<?xml version="1.0" encoding="UTF-8"?>
<ServiceRequest>
<data>
<AgentActKey>
<title>example create from api</title>
<countPurchased>0</countPurchased>
<expireDate>2028-12-05T23:05:42Z</expireDate>
<type>UNLIMITED</type>
<ownerId>364812443</ownerId>
<modules>
<list>
<ActivationKeyModule>
<license>VM_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PC_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>FIM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>EDR</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SWCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>CAPS</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>MTG</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>TRUC</license>
</ActivationKeyModule>
</list>
</modules>
<tags>
<list>
<Tag>
<id>522325</id>
<name>Temp Tag</name>
</Tag>
</list>
</tags>
</AgentActKey>
</data>
</ServiceRequest>
API Response
<?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="<qualys_base_url>/qps/xsd/1.0/ca/agentactkey.xsd">
<responseCode>SUCCESS</responseCode>
<count>1</count>
<data>
<AgentActKey>
<id>59001</id>
<activationKey>548ec9eb-9ee4-45d9-aa2f-f3083983bf3c</activationKey>
<status>ACTIVE</status>
<countPurchased>0</countPurchased>
<countUsed>0</countUsed>
<datePurchased>2016-09-07T14:48:15Z</datePurchased>
<type>UNLIMITED</type>
<title>example key create from api</title>
<isDisabled>false</isDisabled>
<modules>
<list>
<ActivationKeyModule>
<license>VM_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PC_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>FIM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>EDR</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SWCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>CAPS</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>CAPS</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>MTG</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>TRUC</license>
</ActivationKeyModule>
</list>
</modules>
<tags>
<list>
<Tag>
<id>522325</id>
<name>Temp Tag</name>
</Tag>
</list>
</tags>
<ownerId>364812443</ownerId>
</AgentActKey>
</data>
</ServiceResponse>
Refer to Cloud Agent API User Guide to learn more about this API.
Update Activation Key API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key/<id> |
| Method | PATCH |
| JSON Schema Changes | No |
This sample illustrates editing an activation key to enable TruConfirm.
API Request
curl --location --request PATCH ' /caui/v1/activation-keys/manage/activation-key/123456’
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Token' \
API Request Body
--data ''
{
"title": "string",
"networkId": 123456,
"removeExpireDate": true,
"maxAgentsAllowed": 100,
"applyToExistingAgents": true,
"addLicenses": [
"PM",
"TRUC"
],
"removeLicenses": [
"SCA"
],
"addTags": [
123456
],
"removeTags": [
345678
]
}
API Response
Successfully updated activation key
Refer to Cloud Agent API User Guide to learn more about this API.
Update Activation Key API (Legacy)
| New or Updated API | Updated |
| API Endpoint | /qps/rest/1.0/update/ca/agentactkey/<id> |
| Method | POST |
| JSON Schema Changes | No |
This sample illustrates editing an activation key to enable TruConfirm using Legacy Activation Key API.
API Request
curl -X POST -H "X-Requested-With: curl" -H "Authorization: Basic AbcdAbcdAbcdAbcdAbcd" -H "Content-Type: text/xml" -H "Cache-Control: no-cache" --data-binary @key_update.xml "<qualys_base_url>/qps/rest/1.0/update/ca/agentactkey/6201"
Note: “key_update.xml” contains the request POST data.
API Request Body
<?xml version="1.0" encoding="UTF-8"?>
<ServiceRequest>
<data>
<AgentActKey>
<id>6201</id>
<title>example key updated from api</title>
<countPurchased>0</countPurchased>
<expireDate>2028-12-05T23:05:42Z</expireDate>
<type>UNLIMITED</type>
<ownerId>364812443</ownerId>
<applyOnAgents>true</applyOnAgents>
<modules>
<list>
<ActivationKeyModule>
<license>VM_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PC_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>FIM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>EDR</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SWCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>CAPS</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>MTG</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>TRUC</license>
</ActivationKeyModule>
</list>
</modules>
<tags>
<list>
<Tag>
<id>522325</id>
</Tag>
</list>
</tags>
<ownerId>364812443</ownerId>
</AgentActKey>
</data>
</ServiceResponse>
API Response
<?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="<qualys_base_url>/qps/xsd/1.0/ca/agentactkey.xsd">
<responseCode>SUCCESS</responseCode>
<count>1</count>
<data>
<AgentActKey>
<id>6201</id>
<title>example key updated from api</title>
<activationKey>548ec9eb-9ee4-45d9-aa2f-f3083983bf3c</activationKey>
<status>ACTIVE</status>
<countPurchased>0</countPurchased>
<countUsed>0</countUsed>
<datePurchased>2016-09-07T14:48:15Z</datePurchased>
<type>UNLIMITED</type>
<title>example key create from api</title>
<isDisabled>false</isDisabled>
<applyOnAgents>true</applyOnAgents>
<modules>
<list>
<ActivationKeyModule>
<license>VM_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PC_LICENSE</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>PM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>FIM</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>EDR</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>SWCA</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>CAPS</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>MTG</license>
</ActivationKeyModule>
<ActivationKeyModule>
<license>TRUC</license>
</ActivationKeyModule>
</list>
</modules>
<tags>
<list>
<Tag>
<id>522325</id>
<name>Temp Tag</name>
</Tag>
</list>
</tags>
<ownerId>364812443</ownerId>
</AgentActKey>
</data>
</ServiceRequest>
Refer to Cloud Agent API User Guide to learn more about this API.
Create Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | POST |
| JSON Schema Changes | No |
This sample illustrates creating configuration profile with TruConfirm enabled.
API Request
curl --location --request POST '<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT Token>' \
--data ''
API Request Body
{
"basicDetails": {
"profileName": "Config Profile creation12",
"defaultProfSubscription": true,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"qgsGroupName": "TESTING",
"preventAutoUpdate": false,
"spf": {
"spfEnabled":false
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 1234,
"scanDelay": 555,
"scanRandomize": 240,
"scanOnStartup": true,
"enableRemoteDetections": true
},
"pc": {
"dataCollectionInterval": 2333,
"scanDelay": 111,
"scanRandomize": 77
},
"sca": {
"dataCollectionInterval": 2160
},
"truc": {
"cpuUsageLimit": 20
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 1234,
"pmEnabled": 10,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 110,
"payloadThresholdTime": 1300,
"maxDiskUsage": 2048,
"dataCollectionInterval": 2222,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": true
},
"xdr": {
"xdrEnabled": true
}
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "HIGH",
"customizedSettings": {
"agentStatusInterval": 7200,
"deltaUploadInterval": 1800,
"chunkSizeForFile": 10240,
"upgradeReattemptInterval": 323400,
"loggingLevelForAgent": "WARNING",
"priorityStatusUploadInterval": 300,
"cpuLimit": 100,
"cpuThrottle": 1000
},
"securitySettings": {
"vmScanMode": "SAFE"
}
},
"reducedActivityPeriodWindows": [
{ "rapWindowName": "RAP Profile",
"startTime": "04:00 AM",
"endTime": "06:00 AM",
"selectedDays": [
"Sunday",
"Monday",
"Thursday",
"Wednesday",
"Tuesday",
"Friday",
"Saturday"
],
"networkRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR",
"TRUC"
],
"activityRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR",
"TRUC"
]
}
],
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": true,
"ports": "10001,10002,10003,10004",
"subnetMask": "21.111.123.123",
"ipAddress": "123.123.123.123/12",
"gateway": "111.222.12.55",
"dnsSuffixRegex": "String value"
}
}
API Response
{
"id": 1234567,
"customerId": 1122334,
"name": "Config Profile creation",
"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"
}
Refer to Cloud Agent API User Guide to learn more about this API.
Update Configuration Profile API
| New or Updated API | Updated |
| API Endpoint | /caui/v1/config-profiles |
| Method | PATCH |
| JSON Schema Changes | No |
This sample illustrates updating a configuration profile with TruConfirm enabled.
API Request
curl --location --request PATCH '
<qualys_base_url>/caui/v1/config-profiles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <JWT_TOKEN>' \
--data ''
API Request Body
{
"id": 1234567,
"basicDetails": {
"profileName": "Update API",
"defaultProfSubscription": false,
"suspendDataCollection": false,
"inMemorySQLite": false,
"enableQgs": false,
"qgsGroupName": "TESTING",
"preventAutoUpdate": false,
"spf": {
"spfEnabled": false
}
},
"scanConfiguration": {
"vm": {
"dataCollectionInterval": 1234,
"scanDelay": 555,
"scanRandomize": 240,
"scanOnStartup": true,
"enableRemoteDetections": true
},
"pc": {
"dataCollectionInterval": 2333,
"scanDelay": 111,
"scanRandomize": 77
},
"sca": {
"dataCollectionInterval": 2160
},
"truc": {
"cpuUsageLimit": 20
}
},
"moduleConfiguration": {
"pm": {
"cacheSize": 1234,
"pmEnabled": 10,
"isCacheSizeUnlimited": false
},
"fim": {
"maxEventLogSize": 110,
"payloadThresholdTime": 1300,
"maxDiskUsage": 2048,
"dataCollectionInterval": 2222,
"fimEnabled": false
},
"edr": {
"maxEventLogSize": 10240,
"payloadThresholdTime": 1800,
"maxDiskUsage": 2048,
"edrEnabled": true
},
"epp": {
"eppEnabled":true,
"thirdPartyRemovalEnabled":true,
"thirdPartyExclusionList":"Update"
},
"sac": {
"sacEnabled": true
},
"xdr": {
"xdrEnabled": true
}
},
"performance": {
"isCustomized": false,
"performanceBasedOn": "HIGH",
"customizedSettings": {
"agentStatusInterval": 7200,
"deltaUploadInterval": 1800,
"chunkSizeForFile": 10240,
"upgradeReattemptInterval": 323400,
"loggingLevelForAgent": "WARNING",
"priorityStatusUploadInterval": 300,
"cpuLimit": 100,
"cpuThrottle": 1000
},
"securitySettings": {
"vmScanMode": "SAFE"
}
},
"reducedActivityPeriodWindows": [
{
"rapWindowName": "RAP Profile",
"startTime": "04:00 AM",
"endTime": "06:00 AM",
"selectedDays": [
"Sunday",
"Monday",
"Thursday",
"Wednesday",
"Tuesday",
"Friday",
"Saturday"
],
"networkRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR",
"TRUC"
],
"activityRAPModules": [
"VM",
"PC",
"CSAM",
"SWCA",
"PM",
"CAR",
"TRUC"
]
}
],
"agentScanMerge": {
"enableAgentScanMerge": true,
"bindAll": true,
"ports": "10001,10002,10003,10004",
"subnetMask": "11.111.123.123",
"ipAddress": "111.222.123.123/2",
"gateway": "1.11.22.33",
"dnsSuffixRegex": "String Value"
}
}
API Response
{
"code": 200,
"message": "Configuration Profile updated successfully with Name : Update API",
"timestamp": 1717429960235
}
Refer to Cloud Agent API User Guide to learn more about this API.
Cloud Agent UI Release Notes
To learn more about Cloud Agent UI updates and enhancements, refer to Cloud Agent Application Release 2.8.