Enterprise TruRisk™ Platform Release 3.24 API
April 27, 2026
Before checking 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.
Cloud Agent |
Support for New Module - Policy Audit Fix
Cloud Agent now supports a new module, Policy Audit Fix (PAF). The PAF module helps you identify failed controls on your assets and remediate them to meet the policy audit standards.
To activate the PAF, you must first activate the Policy Audit (PA) or Secure Configuration Assessment (SCA).
We have updated the following Cloud Agent APIs to help you manage the PAF module.
Create Activation KeyCreate Activation Key
| New or Updated | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key |
| Method | POST |
| DTD or XSD Changes | No |
To support provisioning an activation key for PAF, we introduced the new value 'PAF' for the licenses parameter. To learn more about creating an activation key using the new API, refer to Create Activation Key.
Sample: Create an Activation Key Provisioned for PAFSample: Create an Activation Key Provisioned for PAF
The following sample illustrates creating an activation key and provisioning it to the PAF.
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": "2028-09-08",
"maxAgentsAllowed": 10000,
"licenses": [
"VM","PC","PM", "PAF"
],
"tags": [
123456
]
}
API Response
{
"id": 123456,
"title": “Test Activation Key”,
"activationKey": "12ba12bc-effd-12e3-1234-12345ac12345",
"networkId": 123456,
"countUsed": 0,
"countPurchased": 10000,
"datePurchased": "2025-09-08T19:43:45.378378608",
"firstName": "John",
"lastName": "Doe",
"userName": "<username>",
"keyType": "Count Time Limited",
"expireDate": "2028-09-08"
"isDisabled": false,
"licenses": [
"PM",
"VM",
"SCA",
"PAF"
],
"tags": [],
"applyToExistingAgents": false
}
Update Activation KeyUpdate Activation Key
| New or Updated | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key/<id> |
| Method | POST |
| DTD or XSD Changes | No |
To support provisioning an activation key for PAF, we introduced the new value 'PAF' for the licenses parameter. To learn more about updating an activation key using the new API, refer to Update Activation Key.
Sample: Provision an Existing Activation Key for PAFSample: Provision an Existing Activation Key for PAF
The following sample illustrates provisioning an existing activation key to the PAF.
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": 10000,
"applyToExistingAgents": true,
"addLicenses": ["PM", "PAF"],
"removeLicenses": [ "SCA"],
"addTags": [
123456
],
"removeTags": [
345678
]
}
API Response
Successfully updated activation key
Activate Single Cloud AgentActivate Single Cloud Agent
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/activate/am/asset/<id>?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support activating a Cloud Agent for PAF, we introduced the new value AGENT_PAF for the module parameter. To learn more about activating a Cloud Agent using API, refer to Activate a Single Agent.
Sample: Activate a Cloud Agent for PAFSample: Activate a Cloud Agent for PAF
The following sample illustrates activating a Cloud Agent for PAF.
API Request
curl -u fo_username:password -X POST
-H "Content-Type: text/xml"
-H "X-Requested-With: curl" --data-binary @single_activation.xml "<qualys_base_url>/qps/rest/2.0/activate/am/asset/5808297?module=AGENT_VM, AGENT_MTG, AGENT_PAF"
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest></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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>1</count>
<data>
<Asset>
<id>5808297</id>
<name>username</name>
<created>2024-09-22T11:45:38Z</created>
<modified>2026-04-21T21:14:26Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>1835835</id>
<name>Tag name 1</name>
</TagSimple>
<TagSimple>
<id>2327817</id>
<name>Tag name 2</name>
</TagSimple>
<TagSimple>
<id>1828415</id>
<name>Cloud Agent</name>
</TagSimple>
<TagSimple>
<id>2079439</id>
<name>Tag name 3</name>
</TagSimple>
<TagSimple>
<id>1855817</id>
<name>Tag name 4</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>
Activate Cloud Agents in BulkActivate Cloud Agents in Bulk
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/activate/am/asset?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support activating multiple Cloud Agents for PAF, we introduced the new value AGENT_PAF for the module parameter. To learn more about activating multiple Cloud Agents using API, refer to Activate Multiple Agents.
Sample: Activate Multiple Cloud Agents for PAFSample: Activate Multiple Cloud Agents for PAF
Deactivate Single Cloud AgentDeactivate Single Cloud Agent
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/deactivate/am/asset/<id>?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support deactivating a single Cloud Agent for PAF, we introduced the new value AGENT_PAF for the module parameter. To learn more about deactivating a Cloud Agent using API, refer to Deactivate a Single Agent.
Sample: Deactivate a Single Cloud Agent for PAFSample: Deactivate a Single Cloud Agent for PAF
Deactivate Cloud Agents in BulkDeactivate Cloud Agents in Bulk
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/deactivate/am/asset?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support deactivating multiple Cloud Agents for PAF, we introduced the new value AGENT_PAF for the module parameter. To learn more about deactivating multiple Cloud Agents using API, refer to Deactivate Multiple Agents.
Sample: Deactivate Multiple Cloud Agents for PAFSample: Deactivate Multiple Cloud Agents for PAF
The following sample illustrates deactivating multiple Cloud Agents for PAF.
API Request
curl -u fo_username:password -X POST -H "Content-Type: text/xml"
-H "Cache-Control: no-cache" --data-binary @deactivate_all_agents.xml
"<qualys_base_url>/qps/rest/2.0/deactivate/am/asset?module=AGENT_VM,AGENT_FIM, AGENT_PAF"
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest>
<filters>
<Criteria field="tagName" operator="EQUALS">Cloud Agent</Criteria>
</filters>
</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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>3</count>
<data>
<Asset>
<id>712038</id>
<name>192.168.1.12</name>
<created>2024-06-18T16:54:50Z</created>
<modified>2026-04-18T16:54:51Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532638</id>
<name>10.xx.xx.176</name>
<created>2024-04-17T13:32:48Z</created>
<modified>2026-04-14T14:06:03Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532838</id>
<name>local IP agent</name>
<created>2023-04-19T13:52:08Z</created>
<modified>2026-02-05T12:26:48Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
<TagSimple>
<id>217325</id>
<name>Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>
Independent Activation for ETM Identity
You can now activate or deactivate ETM Identity independently. This update lets you manage the ETM Identity module without affecting dependent Qualys applications. It simplifies the configuration workflow and helps prevent errors by enabling independent management of related applications.
To fully leverage the ETM Identity, activate the Vulnerability Management (VM) and Policy Audit (PA) applications.
We have updated the following Cloud Agent APIs to help you manage the ETM Identity module independently:
Create Activation KeyCreate Activation Key
| New or Updated | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key |
| Method | POST |
| DTD or XSD Changes | No |
To support provisioning an activation key for ETM Identity, we introduced the new value 'ID' for the licenses parameter. To learn more about creating an activation key using the API, refer to Create Activation Key.
Sample: Create an Activation Key Provisioned for ETM IdentitySample: Create an Activation Key Provisioned for ETM Identity
The following sample illustrates creating an activation key and provisioning it to the ETM Identity (ID).
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-04-08",
"maxAgentsAllowed": 100,
"licenses": [
"VM","PC","PM","ID"
],
"tags": [
123456
]
}
API Response
{
"id": 123456,
"title": “Test Activation Key”,
"activationKey": "12ba12bc-effd-12e3-1234-12345ac12345",
"networkId": 123456,
"countUsed": 0,
"countPurchased": 100,
"datePurchased": "2026-04-08T19:43:45.378378608",
"firstName": "John",
"lastName": "Doe",
"userName": "<username>",
"keyType": "Count Time Limited",
"expireDate": "2028-04-08"
"isDisabled": false,
"licenses": [
"PM",
"VM",
"SCA",
"ID"
],
"tags": [],
"applyToExistingAgents": false
}
Update Activation KeyUpdate Activation Key
| New or Updated | Updated |
| API Endpoint | /caui/v1/activation-keys/manage/activation-key/ <id> |
| Method | POST |
| DTD or XSD Changes | No |
To support provisioning an activation key for ETM Identity, we introduced the new value 'ID' for the licenses parameter. To learn more about creating an activation key using the API, refer to Update Activation Key.
Sample: Provision an Existing Activation Key for ETM IdentitySample: Provision an Existing Activation Key for ETM Identity
The following sample illustrates provisioning an existing activation key for ETM Identity (ID).
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", "ID"
],
"removeLicenses": [
"SCA"
],
"addTags": [
123456
],
"removeTags": [
345678
]
}
API Response
Successfully updated activation key
Activate Single Cloud AgentActivate Single Cloud Agent
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/activate/am/asset/<id>?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support activating a Cloud Agent for ETM Identity, we introduced the new value AGENT_ID for the module parameter. To learn more about activating a Cloud Agent using API, refer to Activate Single Cloud Agent.
Sample: Activate Single Cloud Agent for ETM IdentitySample: Activate Single Cloud Agent for ETM Identity
The following sample illustrates activating a single Cloud Agent for ETM Identity (ID).
API Request
curl -u fo_username:password -X POST
-H "Content-Type: text/xml" -H "X-Requested-With: curl" --data-binary @single_activation.xml "<qualys_base_url>/qps/rest/2.0/activate/am/asset/5808297?module=AGENT_VM, AGENT_MTG, AGENT_ID"
Note: “file.xml” contains the request POST data.
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest></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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>1</count>
<data>
<Asset>
<id>5808297</id>
<name>username</name>
<created>2024-09-22T11:45:38Z</created>
<modified>2026-04-21T21:14:26Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>1835835</id>
<name>Tag name 1</name>
</TagSimple>
<TagSimple>
<id>2327817</id>
<name>Tag name 2</name>
</TagSimple>
<TagSimple>
<id>1828415</id>
<name>Cloud Agent</name>
</TagSimple>
<TagSimple>
<id>2079439</id>
<name>Tag name 3</name>
</TagSimple>
<TagSimple>
<id>1855817</id>
<name>Tag name 4</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>
Activate Cloud Agents in BulkActivate Cloud Agents in Bulk
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/activate/am/asset?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support activating multiple Cloud Agents for ETM Identity, we introduced the new value AGENT_ID for the module parameter. To learn more about activating multiple Cloud Agents using API, refer to Activate Multiple Cloud Agents.
Sample: Activate Multiple Cloud Agents for ETM IdentitySample: Activate Multiple Cloud Agents for ETM Identity
The following sample illustrates activating multiple Cloud Agents for ETM Identity.
API Request
curl -u fo_username:password -X POST -H "Content-Type: text/xml" -H "Cache-Control: no-cache" --data-binary @activate_all_agents.xml
"<qualys_base_url>/qps/rest/2.0/activate/am/asset?module=AGENT_VM,AGENT_FIM, AGENT_MTG, AGENT_ID"
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest>
<filters>
<Criteria field="tagName" operator="EQUALS">Cloud Agent</Criteria>
</filters>
</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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>3</count>
<data>
<Asset>
<id>712038</id>
<name>192.168.1.12</name>
<created>2014-06-18T16:54:50Z</created>
<modified>2014-06-18T16:54:51Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532638</id>
<name>10.40.2.176</name>
<created>2015-04-17T13:32:48Z</created>
<modified>2015-05-14T14:06:03Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532838</id>
<name>local IP agent</name>
<created>2017-04-19T13:52:08Z</created>
<modified>2018-02-05T12:26:48Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
<TagSimple>
<id>217325</id>
<name>Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>
Deactivate Single Cloud AgentDeactivate Single Cloud Agent
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/deactivate/am/asset/<id>?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support deactivating a single Cloud Agent for ETM Identity, we introduced the new value AGENT_ID for the module parameter. To learn more about deactivating a single Cloud Agent using API, refer to Deactivate Single Cloud Agent.
Sample: Deactivate Single Cloud Agent for ETM IdentitySample: Deactivate Single Cloud Agent for ETM Identity
The following sample illustrates deactivating a single Cloud Agent for ETM Identity.
API Request
curl -u fo_username:password -X POST
-H "Content-Type: text/xml" --data-binary @single_deactivation.xml
"<qualys_base_url>/qps/rest/2.0/deactivate/am/asset/5214017?module=AGENT_VM, AGENT_ID"
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest> </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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>1</count>
<data>
<Asset>
<id>5214017</id>
<name>113080-T450</name>
<created>2017-04-12T07:23:41Z</created>
<modified>2017-04-19T07:07:12Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>7584632</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>undefined</ServiceResponse>
Deactivate Cloud Agents in BulkDeactivate Cloud Agents in Bulk
| New or Updated | Updated |
| API Endpoint | /qps/rest/2.0/deactivate/am/asset?module=<value1>,<value2> |
| Method | POST |
| DTD or XSD Changes | No |
To support deactivating multiple Cloud Agents for ETM Identity, we introduced the new value AGENT_ID for the module parameter. To learn more about deactivating multiple Cloud Agents using the API, refer to Deactivate Multiple Cloud Agents.
Sample: Deactivate Multiple Cloud Agents for ETM IdentitySample: Deactivate Multiple Cloud Agents for ETM Identity
The following sample illustrates deactivating multiple Cloud Agents for ETM Identity.
API Request
curl -u fo_username:password -X POST -H "Content-Type: text/xml"
-H "Cache-Control: no-cache" --data-binary @deactivate_all_agents.xml
"<qualys_base_url>/qps/rest/2.0/deactivate/am/asset?module=AGENT_VM,AGENT_FIM,AGENT_ID"
API Request Body
<?xml version="1.0" encoding="UTF-8" ?>
<ServiceRequest>
<filters>
<Criteria field="tagName" operator="EQUALS">Cloud Agent</Criteria>
</filters>
</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/2.0/am/asset.xsd">
<responseCode>SUCCESS</responseCode>
<count>3</count>
<data>
<Asset>
<id>712038</id>
<name>192.168.1.12</name>
<created>2018-06-18T16:54:50Z</created>
<modified>2018-06-18T16:54:51Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532638</id>
<name>10.xx.xx.176</name>
<created>2018-04-17T13:32:48Z</created>
<modified>2018-05-14T14:06:03Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
<Asset>
<id>2532838</id>
<name>local IP agent</name>
<created>2017-04-19T13:52:08Z</created>
<modified>2018-02-05T12:26:48Z</modified>
<type>HOST</type>
<tags>
<list>
<TagSimple>
<id>509525</id>
<name>Cloud Agent</name>
</TagSimple>
<TagSimple>
<id>217325</id>
<name>Agent</name>
</TagSimple>
</list>
</tags>
<sourceInfo>
<list>
<AssetSource/>
</list>
</sourceInfo>
</Asset>
</data>
</ServiceResponse>
Issues Addressed
There are no important and notable issues for this release.
UI Release Notes: Enterprise TruRisk™ Platform Release 3.24