Policy Audit Release 1.16 API
September 1, 2026
In the API Release Notes, <qualys_base_url> and <gateway_base_url> is used as a sample API request to represent the API server URL. To learn more about the API server URL for your environment, refer to the Know Your Qualys API Server URL section.
We have implemented versioning for APIs. For more information on API versioning, refer to the Updates on API Versioning Standards & Deprecation Timelines blog.
Update and Delete Report Template APIs
In the previous release, we have introduced the report template APIs that enable you to list, retrieve, and create compliance report templates. With this release , you can also perform the update and delete action using Report Template APIs.
Perform Update and Delete Operations Using Report Template APIs
| New or Updated API | New |
| API Endpoint | /pcrs/1.0/report/template/ |
| Method | PUT |
Update all report templates - policy report, scorecard report, mandate report, and STIG based report templates.
The template type cannot be changed when updating a report template.
Sample - Update policy report templateSample - Update policy report template
API Request
curl --location --request PUT '<gateway_base_url>/pcrs/1.0/report/template/4719681' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"title": "Policy Report Template Update",
"isGlobal": true,
"settings": {
"include_posture_status": "7",
"include_report_summary": "true",
"include_host_stats": "true",
"include_report_details": "true",
"include_control_rationale": "true",
"include_control_evidence": "true",
"include_control_ext_evidence": "true",
"include_control_exceptions": "true",
"include_exceptions_history": "true",
"include_host_summary": "true",
"include_appendix": "true",
"include_control_scan_parameter": "true",
"trend_duration": "30",
"include_asset_tag": "true",
"include_section_details": "false",
"include_category_details": "false",
"include_pa_report_trurisk": "0",
"include_scan_source_details": "0",
"include_control_previous_posture": "true",
"include_failed_control_remediation": "true",
"include_errored_control_remediation": "true",
"include_control_not_expected_values": "true",
"include_control_required_values": "true",
"report_group_by": "group_by_hosts",
"report_sort_by": "sort_by_ip"
}
}'
JSON Response
{
"templateId": 4719681,
"title": "Policy Report Template Update",
"type": "policy",
"isGlobal": true,
"owner": "quays_zd38",
"createdAt": "2026-08-25T12:04:03Z",
"settings": {
"include_posture_status": "7",
"include_report_summary": "true",
"include_host_stats": "true",
"include_report_details": "true",
"include_control_rationale": "true",
"include_control_evidence": "true",
"include_control_ext_evidence": "true",
"report_group_by": "group_by_hosts",
"report_sort_by": "sort_by_ip",
"include_control_exceptions": "true",
"include_exceptions_history": "true",
"include_host_summary": "true",
"include_appendix": "true",
"include_control_scan_parameter": "true",
"trend_duration": "30",
"include_asset_tag": "true",
"include_section_details": "false",
"include_category_details": "false",
"include_pa_report_trurisk": "0",
"include_scan_source_details": "0",
"include_control_previous_posture": "true",
"include_failed_control_remediation": "true",
"include_errored_control_remediation": "true",
"include_control_not_expected_values": "true",
"include_control_required_values": "true"
}
}
Sample - Update scorecard report templateSample - Update scorecard report template
API Request
curl --location --request PUT '<gateway_base_url>/pcrs/1.0/report/template/4719684' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"title": "Scorecard Report Template Update",
"isGlobal": true,
"settings": {
"include_change_by_policy": "true",
"include_summary": "true",
"include_overall_by_policy": "true",
"include_change_by_policy_asset": "true",
"include_change_by_policy_tech": "true",
"include_overall_by_asset": "true",
"include_change_by_asset": "true",
"include_change_by_asset_policy": "true",
"include_change_by_asset_tech": "true",
"include_overall_by_tech": "true",
"include_change_by_tech": "true",
"include_top_host_change": "true",
"include_top_control_change": "true",
"include_criticality": "true",
"include_fail_by_criticality": "true",
"include_overall_by_criticality": "true",
"include_change_by_criticality": "true",
"include_change_by_criticality_policy": "true",
"include_change_by_criticality_asset": "true",
"include_change_by_criticality_tech": "true",
"include_failed_controls_by_criticality": "true",
"compliance_scorecard_report_timeframe": "30",
"compliance_scorecard_report_display": "10",
"compliance_scorecard_report_failed_controls_display": "5"
}
}'
JSON Response
{
"templateId": 4719684,
"title": "Scorecard Report Template Update",
"type": "cm_score",
"isGlobal": true,
"owner": "quays_zd38",
"createdAt": "2026-08-25T12:07:17Z",
"settings": {
"include_summary": "true",
"include_overall_by_policy": "true",
"include_change_by_policy": "true",
"include_change_by_policy_asset": "true",
"include_change_by_policy_tech": "true",
"include_overall_by_asset": "true",
"include_change_by_asset": "true",
"include_change_by_asset_policy": "true",
"include_change_by_asset_tech": "true",
"include_overall_by_tech": "true",
"include_change_by_tech": "true",
"include_top_host_change": "true",
"include_top_control_change": "true",
"include_criticality": "true",
"include_fail_by_criticality": "true",
"include_overall_by_criticality": "true",
"include_change_by_criticality": "true",
"include_change_by_criticality_policy": "true",
"include_change_by_criticality_asset": "true",
"include_change_by_criticality_tech": "true",
"include_failed_controls_by_criticality": "true",
"compliance_scorecard_report_timeframe": "30",
"compliance_scorecard_report_display": "10",
"compliance_scorecard_report_failed_controls_display": "5"
}
}
Sample - Update mandate report templateSample - Update mandate report template
API Request
curl --location --request PUT '<gateway_base_url>/pcrs/1.0/report/template/4719688' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"title": "Mandate Report Template Update",
"isGlobal": true,
"settings": {
"report.settings": "true",
"report.summary": "true",
"graph.mandate": "true",
"graph.requirement": "true",
"graph.policy": "true",
"details": "true",
"control.posture": "true",
"glossary": "true",
"include_posture_status": "0,1,2",
"include_control_criticality": "0,1,2,3,4,5",
"group.by": "1",
"filter.policy.controls": "true"
}
}'
JSON Response
{
"templateId": 4719688,
"title": "Mandate Report Template Update",
"type": "mandate",
"isGlobal": true,
"owner": "quays_zd38",
"createdAt": "2026-08-25T12:10:26Z",
"settings": {
"group.by": "1",
"filter.policy.controls": "true",
"report.settings": "true",
"report.summary": "true",
"graph.mandate": "true",
"graph.requirement": "true",
"graph.policy": "true",
"details": "true",
"control.posture": "true",
"glossary": "true",
"include_posture_status": "0,1,2",
"include_control_criticality": "0,1,2,3,4,5"
}
}
Sample - Update STIG based report templateSample - Update STIG based report template
API Request
curl --location --request PUT '<gateway_base_url>/pcrs/1.0/report/template/4719689' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"title": "Stig Based Report Template Update",
"isGlobal": true,
"settings": {
"include_severity": "1,2,3",
"rule_statistics": "true",
"compliant_rule_stats_by_severity": "true",
"report_details": "true",
"host_statistics": "true",
"net_bios": "true",
"tracking_method": "true",
"dns": "true",
"operating_system": "true",
"network": "true",
"group.by": "1",
"include_posture": "0,1,1000",
"instance": "true",
"for_passed_control": "true",
"for_error_control": "true",
"control_rationale": "true",
"evidence": "true",
"extended_evidence": "true",
"for_failed_control": "true",
"rule_description": "true",
"rule_posture": "true",
"cci": "true",
"vuln_description": "true",
"vuln_posture": "true",
"glossary": "true",
"appendix": "true"
}
}'
JSON Response
{
"templateId": 4719689,
"title": "Stig Based Report Template Update",
"type": "stig",
"isGlobal": true,
"owner": "quays_zd38",
"createdAt": "2026-08-25T12:12:40Z",
"settings": {
"instance": "true",
"for_passed_control": "true",
"for_error_control": "true",
"control_rationale": "true",
"evidence": "true",
"extended_evidence": "true",
"for_failed_control": "true",
"rule_description": "true",
"rule_posture": "true",
"cci": "true",
"vuln_description": "true",
"vuln_posture": "true",
"glossary": "true",
"appendix": "true",
"group.by": "1",
"include_posture": "0,1,1000",
"include_severity": "1,2,3",
"rule_statistics": "true",
"compliant_rule_stats_by_severity": "true",
"report_details": "true",
"host_statistics": "true",
"net_bios": "true",
"tracking_method": "true",
"dns": "true",
"operating_system": "true",
"network": "true"
}
}
Delete Report Template
| New or Updated API | New |
| API Endpoint | /pcrs/1.0/report/template/{id} |
| Method | DELETE |
Delete report templates.
Input ParametersInput Parameters
| Parameter Name | Required / Optional | Data Type | Description |
| id | Required | Integer | Enter the template ID for which details are to be deleted. |
Sample - Delete a single templateSample - Delete a single template
API Request
curl --location --request DELETE '<gateway_base_url>/pcrs/1.0/report/template/4717904' \
--header 'accept: */*' \
--header 'Authorization: Bearer <token>'
JSON Response
{
"deleted": [
{
"templateId": 4717904,
"title": "RobotSanity_PTemplate_ControlChaining_20260824_0613"
}
],
"message": "Successfully deleted 1 template(s)"
}
Sample - Deletion of multiple templatesSample - Deletion of multiple templates
API Request
curl --location --request DELETE '<gateway_base_url>/pcrs/1.0/report/template/4710850,4710067,4660254' \
--header 'accept: */*' \
--header 'Authorization: Bearer <token>'
JSON Response
{
"deleted": [
{
"templateId": 4710850,
"title": "RobotSanity_PTemplate_ControlChaining_20260820_0613"
},
{
"templateId": 4710067,
"title": "RobotSanity_PTemplate_ControlChaining_20260819_0613"
},
{
"templateId": 4660254,
"title": "STIG Benchmark Report10"
}
],
"message": "Successfully deleted 3 template(s)"
}
Issues Addressed
The following reported and notable customer issues are fixed in this release:
| Component/Category | Description |
| PA - API | When the user updated a PostgreSQL Authentication record using the /api/3.0/fo/auth/postgresql/ API, the API call returned a successful response, but the specified IP address was not added to the Authentication record. The issue occurred when the 'tag support' feature was enabled and the API request did not specify an asset type. Relevant code changes have been made to fix the issue. |