CyberSecurity Asset Management/Global AssetView Release 3.7.1.0 API
March 26, 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. For this API Release Notes, <qualys_base_url> is mentioned in the sample API requests.
Import Third-Party Assets with Source Timestamps
The Import Third-Party Assets API is enhanced to import assets into your inventory using the timestamp details of when the third-party source discovered the asset. To support this capability, we have introduced the following two new input parameters:
| Parameter | Mandatory/ Optional |
Data Type | Description |
|---|---|---|---|
| sourceCreatedDate | Optional | String | Date when the asset was created by the third-party source. |
| sourceLastUpdatedDate | Optional | String | Date when the asset was last updated by the third-party source. |
Updated API: Import Third-Party Assets API
| New or Updated API | Updated |
| API Endpoint | /rest/2.0/am/connector/asset/data/sync |
| Method | POST |
| DTD or XSD changes | Not Applicable |
Use this API to import assets from a third-party source based on the source timestamp details.
Sample: Import third-party assetSample: Import third-party asset
API Request
curl -X POST
'<qualys_base_url>/rest/2.0/am/connector/asset/data/sync'
--header 'Authorization: Bearer <JWT Token>'
--header 'Content-Type: application/json'
--data-raw '<JSON payload>'
Sample JSON Payload
{
"connectorMetaData": {
"requestId": "6562e033-8456-4c13-989f-7f4f6fc67e3b1758694084",
"connectorUuid": "489e8429-2e82-4599-a2a8-xxxxxxxxxxxx",
"source": "SNOW"
},
"assetData": [
{
"identityAttributes": {
"hostName": "<sample hostname>",
"fqdn": null,
"ipAddress": [
"xx.xx.xx.xx"
],
"netBiosName": null,
"macAddress": null,
"hardwareUuid": null,
"serialNumber": null,
"sourceNativeKey": "xxxxx-xxx"
},
"coreAttributes": {
"lastLoggedOnUser": "Username",
"netBiosName": null,
"hostName": "<sample hostname>",
"fqdn": null,
"address": "xx.xx.xx.xx",
"biosInfo": {
"biosDescription": "Phoenix Technologies LTD 6.00",
"manufacturer": "",
"totalMemory": 8192,
"timeZone": "+5:30",
"model": "VMware Virtual Platform",
"serialNumber": null,
"biosAssetTag": "NoAssetTag",
"hardwareUuid": null
},
"softwares": [
{
"name": "Microsoft windows 11",
"version": "2011"
}
],
"sourceLastUpdatedDate": 1768473175000,
"sourceCreatedDate": 1768473175000,
"processor": {
"description": "intel",
"speed": "64",
"numberOfCpu": 2
},
"customConnectorAttributes": {
"key1": "New",
"key2": "New2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
},
"businessMetaData": {
"status": "Running",
"environment": "Development",
"company": "Qualys",
"department": "CSAM",
"ownedBy": "User",
"managedBy": "User",
"supportedBy": "User",
"supportGroup": "Application"
},
"assignedLocation": {
"name": "eela",
"street": "punawale",
"city": "pune",
"state": "maharastra",
"zip": "411033",
"country": "india",
"latitude": "18.6298° N",
"longitude": "73.7997° E"
},
"networkInterfaces": [
{
"interfaceName": "Primary network interface",
"macAddress": null,
"address": "xx.xx.xx.xx",
"hostName": "T490",
"ipv4Address": [
"xx.xx.xx.xx"
],
"type": "PUBLIC"
}
],
"ports": [
{
"port": "8080",
"protocol": "TCP",
"detectedService": "",
"description": "TCP port"
}
],
"services": [
{
"name": "Services",
"description": "xyz",
"status": "ACTIVE"
}
],
"volumes": [
{
"name": "c",
"size": "100",
"free": "10"
}
],
"accounts": [
{
"username": "username"
}
],
"businessApps": 608042025011
}
}
]
}
API Response
{
"message": "All Assets are successfully published for sync.",
"responseCode": "SUCCESSFULLY_PUBLISHED",
"assetsError": {}
}
Get Software Components using Time-based Filters
You can now get a list of software components based on when they were first or last detected by the system. We have enhanced the Get List of All Software Components API to support the following new input filters:
| Input Filter | Mandatory/ Optional |
Data Type | Description |
|---|---|---|---|
| component.firstFoundDate | Optional | String | Provide the component's first found date.
Supported Date format:
|
| component.lastFoundDate | Optional | String | Provide the date when the component was last found.
Supported Date format:
|
Updated API: Get List of All Software Components
| New or Updated API | Updated |
| API Endpoint | /rest/2.0/am/asset/component |
| Method | POST |
| DTD or XSD changes | Not Applicable |
Use this API to get software components by their first found and last found dates.
Sample: Get the list of software componentsSample: Get the list of software components
API Request
curl X POST
<qualys_base_url>/rest/2.0/am/asset/component?pageSize=500
--header 'Authorization: Bearer <JWT Token>'
--header 'Content-Type: application/json'
--data-raw '<filter>'
API Request Body with time-based filter: component.firstFoundDate
"componentFilter": {
"filters": [
{
"value": "2025-10-14 06:04:15",
"field": "component.firstFoundDate",
"operator": "EQUALS"
}
],
"operation": "AND"
}
API Request Body with time-based filter: component.lastFoundDate
"componentFilter": {
"filters": [
{
"value": "2025-10-18 06:21:51",
"field": "component.lastFoundDate",
"operator": "LESS_THAN_EQUAL"
},
{
"value": "2024-12-19",
"field": "component.lastFoundDate",
"operator": "GREATER"
}
],
"operation": "AND"
}
API Response
{
"responseMessage": "Valid API Access",
"count": 4,
"responseCode": "SUCCESS",
"hasMore": 1,
"lastAssetComponentId": 1735285554060,
"assetComponentsList": [
{
"assetId": 40338595,
"component": {
"assetComponentId": 1735285554050,
"name": "apache-common-utils",
"version": "1.1",
"technology": ".NET",
"installPath": "install_path",
"firstFoundAt": "2025-10-14 06:04:15",
"lastFoundAt": "2025-10-18 06:21:51"
}
},
...
{
"assetId": 51449686,
"component": {
"assetComponentId": 1735285554060,
"name": "apache-common-utils",
"version": "2.2",
"technology": ".NET",
"installPath": "install_path",
"firstFoundAt": "2025-10-14 06:04:15",
"lastFoundAt": "2025-10-18 06:21:51"
}
}
]
}
Report Creation using API
We have introduced a new API to create the External Attack Surface Management (EASM) Summary Report. You can specify filters, asset scope, report format, and notification settings to create the report and receive notifications when it is generated.
This API only supports creating the EASM Summary Report.
New API: Create Reports API
| New or Updated API | New |
| API Endpoint | /rest/2.0/am/report |
| Method | POST |
| DTD or XSD changes | Not Applicable |
Use this API to create an EASM Summary Report.
Input ParametersInput Parameters
| Parameter | Mandatory/ Optional |
Data Type | Description |
|---|---|---|---|
| name | Mandatory | String | Name of the report to be created. |
| description | Optional | String | Description for the report. |
| timezone | Optional | String | Time zone used for report generation. |
| format | Mandatory | String | Output format of the report (for example, PDF). |
| templateName | Mandatory | String | Name of the report template used to generate the EASM report. |
| query | Optional | String | Query used to filter assets for the report. |
| filter | Optional | String | Filter used to refine assets included in the report. |
| reportType | Mandatory | String | Type of report to be generated. For EASM reports, use EASM_LEAD. |
| resourceTag | Optional | String | Resource tag used to scope report data. |
| assetList | Optional | String | Comma-separated list of asset IDs to include in the report. |
| tagList | Optional | String | Comma-separated list of tag IDs used to filter assets. |
| includeMatchType | Optional | String | Defines how included tags are matched. Supported values include Any or All. |
| excludeMatchType | Optional | String | Defines how excluded tags are matched. Supported values include Any or All. |
| excludeTagIds | Optional | String | Comma-separated list of tag IDs to exclude from the report. |
| softwareTypes | Optional | String | Software types used for filtering report data. |
| selectedSwType | Optional | String | Specifies selected software types. Example: all. |
| groupByPivot | Optional | String | Defines grouping of report data. Example: ALL. |
| riskScoreAdded | Optional | Boolean | Indicates whether risk score data should be included in the report. |
| hasVMDRAndRisk ScoreEnabled |
Optional | Boolean | Indicates whether VMDR and risk score features are enabled. |
| recipient | Optional | String | Email address of the report recipient. |
| emailSubject | Optional | String | Subject line used for the report email notification. |
| customMessage | Optional | String | Custom message included in the email notification. |
| notificationType | Optional | String | Notification method used when the report is generated. Example: email. |
| emailNotification | Optional | String | Indicates whether email notification is enabled (1 for enabled). |
| maxNumberOfDownloads | Optional | Integer | Maximum number of times the generated report can be downloaded. |
| customEmailTemplate | Optional | String | Custom email template used for notifications. |
| useReportName AsFilename |
Optional | String | Indicates whether the report name should be used as the file name. |
| displayTemplateName | Optional | String | Display name of the report template. |
| generatedFor | Optional | String | Specifies the name of the user for whom the report is generated. |
Sample: Create EASM Summary ReportSample: Create EASM Summary Report
API Request
curl X POST
--<qualys_base_url>/rest/2.0/am/report
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json'
--data '{
"name": "EASM Summary Report",
"description": "EASM SUMMARY REPORT",
"timezone": "Asia/Calcutta",
"format": "PDF",
"templateName": "ITAM_EASM_REPORT_TEMPLATE",
"filter": "asset.riskScore>90",
"reportType": "EASM_LEAD",
"assetList": "78427696,78140051",
"tagList": "52213635",
"includeMatchType": "Any",
"excludeMatchType": "Any",
"excludeTagIds": "47656726",
"selectedSwType": "all",
"groupByPivot": "ALL",
"riskScoreAdded": true,
"hasVMDRAndRiskScoreEnabled": true,
"recipient": "[email protected]",
"emailSubject": "emailSubject",
"customMessage": "email",
"notificationType": "email",
"emailNotification": "1",
"maxNumberOfDownloads": 1073741824,
"useReportNameAsFilename": "1",
"displayTemplateName": "EASM_LEAD",
"generatedFor": "EASM"
}'
API Response
{
"data": {
"fileUuid": "f5fde510-1b8a-11f1-a10e-63ad41ec1bb5"
},
"message": "Request successfully created.",
"error": null
}