Container Security Release 1.40 API

September 22, 2025

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 these API Release Notes, <qualys_base_url> is mentioned in the sample API requests. 

With the Container Security 1.40 release, the following enhancements in APIs are made.

New Report Template - Compliance

With this release, Qualys Container Security has introduced a new report template - Compliance for your K8s Posture evaluation. To support this enhancement, the following APIs are updated.

Updated API: Fetch a List of Reports in Your Account

New or Updated APIs Updated
API Endpoint (New version) /csapi/v1.3/reports
Method GET
DTD XSD Changes No
Sample: Fetch a List of Reports in Your AccountSample: Fetch a List of Reports in Your Account

API Request

    curl -X 'GET' \
  '<qualys_base_url>/csapi/v1.3/reports?pageNumber=1&pageSize=50&sort=status%3Adesc' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <token>'  

API Response 
In the response below, see the new 'templateName' - CS_KUBERNETES_POSTURE - and 'displayColumns' values such as cid, controlName and so on which were used while creating a Compliance report.

    {
  "data": [
    {
      "reportUuid": "4c90c260-71b5-11f0-92c4-d75b653a5a10",
      "createdAt": "2025-08-05T04:33:13.000Z",
      "reportName": "Test",
      "description": null,
      "fileFormat": "csv",
      "templateName": "CS_KUBERNETES_POSTURE",
      "status": "COMPLETED",
      "isScheduled": 0,
      "filter": null,
      "displayColumns": [
        "cid",
        "controlName",
        "controlCriticality",
        "resourceType",
        "resourceName",
        "status",
        "clusterName",
        "version",
        "evidence",
        "remediationPath",
        "remediation",
        "firstScanned",
        "lastScanned"
      ],
      "expireOn": "2025-08-12T04:33:13.000Z",
      "emailNotification": 0,
      "recipient": "",
      "emailSubject": "",
      "customMessage": "",
      "sendAsAttachment": 0,
      "fileZipped": 0,
      "expireAfter": 7
    }
  ],
  "count": 1
}           

 

Updated API: Create a Report Request

New or Updated APIs Updated
API Endpoint (New version) /csapi/v1.3/reports
Method POST
DTD XSD Changes No
Input ParametersInput Parameters

The Input Parameters below show the updated parameter used for creating a report request.

Parameter

Mandatory/Optional

Data Type

Description

displayColumns Optional string Specify the columns to include in the report. Multiple columns should be comma-separated. The following column values are applicable.
cid, controlName, controlCriticality, resourceType, resourceName, status, clusterName, version, evidence, remediationPath, remediation, firstScanned, lastScanned 
templateName Mandatory string Specify the name of the report template.
With this release, 'CS_KUBERNETES_POSTURE' report template is supported.
Sample: Create a Report Request Sample: Create a Report Request 

API Request to create a report

In the request below, see the new 'templateName' - CS_KUBERNETES_POSTURE - and 'displayColumns' values which are used to create a Compliance report.

   curl -X 'POST' \
  '<qualys_base_url>/csapi/v1.3/reports' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "description": "API test",
  "name": "Test2",
  "filter": null,
  "displayColumns": [
    "controlCriticality",
    "cid",
    "controlName",
    "resourceType"
  ],
  "templateName": "CS_KUBERNETES_POSTURE",
  "expireAfter": "1",
  "zip": "0",
  "emailNotification": "0",
  "sendAsAttachment": "0",
  "recipient": "[email protected]",
  "emailSubject": "Test email subject",
  "customMessage": ""
}' 

API Response 

    { 
"reportUuid": "095ef510-71b6-11f0-85b5-6d2c994600cb" 
}

 

Updated API: Create a Report Schedule

New or Updated APIs Updated
API Endpoint (New version) /csapi/v1.3/reports/schedule
Method POST
DTD XSD Changes No
Input ParametersInput Parameters

The following table shows the updated or new input parameters.

Parameter

Mandatory/Optional

Data Type

Description

displayColumns Optional string Specify the columns to include in the report schedule. Multiple columns should be comma-separated. The following column values are applicable.
cid, controlName, controlCriticality, resourceType, resourceName, status, clusterName, version, evidence, remediationPath, remediation, firstScanned, lastScanned 
templateName Mandatory string Specify the name of the report template.
With this release, 'CS_KUBERNETES_POSTURE' report template is supported.
Sample: Create a Report ScheduleSample: Create a Report Schedule

API Request

    curl -X 'POST' \
  '<qualys_base_url>/csapi/v1.3/reports/schedule' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Test4",
  "description": "",
  "templateName": "CS_KUBERNETES_POSTURE",
  "filter": null,
  "reportScheduleDetails": {
    "recurrenceType": "DAILY",
    "selectedDayOfWeeks": null,
    "monthlyType": null,
    "ordinalDayOfMonth": 1,
    "dayOfWeek": null,
    "ordinalDayOfWeek": null
  },
  "expireAfter": 7,
  "displayColumns": null,
  "zip": 0,
  "emailNotification": 1,
  "sendAsAttachment": 0,
  "customMessage": "",
  "recipient": "",
  "emailSubject": "",
  "eventEndTime": "2025-08-06T11:14:00Z",
  "action": "CREATE",
  "eventTime": "2025-08-05T04:50:00Z"
}'
    

API Response

    {
  "scheduleUuid": "13dd4ef0-71b7-11f0-85b5-6d2c994600cb"
} 

 

Updated API: Update an Active Report Schedule

New or Updated APIs Updated
API Endpoint (New version) /csapi/v1.3/reports/schedule/{reportingScheduleID}
Method PUT
DTD XSD Changes No
Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

displayColumns Optional string Specify the columns to include in the report. Multiple columns should be comma-separated. The following column values are applicable.
cid, controlName, controlCriticality, resourceType, resourceName, status, clusterName, version, evidence, remediationPath, remediation, firstScanned, lastScanned 
Sample: Update an Active Report ScheduleSample: Update an Active Report Schedule

API Request

    curl -X 'PUT' \
  '<qualys_base_url>/csapi/v1.3/reports/schedule/13dd4ef0-71b7-11f0-85b5-6d2c994600cb' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "filter": null,
  "displayColumns": [
    "controlCriticality",
    "evidence",
    "controlName"
  ],
  "expireAfter": "30",
  "eventEndTime": "2026-08-05T04:47:07.577Z",
  "eventTime": "2025-08-05T04:55:07.577Z",
  "reportScheduleDetails": {
    "recurrenceType": "DAILY",
    "selectedDayOfWeeks": null,
    "monthlyType": null,
    "ordinalDayOfMonth": 1,
    "dayOfWeek": null,
    "ordinalDayOfWeek": null
  },
  "zip": "0",
  "emailNotification": "0",
  "sendAsAttachment": "0",
  "recipient": "",
  "emailSubject": "Test email subject",
  "customMessage": ""
}' 
    

API Response

{
  "message": "Details updated successfully for reportScheduleId 13dd4ef0-71b7-11f0-85b5-6d2c994600cb"
} 

 

Policy Tag Support for Centralized Policies

In this phase of Centralized Policy Management, you can get a list of all centralized policies based on a policy tag. To support this, Qualys Container Security has introduced a new filter value - policy.tags.name:<tag name>.

Updated API: Show a List of Centralized Policies

New or Updated APIs Updated
API Endpoint (New version) /csapi/v1.3/centralizedPolicy
Method GET
DTD XSD Changes No
Input ParametersInput Parameters

The Input Parameters below show the updated parameters used for showing a list of Centralized Policies.

Parameter

Mandatory/Optional

Data Type

Description

filter Optional string Indicates the policy tag name assigned to the centralized policies.
New value:
policy.tags.name: <tag name>
Sample: Show a List of Centralized PoliciesSample: Show a List of Centralized Policies

API Request

    curl -X 'GET' \  
'<qualys_base_url>/csapi/v1.3/centralizedPolicy?filter=policy.tags.name:"tag a1"&pageNumber=1&pageSize=50&sort=created%3Adesc'\ 
-H 'accept: application/json' \  
-H 'Authorization: Bearer <token> 

API Response 

    {  "data": 
[   {   "uuid": "279d9326-9e11-4d32-a8ff-b0480efb521e",      
        "policyName": "test1",      
        "description": "",      
        "policyMode": "ACTIVE",      
        "createdBy": "john_doe",      
        "created": "1751350525902",      
        "updatedBy": "john_doe",      
        "updated": "1751350525902",      
        "policyType": "CICD",      
        "isDefault": false,      
        "assignedTags": [        
{       "uuid": "3b0ce1e8-eef0-4c6b-90a3-7d2ec4b1ffa2",          
        "id": 153722692,          
        "name": "tag a1",          
        "backgroundColor": "#000000",          
        "foregroundColor": "#000000",          
        "icon": "",          
        "criticalityScore": 0,          
        "tagType": null        
}      
]    
}  ],  
"count": 1,  
"groups": {},  
"aggs": null
}