Policy Audit Release 1.17 API

October 6, 2026

This release adds update and delete support to the Report Template APIs, so you can now modify or remove existing policy, scorecard, mandate, and STIG report templates via the API. You can also launch STIG based reports and filter the report list by report type using the Report APIs. In addition, you can create IBM DB2 and PostgreSQL system record templates and assign them to compliance option profiles to automatically create authentication records for discovered database instances.

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.

New Feature

Reports API: Launch and List STIG Based Reports Using Report APIs

What's New for You

You can now launch STIG based reports using the Launch Report API and filter the report list by report type using the List Reports API.

The Launch Report API (V3.0) now supports STIG based report type, so you can generate STIG reports on a STIG-based policy. In addition, the List Reports API (V3.0) supports a new report_type parameter that lets you filter the report list by one or more report types, including STIG based reports.

Launch STIG Based Report

New or Updated API Updated
API Endpoint /api/3.0/fo/report/?action=launch
Method POST
DTD or XSD changes No

Launch a STIG based report on a STIG-based policy. The following new input parameters are supported for the STIG-based report.


- The Launch Report API for STIG reports is available only with one of the following subscription combinations - PA and API add-on; PA, SCA, and API add-on; or VMDR, SCA, and API add-on.
- STIG reports are supported in CSV format only.
- The template_id parameter must reference a STIG-based report template.
- STIG reports appear in the List Reports API output with <TYPE>Compliance</TYPE>. To list only STIG reports, use report_type=Stig with the List Reports API.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
report_type=Stig Optional String Specify the report type as Stig. If you do not specify a value, the report type defaults to the value configured in the report template.
policy_id={value} Required Integer Specifies the STIG-based policy to run the report.
ips={value} Optional Integer Specify IPs/ranges to be included in your report. Multiple entries are comma-separated.

You can specify IPs and/or asset_group_ids, or asset tags.

asset_group_ids={value} Optional Integer Specify asset group IDs. Multiple asset group IDs are comma separated. 

You can specify IPs and/or asset_group_ids, or asset tags.

Sample - Launch STIG based reportSample - Launch STIG based report

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=launch&template_id=123456&report_type=Stig&policy_id=78901&output_format=csv&report_title=STIG Report - DMZ Servers&ips=10.xx.xx.0-10.xx.xx.xx5" \
"<qualys_base_url>/api/3.0/fo/report/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/3.0/fo/simple_return.dtd">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2026-09-25T14:30:00Z</DATETIME>
<TEXT>New report launched</TEXT>
<ITEM_LIST>
<ITEM>
<KEY>ID</KEY>
<VALUE>12345678</VALUE>
</ITEM>
</ITEM_LIST>
</RESPONSE>
</SIMPLE_RETURN>

List Reports Filtered by Report Type

New or Updated API Updated
API Endpoint /api/3.0/fo/report/?action=list
Method GET
DTD or XSD changes No

Filter the report list by one or more report types using the new report_type input parameter.

When report_type is not specified, all report types are returned.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
report_type={value} Optional String Filter the report list by report type. Multiple comma-separated values are supported.
Reports matching any of the specified types are returned. Values are case-sensitive.
Valid values are: Scan, Map, Remediation, Patch, Compliance, Policy, Stig, Scorecard, and Authentication.
When report_type is not specified, all report types are returned.

Sample - List reports filtered by report typeSample - List reports filtered by report type

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
"<qualys_base_url>/api/3.0/fo/report/?action=list&report_type=Stig,Scorecard"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE REPORT_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/3.0/fo/report/report_list_output.dtd">
<REPORT_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-09-25T14:35:00Z</DATETIME>
<REPORT_LIST>
<REPORT>
<ID>12345678</ID>
<TITLE><![CDATA[STIG Report - DMZ Servers]]></TITLE>
<TYPE>Compliance</TYPE>
<USER_LOGIN>user_ab1</USER_LOGIN>
<LAUNCH_DATETIME>2026-09-25T14:30:00Z</LAUNCH_DATETIME>
<OUTPUT_FORMAT>CSV</OUTPUT_FORMAT>
<SIZE>245760</SIZE>
<STATUS>
<STATE>Finished</STATE>
</STATUS>
<EXPIRATION_DATETIME>2026-10-02T14:30:00Z</EXPIRATION_DATETIME>
</REPORT>
<REPORT>
<ID>12345123</ID>
<TITLE><![CDATA[Weekly Scorecard]]></TITLE>
<TYPE>Scorecard</TYPE>
<USER_LOGIN>user_cd2</USER_LOGIN>
<LAUNCH_DATETIME>2026-09-24T09:15:00Z</LAUNCH_DATETIME>
<OUTPUT_FORMAT>PDF</OUTPUT_FORMAT>
<SIZE>19.87 KB</SIZE>
<STATUS>
<STATE>Finished</STATE>
</STATUS>
<EXPIRATION_DATETIME>2026-10-01T09:15:00Z</EXPIRATION_DATETIME>
</REPORT>
</REPORT_LIST>
</RESPONSE>
</REPORT_LIST_OUTPUT>

New Feature

Authentication Records API: Support for IBM DB2 and PostgreSQL Instance Discovery and System Record Templates

What's New for You

You can now create, update, and list IBM DB2 and PostgreSQL system record templates using the Authentication Records API. You can also assign them to compliance option profiles so that authentication records are created automatically for discovered database instances.

With this release, IBM DB2 and PostgreSQL support database instance auto-discovery and system record creation, similar to the existing support for Oracle, MongoDB, and MySQL.

You can now create a system record template that holds the login credentials, assign the template to a compliance option profile, and enable authentication instance discovery. When a compliance scan discovers an IBM DB2 or PostgreSQL instance, a system-created authentication record is created or updated using the credentials from the selected template.


- IBM DB2 instance discovery is supported on Unix/Linux and Windows hosts.
- PostgreSQL instance discovery is supported on Unix/Linux hosts only.
- A system record template contains only the record title and login credentials. Instance-specific fields such as database name, port, and IPs are not supported for templates.

Input Parameters for IBM DB2 and PostgreSQL Record Templates

The following input parameters are supported for both the IBM DB2 and PostgreSQL Authentication Records APIs:

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
is_template={0|1} Optional Integer Applicable for the create action only. Set to 1 to create a system record template. When creating a template, specify the record title and the login credentials (basic or vault).
save_as_user_auth={0|1} Optional Integer Applicable for the update action only. Set to 1 to convert a system-created authentication record to a user-created record. Not valid for system record templates.
is_system_created={0|1} Optional Integer Applicable for the list action. Set to 0 to list only user-created records. Set to 1 to list only system-created records.
template_auth_id={value} Optional Integer Applicable for the list action. Lists the records created from the specified system record template ID.
template_auth_name={value} Optional String Applicable for the list action. Lists the records created from the specified system record template name.
status={0|1} Optional Integer Applicable for the list action. Set to 0 to list only inactive records. Set to 1 to list only active records.

IBM DB2 Record Template

New or Updated API Updated
API Endpoint /api/3.0/fo/auth/ibm_db2/
EOS Timeline: April 2027
EOL Timeline: October 2027
API Endpoint 
(New Version)
/api/4.0/fo/auth/ibm_db2/
Method GET and POST
DTD or XSD changes Yes

You can now create, update, and list IBM DB2 system record templates. The template credentials are used to create system authentication records for IBM DB2 instances discovered during compliance scans. For input parameters, refer to the common input parameters above.

Sample - Create IBM DB2 record templateSample - Create IBM DB2 record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=create&is_template=1&title=IBM_DB2_template_api&username=root&password=Password" \
"<qualys_base_url>/api/4.0/fo/auth/ibm_db2/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-05T06:58:10Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Created</TEXT>
<ID_SET>
<ID>13151837</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - Update IBM DB2 record templateSample - Update IBM DB2 record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=update&ids=13151837&title=IBM_DB2_template_api_update&username=root11&password=Password" \
"<qualys_base_url>/api/4.0/fo/auth/ibm_db2/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-05T07:13:40Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Updated</TEXT>
<ID_SET>
<ID>13151837</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - List IBM DB2 record templateSample - List IBM DB2 record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&ids=13151837" \
"<qualys_base_url>/api/4.0/fo/auth/ibm_db2/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE AUTH_IBM_DB2_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/4.0/fo/auth/ibm_db2/auth_ibm_db2_list_output.dtd">
<AUTH_IBM_DB2_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-10-05T09:40:58Z</DATETIME>
<AUTH_IBM_DB2_LIST>
<AUTH_IBM_DB2>
<ID>13151837</ID>
<TITLE><![CDATA[IBM_DB2_template_api_update]]></TITLE>
<USERNAME><![CDATA[root11]]></USERNAME>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<CREATED>
<DATETIME>2026-10-05T06:58:10Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-05T07:13:40Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_IBM_DB2>
</AUTH_IBM_DB2_LIST>
</RESPONSE>
</AUTH_IBM_DB2_LIST_OUTPUT>

Sample - List all IBM DB2 record templatesSample - List all IBM DB2 record templates

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&is_template=1" \
"<qualys_base_url>/api/4.0/fo/auth/ibm_db2/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE AUTH_IBM_DB2_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/4.0/fo/auth/ibm_db2/auth_ibm_db2_list_output.dtd">
<AUTH_IBM_DB2_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-10-05T09:41:57Z</DATETIME>
<AUTH_IBM_DB2_LIST>
<AUTH_IBM_DB2>
<ID>13129219</ID>
<TITLE><![CDATA[IBM DB2 - template 28]]></TITLE>
<USERNAME><![CDATA[admin]]></USERNAME>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<CREATED>
<DATETIME>2026-09-28T16:04:11Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-09-28T16:04:11Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_IBM_DB2>
<AUTH_IBM_DB2>
<ID>13147635</ID>
<TITLE><![CDATA[IBM DB2 template]]></TITLE>
<USERNAME><![CDATA[root]]></USERNAME>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<CREATED>
<DATETIME>2026-10-01T05:08:40Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-01T05:08:40Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_IBM_DB2>
<AUTH_IBM_DB2>
<ID>13148268</ID>
<TITLE><![CDATA[IBM DB2 template 2]]></TITLE>
<USERNAME><![CDATA[root]]></USERNAME>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<CREATED>
<DATETIME>2026-10-01T12:44:59Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-01T12:44:59Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_IBM_DB2>
<AUTH_IBM_DB2>
<ID>13151837</ID>
<TITLE><![CDATA[IBM_DB2_template_api_update]]></TITLE>
<USERNAME><![CDATA[root11]]></USERNAME>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<CREATED>
<DATETIME>2026-10-05T06:58:10Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-05T07:13:40Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_IBM_DB2>
</AUTH_IBM_DB2_LIST>
</RESPONSE>
</AUTH_IBM_DB2_LIST_OUTPUT>

PostgreSQL Record Template

New or Updated API Updated
API Endpoint /api/3.0/fo/auth/postgresql/
EOS Timeline: April 2027
EOL Timeline: October 2027
API Endpoint /api/4.0/fo/auth/postgresql/
Method GET and POST
DTD or XSD changes Yes

You can now create, update, and list PostgreSQL system record templates. The template credentials are used to create system authentication records for PostgreSQL instances discovered during compliance scans. For input parameters, refer to the common input parameters above.

Sample - Create PostgreSQL record templateSample - Create PostgreSQL record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=create&is_template=1&title=PostgreSQL_template_api&username=root&password=Password" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T07:12:52Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Created</TEXT>
<ID_SET>
<ID>13147841</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - Create PostgreSQL record template with VaultSample - Create PostgreSQL record template with Vault

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=create&is_template=1&title=PostgreSQL_template_api_vault&username=root&login_type=vault&vault_type=CyberArk PIM Suite&vault_id=4904992&folder=folder_new&file=file_added" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T08:45:13Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Created</TEXT>
<ID_SET>
<ID>13147949</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - Update PostgreSQL record templateSample - Update PostgreSQL record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=update&ids=13147841&title=PostgreSQL_template_api_update&username=root11&password=Password" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T08:13:40Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Updated</TEXT>
<ID_SET>
<ID>13147841</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - Update PostgreSQL record template with VaultSample - Update PostgreSQL record template with Vault

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=update&ids=13147949&title=PostgreSQL_template_api_vault_update&username=root&login_type=vault&vault_type=CyberArk PIM Suite&vault_id=4904992&folder=API_folder_new&file=updated_file" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/4.0/batch_return.dtd">
<BATCH_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T08:47:46Z</DATETIME>
<BATCH_LIST>
<BATCH>
<TEXT>Successfully Updated</TEXT>
<ID_SET>
<ID>13147949</ID>
</ID_SET>
</BATCH>
</BATCH_LIST>
</RESPONSE>
</BATCH_RETURN>

Sample - List PostgreSQL record templateSample - List PostgreSQL record template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&ids=13147841" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE AUTH_POSTGRESQL_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/4.0/fo/auth/postgresql/auth_postgresql_list_output.dtd">
<AUTH_POSTGRESQL_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-10-01T08:43:22Z</DATETIME>
<AUTH_POSTGRESQL_LIST>
<AUTH_POSTGRESQL>
<ID>13147841</ID>
<TITLE><![CDATA[PostgreSQL_template_api_update]]></TITLE>
<USERNAME><![CDATA[root11]]></USERNAME>
<SSL_VERIFY><![CDATA[0]]></SSL_VERIFY>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<WIN_CONF_FILE><![CDATA[]]></WIN_CONF_FILE>
<UNIX_CONF_FILE><![CDATA[]]></UNIX_CONF_FILE>
<CREATED>
<DATETIME>2026-10-01T07:12:52Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-01T08:13:40Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_POSTGRESQL>
</AUTH_POSTGRESQL_LIST>
</RESPONSE>
</AUTH_POSTGRESQL_LIST_OUTPUT>

Sample - List PostgreSQL record template using VaultSample - List PostgreSQL record template using Vault

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&ids=13147949" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE AUTH_POSTGRESQL_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/4.0/fo/auth/postgresql/auth_postgresql_list_output.dtd">
<AUTH_POSTGRESQL_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-10-01T10:53:26Z</DATETIME>
<AUTH_POSTGRESQL_LIST>
<AUTH_POSTGRESQL>
<ID>13147949</ID>
<TITLE><![CDATA[PostgreSQL_template_api_vault_update]]></TITLE>
<USERNAME><![CDATA[root]]></USERNAME>
<SSL_VERIFY><![CDATA[0]]></SSL_VERIFY>
<LOGIN_TYPE><![CDATA[vault]]></LOGIN_TYPE>
<DIGITAL_VAULT>
<DIGITAL_VAULT_ID><![CDATA[4904992]]></DIGITAL_VAULT_ID>
<DIGITAL_VAULT_TYPE><![CDATA[CyberArk PIM Suite]]></DIGITAL_VAULT_TYPE>
<DIGITAL_VAULT_TITLE><![CDATA[CyberArk PIM Suite Vault]]></DIGITAL_VAULT_TITLE>
<VAULT_FOLDER><![CDATA[API_folder_new]]></VAULT_FOLDER>
<VAULT_FILE><![CDATA[updated_file]]></VAULT_FILE>
</DIGITAL_VAULT>
<WIN_CONF_FILE><![CDATA[]]></WIN_CONF_FILE>
<UNIX_CONF_FILE><![CDATA[]]></UNIX_CONF_FILE>
<CREATED>
<DATETIME>2026-10-01T08:45:13Z</DATETIME>
<BY>user_ab1</BY>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-01T08:47:46Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>0</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>1</IS_TEMPLATE>
</AUTH_POSTGRESQL>
</AUTH_POSTGRESQL_LIST>
</RESPONSE>
</AUTH_POSTGRESQL_LIST_OUTPUT>

Sample - List system-created PostgreSQL recordSample - List system-created PostgreSQL record

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&ids=13147843" \
"<qualys_base_url>/api/4.0/fo/auth/postgresql/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE AUTH_POSTGRESQL_LIST_OUTPUT SYSTEM "<qualys_base_url>/api/4.0/fo/auth/postgresql/auth_postgresql_list_output.dtd">
<AUTH_POSTGRESQL_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2026-10-01T12:23:29Z</DATETIME>
<AUTH_POSTGRESQL_LIST>
<AUTH_POSTGRESQL>
<ID>13147843</ID>
<TITLE><![CDATA[PostgreSQL [System Created] - 566172]]></TITLE>
<USERNAME><![CDATA[pcqascan]]></USERNAME>
<DATABASE><![CDATA[postgres]]></DATABASE>
<PORT>5432</PORT>
<SSL_VERIFY><![CDATA[0]]></SSL_VERIFY>
<IP_SET>
<IP>10.xx.xx.xx1</IP>
</IP_SET>
<LOGIN_TYPE><![CDATA[basic]]></LOGIN_TYPE>
<WIN_CONF_FILE><![CDATA[]]></WIN_CONF_FILE>
<UNIX_CONF_FILE><![CDATA[/var/lib/pgsql/16/data/postgresql.conf]]></UNIX_CONF_FILE>
<NETWORK_ID>0</NETWORK_ID>
<CREATED>
<DATETIME>2026-10-01T07:18:29Z</DATETIME>
</CREATED>
<LAST_MODIFIED>
<DATETIME>2026-10-01T08:53:09Z</DATETIME>
</LAST_MODIFIED>
<IS_SYSTEM_CREATED>1</IS_SYSTEM_CREATED>
<IS_ACTIVE>1</IS_ACTIVE>
<IS_TEMPLATE>0</IS_TEMPLATE>
<TEMPLATE>
<ID>13124407</ID>
<TITLE>TESTPA_PGSQL16_TEMPLATE</TITLE>
</TEMPLATE>
<COMMENTS><![CDATA[System created PostgreSQL auth record using scan data with history ID 15907708. Last updated with history_id= 15907758]]></COMMENTS>
</AUTH_POSTGRESQL>
</AUTH_POSTGRESQL_LIST>
</RESPONSE>
</AUTH_POSTGRESQL_LIST_OUTPUT>

Manage PC Option Profiles

New or Updated API Updated
API Endpoint /api/5.0/fo/subscription/option_profile/pc/
EOS Timeline: April 2027
EOL Timeline: October 2027
API Endpoint /api/6.0/fo/subscription/option_profile/pc/
Method GET and POST
DTD or XSD changes Yes

You can now assign an IBM DB2 or PostgreSQL system record template to a compliance option profile using the template ID or template name. To create system authentication records for discovered instances, enable authentication instance discovery and include the technology in auto_auth_types.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
ibm_db2_template_id={value} Optional String Specify the template ID of the IBM DB2 system record template to be used for discovery scans.
ibm_db2_template_name={value} Optional String Specify the template name of the IBM DB2 system record template to be used for discovery scans.
postgresql_template_id={value} Optional String Specify the template ID of the PostgreSQL system record template to be used for discovery scans.
postgresql_template_name={value} Optional String Specify the template name of the PostgreSQL system record template to be used for discovery scans.
auto_auth_types={value} Optional String Specify the technologies for which authentication records are created for discovered instances. When IBM DB2 is specified, ibm_db2_template_id or ibm_db2_template_name is required. When PostgreSQL is specified, postgresql_template_id or postgresql_template_name is required.

Sample - Create Option Profile using IBM DB2 template IDSample - Create Option Profile using IBM DB2 template ID

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=create&title=ibmdb2_auth_op_api&enable_auth_instance_discovery=1&scan_ports=targeted&auto_auth_types=IBM DB2&ibm_db2_template_id=13151837" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/6.0/simple_return.dtd">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2026-10-05T06:27:37Z</DATETIME>
<TEXT>Compliance Option profile successfully added.</TEXT>
<ITEM_LIST>
<ITEM>
<KEY>ID</KEY>
<VALUE>8574845</VALUE>
</ITEM>
</ITEM_LIST>
</RESPONSE>
</SIMPLE_RETURN>

Sample - Update Option Profile using IBM DB2 template IDSample - Update Option Profile using IBM DB2 template ID

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=update&id=8574845&title=ibmdb2_auth_op_api_update&enable_auth_instance_discovery=1&scan_ports=targeted&auto_auth_types=IBM DB2&ibm_db2_template_id=13151837" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/6.0/simple_return.dtd">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2026-10-05T06:49:45Z</DATETIME>
<TEXT>Compliance Option profile successfully updated.</TEXT>
<ITEM_LIST>
<ITEM>
<KEY>ID</KEY>
<VALUE>8574845</VALUE>
</ITEM>
</ITEM_LIST>
</RESPONSE>
</SIMPLE_RETURN>

Sample - List Option Profile using IBM DB2 templateSample - List Option Profile using IBM DB2 template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&id=8574853" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE OPTION_PROFILES SYSTEM "<qualys_base_url>/api/6.0/fo/subscription/option_profile/option_profile_info.dtd">
<OPTION_PROFILES>
<OPTION_PROFILE>
<BASIC_INFO>
<ID>8574853</ID>
<GROUP_NAME><![CDATA[ibmdb2_auth_op_api_by_name_update]]></GROUP_NAME>
<GROUP_TYPE>compliance</GROUP_TYPE>
<USER_ID><![CDATA[user_ab1]]></USER_ID>
<UNIT_ID>0</UNIT_ID>
<SUBSCRIPTION_ID>1234567</SUBSCRIPTION_ID>
<IS_GLOBAL>0</IS_GLOBAL>
<UPDATE_DATE>2026-10-05T07:27:50Z</UPDATE_DATE>
</BASIC_INFO>
<SCAN>
<PORTS>
<TARGETED_SCAN>1</TARGETED_SCAN>
</PORTS>
<PERFORMANCE>
<PARALLEL_SCALING>0</PARALLEL_SCALING>
<OVERALL_PERFORMANCE>Normal</OVERALL_PERFORMANCE>
<HOSTS_TO_SCAN>
<EXTERNAL_SCANNERS>15</EXTERNAL_SCANNERS>
<SCANNER_APPLIANCES>30</SCANNER_APPLIANCES>
</HOSTS_TO_SCAN>
<PROCESSES_TO_RUN>
<TOTAL_PROCESSES>10</TOTAL_PROCESSES>
<HTTP_PROCESSES>10</HTTP_PROCESSES>
</PROCESSES_TO_RUN>
<PACKET_DELAY>Medium</PACKET_DELAY>
<PORT_SCANNING_AND_HOST_DISCOVERY>Normal</PORT_SCANNING_AND_HOST_DISCOVERY>
</PERFORMANCE>
<DISSOLVABLE_AGENT>
<DISSOLVABLE_AGENT_ENABLE>0</DISSOLVABLE_AGENT_ENABLE>
<PASSWORD_AUDITING_ENABLE>
<HAS_PASSWORD_AUDITING_ENABLE>0</HAS_PASSWORD_AUDITING_ENABLE>
</PASSWORD_AUDITING_ENABLE>
<WINDOWS_SHARE_ENUMERATION_ENABLE>0</WINDOWS_SHARE_ENUMERATION_ENABLE>
<WINDOWS_DIRECTORY_SEARCH_ENABLE>0</WINDOWS_DIRECTORY_SEARCH_ENABLE>
</DISSOLVABLE_AGENT>
<SYSTEM_AUTH_RECORD>
<ALLOW_AUTH_CREATION>
<AUTHENTICATION_TYPE_LIST>
<AUTHENTICATION_TYPE>IBM DB2</AUTHENTICATION_TYPE>
</AUTHENTICATION_TYPE_LIST>
</ALLOW_AUTH_CREATION>
</SYSTEM_AUTH_RECORD>
<FILE_INTEGRITY_MONITORING>
<AUTO_UPDATE_EXPECTED_VALUE>0</AUTO_UPDATE_EXPECTED_VALUE>
</FILE_INTEGRITY_MONITORING>
<CONTROL_TYPES>
<FIM_CONTROLS_ENABLED>0</FIM_CONTROLS_ENABLED>
<CUSTOM_WMI_QUERY_CHECKS>0</CUSTOM_WMI_QUERY_CHECKS>
</CONTROL_TYPES>
</SCAN>
<ADDITIONAL>
<HOST_DISCOVERY>
<TCP_PORTS>
<STANDARD_SCAN>1</STANDARD_SCAN>
</TCP_PORTS>
<UDP_PORTS>
<STANDARD_SCAN>1</STANDARD_SCAN>
</UDP_PORTS>
<ICMP>1</ICMP>
</HOST_DISCOVERY>
<PACKET_OPTIONS>
<IGNORE_FIREWALL_GENERATED_TCP_RST>0</IGNORE_FIREWALL_GENERATED_TCP_RST>
<IGNORE_ALL_TCP_RST>0</IGNORE_ALL_TCP_RST>
<IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>0</IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>
<NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>0</NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>
</PACKET_OPTIONS>
<AGENT_CORRELATION_IDENTIFIER>
<IS_AGENT_CORRELATION_ID_ENABLED>0</IS_AGENT_CORRELATION_ID_ENABLED>
<AGENT_CORRELATION_ID_PORTS></AGENT_CORRELATION_ID_PORTS>
</AGENT_CORRELATION_IDENTIFIER>
</ADDITIONAL>
<INSTANCE_DATA_COLLECTION />
<OS_BASED_INSTANCE_DISC_COLLECTION />
</OPTION_PROFILE>
</OPTION_PROFILES>

Sample - Create Option Profile using PostgreSQL template IDSample - Create Option Profile using PostgreSQL template ID

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=create&title=pgsql_auth_op_api&enable_auth_instance_discovery=1&scan_ports=targeted&auto_auth_types=PostgreSQL&postgresql_template_id=13147841" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/6.0/simple_return.dtd">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T11:49:44Z</DATETIME>
<TEXT>Compliance Option profile successfully added.</TEXT>
<ITEM_LIST>
<ITEM>
<KEY>ID</KEY>
<VALUE>8571880</VALUE>
</ITEM>
</ITEM_LIST>
</RESPONSE>
</SIMPLE_RETURN>

Sample - Update Option Profile using PostgreSQL template IDSample - Update Option Profile using PostgreSQL template ID

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=update&id=8571880&title=pgsql_auth_op_api_update&scan_ports=targeted&enable_auth_instance_discovery=1&auto_auth_types=PostgreSQL&postgresql_template_id=13147949" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/6.0/simple_return.dtd">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2026-10-01T11:54:25Z</DATETIME>
<TEXT>Compliance Option profile successfully updated.</TEXT>
<ITEM_LIST>
<ITEM>
<KEY>ID</KEY>
<VALUE>8571880</VALUE>
</ITEM>
</ITEM_LIST>
</RESPONSE>
</SIMPLE_RETURN>

Sample - List Option Profile using PostgreSQL templateSample - List Option Profile using PostgreSQL template

API Request

curl -u "USERNAME:PASSWORD" \
-H "X-Requested-With: Curl" \
-X POST \
-d "action=list&id=8571894" \
"<qualys_base_url>/api/6.0/fo/subscription/option_profile/pc/"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE OPTION_PROFILES SYSTEM "<qualys_base_url>/api/6.0/fo/subscription/option_profile/option_profile_info.dtd">
<OPTION_PROFILES>
<OPTION_PROFILE>
<BASIC_INFO>
<ID>8571894</ID>
<GROUP_NAME><![CDATA[pgsql_auth_op_api_by_name_update]]></GROUP_NAME>
<GROUP_TYPE>compliance</GROUP_TYPE>
<USER_ID><![CDATA[user_ab1]]></USER_ID>
<UNIT_ID>0</UNIT_ID>
<SUBSCRIPTION_ID>1234567</SUBSCRIPTION_ID>
<IS_GLOBAL>0</IS_GLOBAL>
<UPDATE_DATE>2026-10-01T12:11:35Z</UPDATE_DATE>
</BASIC_INFO>
<SCAN>
<PORTS>
<TARGETED_SCAN>1</TARGETED_SCAN>
</PORTS>
<PERFORMANCE>
<PARALLEL_SCALING>0</PARALLEL_SCALING>
<OVERALL_PERFORMANCE>Normal</OVERALL_PERFORMANCE>
<HOSTS_TO_SCAN>
<EXTERNAL_SCANNERS>15</EXTERNAL_SCANNERS>
<SCANNER_APPLIANCES>30</SCANNER_APPLIANCES>
</HOSTS_TO_SCAN>
<PROCESSES_TO_RUN>
<TOTAL_PROCESSES>10</TOTAL_PROCESSES>
<HTTP_PROCESSES>10</HTTP_PROCESSES>
</PROCESSES_TO_RUN>
<PACKET_DELAY>Medium</PACKET_DELAY>
<PORT_SCANNING_AND_HOST_DISCOVERY>Normal</PORT_SCANNING_AND_HOST_DISCOVERY>
</PERFORMANCE>
<DISSOLVABLE_AGENT>
<DISSOLVABLE_AGENT_ENABLE>0</DISSOLVABLE_AGENT_ENABLE>
<PASSWORD_AUDITING_ENABLE>
<HAS_PASSWORD_AUDITING_ENABLE>0</HAS_PASSWORD_AUDITING_ENABLE>
</PASSWORD_AUDITING_ENABLE>
<WINDOWS_SHARE_ENUMERATION_ENABLE>0</WINDOWS_SHARE_ENUMERATION_ENABLE>
<WINDOWS_DIRECTORY_SEARCH_ENABLE>0</WINDOWS_DIRECTORY_SEARCH_ENABLE>
</DISSOLVABLE_AGENT>
<SYSTEM_AUTH_RECORD>
<ALLOW_AUTH_CREATION>
<AUTHENTICATION_TYPE_LIST>
<AUTHENTICATION_TYPE>PostgreSQL</AUTHENTICATION_TYPE>
</AUTHENTICATION_TYPE_LIST>
</ALLOW_AUTH_CREATION>
</SYSTEM_AUTH_RECORD>
<FILE_INTEGRITY_MONITORING>
<AUTO_UPDATE_EXPECTED_VALUE>0</AUTO_UPDATE_EXPECTED_VALUE>
</FILE_INTEGRITY_MONITORING>
<CONTROL_TYPES>
<FIM_CONTROLS_ENABLED>0</FIM_CONTROLS_ENABLED>
<CUSTOM_WMI_QUERY_CHECKS>0</CUSTOM_WMI_QUERY_CHECKS>
</CONTROL_TYPES>
</SCAN>
<ADDITIONAL>
<HOST_DISCOVERY>
<TCP_PORTS>
<STANDARD_SCAN>1</STANDARD_SCAN>
</TCP_PORTS>
<UDP_PORTS>
<STANDARD_SCAN>1</STANDARD_SCAN>
</UDP_PORTS>
<ICMP>1</ICMP>
</HOST_DISCOVERY>
<PACKET_OPTIONS>
<IGNORE_FIREWALL_GENERATED_TCP_RST>0</IGNORE_FIREWALL_GENERATED_TCP_RST>
<IGNORE_ALL_TCP_RST>0</IGNORE_ALL_TCP_RST>
<IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>0</IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>
<NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>0</NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>
</PACKET_OPTIONS>
<AGENT_CORRELATION_IDENTIFIER>
<IS_AGENT_CORRELATION_ID_ENABLED>0</IS_AGENT_CORRELATION_ID_ENABLED>
<AGENT_CORRELATION_ID_PORTS></AGENT_CORRELATION_ID_PORTS>
</AGENT_CORRELATION_IDENTIFIER>
</ADDITIONAL>
<INSTANCE_DATA_COLLECTION />
<OS_BASED_INSTANCE_DISC_COLLECTION />
</OPTION_PROFILE>
</OPTION_PROFILES>

DTD Updates

The following DTDs are updated to support IBM DB2 and PostgreSQL system record templates.

DTD update for IBM DB2 templateDTD update for IBM DB2 template

<qualys_base_url>/api/4.0/fo/auth/ibm_db2/auth_ibm_db2_list_output.dtd

The following elements are added:

<!ELEMENT IS_SYSTEM_CREATED (#PCDATA)>
<!ELEMENT IS_ACTIVE (#PCDATA)>
<!ELEMENT IS_TEMPLATE (#PCDATA)>
<!ELEMENT TEMPLATE (ID, TITLE)>

DTD update for PostgreSQL templateDTD update for PostgreSQL template

<qualys_base_url>/api/4.0/fo/auth/postgresql/auth_postgresql_list_output.dtd

The following elements are added:

<!ELEMENT IS_SYSTEM_CREATED (#PCDATA)>
<!ELEMENT IS_ACTIVE (#PCDATA)>
<!ELEMENT IS_TEMPLATE (#PCDATA)>
<!ELEMENT TEMPLATE (ID, TITLE)>

DTD update for option profileDTD update for option profile

<qualys_base_url>/api/6.0/fo/subscription/option_profile/option_profile_info.dtd

The following elements are added:

<!ELEMENT IBM_DB2_AUTHENTICATION_TEMPLATE (ID, TITLE)>
<!ELEMENT POSTGRESQL_AUTHENTICATION_TEMPLATE (ID, TITLE)>

The following element is updated:

<!ELEMENT ALLOW_AUTH_CREATION (AUTHENTICATION_TYPE_LIST, IBM_WAS_DISCOVERY_MODE?, ORACLE_AUTHENTICATION_TEMPLATE?, MONGODB_AUTHENTICATION_TEMPLATE?, MYSQL_AUTHENTICATION_TEMPLATE?, IBM_DB2_AUTHENTICATION_TEMPLATE?, POSTGRESQL_AUTHENTICATION_TEMPLATE?)>

Import or Export Option Profiles

New or Updated API Updated
API Endpoint /api/7.0/fo/subscription/option_profile/?action=export
/api/7.0/fo/subscription/option_profile/?action=import
EOS Timeline: April 2027
EOL Timeline: October 2027
API Endpoint /api/8.0/fo/subscription/option_profile/?action=export
/api/8.0/fo/subscription/option_profile/?action=import
Method GET and POST
DTD or XSD changes Yes

You can now export or import a compliance option profile that has an IBM DB2 or PostgreSQL system record template assigned. The exported XML includes the template ID and title, and the template is retained when you import the option profile.

Sample - Export option profileSample - Export option profile

API Request

curl -s -S -X GET -H 'X-Requested-With:curl demo2' -u "USERNAME:PASSWORD" "<qualys_base_url>/api/8.0/fo/subscription/option_profile/?action=export&option_profile_id=8574853%22

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE OPTION_PROFILES SYSTEM "<qualys_base_url>/api/8.0/fo/subscription/option_profile/option_profile_info.dtd%22>
<OPTION_PROFILES>
    <OPTION_PROFILE>
        <BASIC_INFO>
            <ID>8574853</ID>
            <GROUP_NAME>
                <![CDATA[ibmdb2_auth_op_api1_via name_6.0_update]]>
            </GROUP_NAME>
            <GROUP_TYPE>compliance</GROUP_TYPE>
            <USER_ID>
                <![CDATA[Amol Rayamane (quaysxar36)]]>
            </USER_ID>
            <UNIT_ID>0</UNIT_ID>
            <SUBSCRIPTION_ID>4419153</SUBSCRIPTION_ID>
            <IS_GLOBAL>0</IS_GLOBAL>
            <UPDATE_DATE>2026-10-05T07:19:31Z</UPDATE_DATE>
        </BASIC_INFO>
        <SCAN>
            <PORTS>
                <TARGETED_SCAN>1</TARGETED_SCAN>
            </PORTS>
            <PERFORMANCE>
                <PARALLEL_SCALING>0</PARALLEL_SCALING>
                <OVERALL_PERFORMANCE>Normal</OVERALL_PERFORMANCE>
                <HOSTS_TO_SCAN>
                    <EXTERNAL_SCANNERS>15</EXTERNAL_SCANNERS>
                    <SCANNER_APPLIANCES>30</SCANNER_APPLIANCES>
                </HOSTS_TO_SCAN>
                <PROCESSES_TO_RUN>
                    <TOTAL_PROCESSES>10</TOTAL_PROCESSES>
                    <HTTP_PROCESSES>10</HTTP_PROCESSES>
                </PROCESSES_TO_RUN>
                <PACKET_DELAY>Medium</PACKET_DELAY>
                <PORT_SCANNING_AND_HOST_DISCOVERY>Normal</PORT_SCANNING_AND_HOST_DISCOVERY>
            </PERFORMANCE>
            <DISSOLVABLE_AGENT>
                <DISSOLVABLE_AGENT_ENABLE>0</DISSOLVABLE_AGENT_ENABLE>
                <PASSWORD_AUDITING_ENABLE>
                    <HAS_PASSWORD_AUDITING_ENABLE>0</HAS_PASSWORD_AUDITING_ENABLE>
                </PASSWORD_AUDITING_ENABLE>
                <WINDOWS_SHARE_ENUMERATION_ENABLE>0</WINDOWS_SHARE_ENUMERATION_ENABLE>
                <WINDOWS_DIRECTORY_SEARCH_ENABLE>0</WINDOWS_DIRECTORY_SEARCH_ENABLE>
            </DISSOLVABLE_AGENT>
            <SYSTEM_AUTH_RECORD>
                <ALLOW_AUTH_CREATION>
                    <AUTHENTICATION_TYPE_LIST>
                        <AUTHENTICATION_TYPE>IBM DB2</AUTHENTICATION_TYPE>
                    </AUTHENTICATION_TYPE_LIST>
                    <IBM_DB2_AUTHENTICATION_TEMPLATE>
                        <ID>13151837</ID>
                        <TITLE>IBM DB2 template gouri</TITLE>
                    </IBM_DB2_AUTHENTICATION_TEMPLATE>
                </ALLOW_AUTH_CREATION>
            </SYSTEM_AUTH_RECORD>
            <FILE_INTEGRITY_MONITORING>
                <AUTO_UPDATE_EXPECTED_VALUE>0</AUTO_UPDATE_EXPECTED_VALUE>
            </FILE_INTEGRITY_MONITORING>
            <CONTROL_TYPES>
                <FIM_CONTROLS_ENABLED>0</FIM_CONTROLS_ENABLED>
                <CUSTOM_WMI_QUERY_CHECKS>0</CUSTOM_WMI_QUERY_CHECKS>
            </CONTROL_TYPES>
        </SCAN>
        <ADDITIONAL>
            <HOST_DISCOVERY>
                <TCP_PORTS>
                    <STANDARD_SCAN>1</STANDARD_SCAN>
                </TCP_PORTS>
                <UDP_PORTS>
                    <STANDARD_SCAN>1</STANDARD_SCAN>
                </UDP_PORTS>
                <ICMP>1</ICMP>
            </HOST_DISCOVERY>
            <PACKET_OPTIONS>
                <IGNORE_FIREWALL_GENERATED_TCP_RST>0</IGNORE_FIREWALL_GENERATED_TCP_RST>
                <IGNORE_ALL_TCP_RST>0</IGNORE_ALL_TCP_RST>
                <IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>0</IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK>
                <NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>0</NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY>
            </PACKET_OPTIONS>
            <AGENT_CORRELATION_IDENTIFIER>
                <IS_AGENT_CORRELATION_ID_ENABLED>0</IS_AGENT_CORRELATION_ID_ENABLED>
                <AGENT_CORRELATION_ID_PORTS></AGENT_CORRELATION_ID_PORTS>
            </AGENT_CORRELATION_IDENTIFIER>
        </ADDITIONAL>
        <INSTANCE_DATA_COLLECTION />
        <OS_BASED_INSTANCE_DISC_COLLECTION />
    </OPTION_PROFILE>
</OPTION_PROFILES>

Sample - Import option profileSample - Import option profile

API Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "USERNAME:PASSWORD" -H 'Content-Type: text/xml' --data-binary @export_option_profile.xml "<qualys_base_url>/api/8.0/fo/subscription/option_profile/?action=import"

XML Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/8.0/simple_return.dtd">
<SIMPLE_RETURN>
    <RESPONSE>
        <DATETIME>2026-10-05T12:03:08Z</DATETIME>
        <TEXT>Successfully imported Option profile for the subscription Id 4419153</TEXT>
        <ITEM_LIST>
            <ITEM>
                <KEY>8574907</KEY>
                <VALUE>Export_importibmdb2_auth_op_api1_via</VALUE>
            </ITEM>
        </ITEM_LIST>
    </RESPONSE>
</SIMPLE_RETURN>