Policy Audit Release 1.4 API 

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

We have implemented versioning for APIs. For more information on API versioning, refer to the Updates on API Versioning Standards & Deprecation Timelines blog.

Exceptions API: Create Multiple Exceptions Using Asset Tags

New or Updated API Updated
API Endpoint /api/2.0/fo/compliance/exception/
EOS Timeline: April 2026
EOL Timeline: October 2026
API Endpoint
(New Version)

/api/3.0/fo/compliance/exception/

Method GET and POST
DTD or XSD changes No

With this release, we have added support for asset tags for the Exceptions API. By providing asset tag details, users can raise multiple exceptions for multiple host IDs.

Previously, users had to run the API request multiple times, once for each host ID associated with an asset. With the new enhancement, this repetitive process is eliminated, making it easier to raise multiple exceptions for multiple host IDs.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
tag_set_by =  {id|name} Optional String Specify ID (the default) to select a tag set by providing tag IDs. 
Specify name to select a tag set by providing tag names.
tag_include_selector = {all|any} Optional String Select any (the default) to include hosts that match at least one of the selected tags. 
Select all to include hosts that match all of the selected tags.
tag_exclude_selector = {all|any} Optional String Select any (the default) to include hosts that match at least one of the selected tags. 
Select all to include hosts that match all of the selected tags.
tag_set_include = {value} Optional String Specify a tag set to include. Hosts that match these tags will be included. You identify the tag set by providing the tag name or IDs. Multiple entries are comma-separated.
tag_set_exclude={value} Optional String Specify a tag set to exclude. Hosts that match these tags will be excluded. You identify the tag set by providing the tag name or IDs. Multiple entries are comma-separated.

If you enter the details for the above parameters, adding the host_id parameter is optional. However, if you do not enter any of the above parameters, the host_id parameter must be added.

Sample - Create multiple exceptionsSample - Create multiple exceptions

API  Request

curl -k -s -S -H 'X-Requested-With:curl demo2' -u "username:password" -d "action=request&tag_set_by=id&tag_set_include=50294502&policy_id=1605419&control_id=1071&technology_id=80&assignee_id=270904&comments=exceptionAPI" "https://<qualys_base_url>/api/3.0/fo/compliance/exception/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM 
"https://<qualys_base_url>/api/3.0/simple_return.dtd">
<SIMPLE_RETURN>
    <RESPONSE>
        <DATETIME>2025-08-12T07:13:47Z</DATETIME>
        <TEXT>Exception created successfully</TEXT>
        <ITEM_LIST>
            <ITEM>
                <KEY>EXCEPTION_NUMBER</KEY>
                <VALUE>101</VALUE>
                <VALUE>102</VALUE>
                <VALUE>103</VALUE>
                <VALUE>104</VALUE>
                <VALUE>105</VALUE>
                <VALUE>106</VALUE>
                <VALUE>107</VALUE>
                <VALUE>108</VALUE>
                <VALUE>109</VALUE>
                <VALUE>110</VALUE>
            </ITEM>
            <ITEM>
                <KEY>EXCEPTION_CREATED_HOSTS</KEY>
                <VALUE>1681371</VALUE>
                <VALUE>1616892</VALUE>
                <VALUE>1692181</VALUE>
                <VALUE>1681549</VALUE>
                <VALUE>8789470</VALUE>
                <VALUE>8789468</VALUE>
                <VALUE>8789469</VALUE>
                <VALUE>8789466</VALUE>
                <VALUE>8789467</VALUE>
                <VALUE>2588281</VALUE>
            </ITEM>
            <ITEM>
                <KEY>EXCEPTION_EXIST_HOSTS</KEY>
                <VALUE></VALUE>
            </ITEM>
            <ITEM>
                <KEY>POSTURE_RECORD_NOT_EXIST_HOSTS</KEY>
                <VALUE>7835619</VALUE>
                <VALUE>1682339</VALUE>
                <VALUE>2559258</VALUE>
            </ITEM>
        </ITEM_LIST>
    </RESPONSE>
</SIMPLE_RETURN>

 

Sample - Failure to create an exceptionsSample - Failure to create an exceptions

API  Request

curl -k -s -S -H 'X-Requested-With:curl demo2' -u "username:password" -d "action=request&tag_set_by=id&tag_set_include=50293878&policy_id=1605420&control_id=1123&technology_id=43&assignee_id=270904&comments=exceptionAPI" "https://<qualys_base_url>/api/3.0/fo/compliance/exception/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM 
"https://<qualys_base_url>/api/3.0/simple_return.dtd">
<SIMPLE_RETURN>
    <RESPONSE>
        <DATETIME>2025-08-12T06:57:08Z</DATETIME>
        <CODE>999</CODE>
        <TEXT>No failed control is available to create an exception or exceptions have already been created.</TEXT>
        <ITEM_LIST>
            <ITEM>
                <KEY>NO_FAILED_CONTROL_EXIST_HOSTS</KEY>
                <VALUE></VALUE>
            </ITEM>
            <ITEM>
                <KEY>EXCEPTION_EXIST_HOSTS</KEY>
                <VALUE></VALUE>
            </ITEM>
            <ITEM>
                <KEY>POSTURE_RECORD_NOT_EXIST_HOSTS</KEY>
                <VALUE>7819509</VALUE>
                <VALUE>1680546</VALUE>
            </ITEM>
        </ITEM_LIST>
    </RESPONSE>
</SIMPLE_RETURN>

Option Profile API: Enable Agent Correlation Identifier

With this release, we have added support for Agent Correlation Identifier to address the issue of duplicate records being created during compliance scans, especially for databases. On enabling this option, merging of agent and scan data is ensured, thereby, avoiding duplicate host entries. This change is reflecting the following APIs:

PC Option Profile API: Create, Update, List, and Delete Option Profile

New or Updated API Updated
API Endpoint /api/4.0/fo/subscription/option_profile/pc/
EOS Timeline: April 2026
EOL Timeline: October 2026
API Endpoint
(New Version)
/api/5.0/fo/subscription/option_profile/pc/
Method GET and POST
DTD or XSD changes Yes

With this release, we have added the input parameters enable_agent_correlation_identifier and agent_correlation_ports, that enables you to enable and added Agent Correlation Identifier ports for creating a new compliance profile.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
enable_agent_correlation_identifier={1,0} Optional Integer Specify 1 to enable the Agent Correlation Identifier, else o.
agent_correlation_ports={value} Optional Integer Enter the ports for the Agent Correlation identifier.
You can enter a maximum of 5 ports.

 

Sample - Create PC Option ProfileSample - Create PC Option Profile

API  Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password>" -d "action=create&title=OP_agent_correlation_checked_API&global=1&scan_ports=targeted&enable_agent_correlation_identifier=1&agent_correlation_ports=10001,10002" "<qualys_base_url>/api/5.0/fo/subscription/option_profile/pc/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/5.0/simple_return.dtd">
<SIMPLE_RETURN>
  <RESPONSE>
    <DATETIME>2025-09-29T13:21:00Z</DATETIME>
    <TEXT>Compliance Option profile successfully added.</TEXT>
    <ITEM_LIST>
      <ITEM>
        <KEY>ID</KEY>
        <VALUE>7815368</VALUE>
      </ITEM>
    </ITEM_LIST>
  </RESPONSE>
</SIMPLE_RETURN>

 

Sample - Update PC Option ProfileSample - Update PC Option Profile

API  Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password>" -d "action=update&title=OP_agent_correlation_unchecked_update_API&id=7815368&enable_agent_correlation_identifier=0" "<qualys_base_url>/api/5.0/fo/subscription/option_profile/pc/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/5.0/simple_return.dtd">
<SIMPLE_RETURN>
  <RESPONSE>
    <DATETIME>2025-09-29T13:23:41Z</DATETIME>
    <TEXT>Compliance Option profile successfully updated.</TEXT>
    <ITEM_LIST>
      <ITEM>
        <KEY>ID</KEY>
        <VALUE>7815368</VALUE>
      </ITEM>
    </ITEM_LIST>
  </RESPONSE>
</SIMPLE_RETURN>

 

Sample - List PC Option ProfileSample - List PC Option Profile

API  Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password> -d "action=list&id=7816368" "<qualys_base_url>/api/5.0/fo/subscription/option_profile/pc/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE OPTION_PROFILES SYSTEM "<qualys_base_url>/api/5.0/fo/subscription/option_profile/option_profile_info.dtd">
<OPTION_PROFILES>
  <OPTION_PROFILE>
    <BASIC_INFO>
      <ID>7816368</ID>
      <GROUP_NAME><![CDATA[OP_agent_correlation_checked_update_API]]></GROUP_NAME>
      <GROUP_TYPE>compliance</GROUP_TYPE>
      <USER_ID><![CDATA[John Doe (<username>)]]></USER_ID>
      <UNIT_ID>0</UNIT_ID>
      <SUBSCRIPTION_ID>4027198</SUBSCRIPTION_ID>
      <IS_GLOBAL>1</IS_GLOBAL>
      <UPDATE_DATE>2025-09-29T14:27:53Z</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>
      <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>1</IS_AGENT_CORRELATION_ID_ENABLED>
        <AGENT_CORRELATION_ID_PORTS>10001</AGENT_CORRELATION_ID_PORTS>
      </AGENT_CORRELATION_IDENTIFIER>
    </ADDITIONAL>
    <INSTANCE_DATA_COLLECTION />
    <OS_BASED_INSTANCE_DISC_COLLECTION />
  </OPTION_PROFILE>
</OPTION_PROFILES>

Options Profiles API: Import and Export Option Profile

New or Updated API Updated
API Endpoint /api/4.0/fo/subscription/option_profile/
EOS Timeline: April 2026
EOL Timeline: October 2026
API Endpoint
(New Version)
/api/5.0/fo/subscription/option_profile/
Method GET and POST
DTD or XSD changes Yes

With this release, you can now export and import the Agent Correlation Identifier details.

Sample - Export PC Option ProfileSample - Export PC Option Profile

API  Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password>"  "<qualys_base_url>/api/5.0/fo/subscription/option_profile/?action=export&&output_format=xml&option_profile_type=compliance&option_profile_id=7754447"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE OPTION_PROFILES SYSTEM "<qualys_base_url>/api/5.0/fo/subscription/option_profile/option_profile_info.dtd">
<OPTION_PROFILES>
  <OPTION_PROFILE>
    <BASIC_INFO>
      <ID>7754447</ID>
      <GROUP_NAME><![CDATA[agent correlation enabled OP]]></GROUP_NAME>
      <GROUP_TYPE>compliance</GROUP_TYPE>
      <USER_ID><![CDATA[John Doe (<username>)]]></USER_ID>
      <UNIT_ID>0</UNIT_ID>
      <SUBSCRIPTION_ID>4027198</SUBSCRIPTION_ID>
      <IS_GLOBAL>0</IS_GLOBAL>
      <UPDATE_DATE>2025-09-25T08:53:52Z</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>
      <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>0</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>1</IS_AGENT_CORRELATION_ID_ENABLED>
        <AGENT_CORRELATION_ID_PORTS>10001,10002,10003,10004,10005</AGENT_CORRELATION_ID_PORTS>
      </AGENT_CORRELATION_IDENTIFIER>
    </ADDITIONAL>
    <INSTANCE_DATA_COLLECTION />
    <OS_BASED_INSTANCE_DISC_COLLECTION />
  </OPTION_PROFILE>
</OPTION_PROFILES>

Sample - Import PC Option ProfileSample - Import PC Option Profile

API  Request

 curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password>" -H "content-type: text/xml" -H "X-Requested-With:curl" -X "POST" --data-binary @/home/<username>/John/Export_Op_agent_corr_enbaled.xml "<qualys_base_url>/api/5.0/fo/subscription/option_profile/?action=import"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SIMPLE_RETURN SYSTEM "<qualys_base_url>/api/5.0/simple_return.dtd">
<SIMPLE_RETURN>
  <RESPONSE>
    <DATETIME>2025-09-26T10:28:48Z</DATETIME>
    <TEXT>Successfully imported Option profile for the subscription Id 4027198</TEXT>
    <ITEM_LIST>
      <ITEM>
        <KEY>7779470</KEY>
        <VALUE>agent correlation enabled OP</VALUE>
      </ITEM>
    </ITEM_LIST>
  </RESPONSE>
</SIMPLE_RETURN>

DTD UpdateDTD Update

DTD for the Option Profile API has been updated.
<platform API server>/api/5.0/fo/subscription/option_profile/option_profile_info.dtd"

DTD output for the Option Profile API is as follows:

API Response

<!ELEMENT OPTION_PROFILES (OPTION_PROFILE)*>
<!ELEMENT OPTION_PROFILE (BASIC_INFO, SCAN, MAP?, ADDITIONAL, INSTANCE_DATA_COLLECTION?,OS_BASED_INSTANCE_DISC_COLLECTION?)>
<!ELEMENT BASIC_INFO (ID, GROUP_NAME, GROUP_TYPE, USER_ID, UNIT_ID, SUBSCRIPTION_ID, IS_DEFAULT?, IS_GLOBAL?, IS_OFFLINE_SYNCABLE?, UPDATE_DATE?)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT GROUP_NAME (#PCDATA)>
<!ELEMENT GROUP_TYPE (#PCDATA)>
<!ELEMENT USER_ID (#PCDATA)>
<!ELEMENT UNIT_ID (#PCDATA)>
<!ELEMENT SUBSCRIPTION_ID (#PCDATA)>
<!ELEMENT IS_DEFAULT (#PCDATA)>
<!ELEMENT IS_GLOBAL (#PCDATA)>
<!ELEMENT IS_OFFLINE_SYNCABLE (#PCDATA)>
<!ELEMENT UPDATE_DATE (#PCDATA)>
<!ELEMENT SCAN (PORTS?, SCAN_DEAD_HOSTS?, CLOSE_VULNERABILITIES?, PURGE_OLD_HOST_OS_CHANGED?, PERFORMANCE?, LOAD_BALANCER_DETECTION?, PASSWORD_BRUTE_FORCING?, VULNERABILITY_DETECTION?, AUTHENTICATION?, AUTHENTICATION_LEAST_PRIVILEGE?, ADDL_CERT_DETECTION?, DISSOLVABLE_AGENT?, SCAN_RESTRICTION?, DATABASE_PREFERENCE_KEY?, SYSTEM_AUTH_RECORD?, LITE_OS_SCAN?, CUSTOM_HTTP_HEADER?, HOST_ALIVE_TESTING?, ETHERNET_IP_PROBING?, FILE_INTEGRITY_MONITORING?, CONTROL_TYPES?, DEAD_HOST_PROCESSING?, DO_NOT_OVERWRITE_OS?, TEST_AUTHENTICATION?, MAX_SCAN_DURATION_PER_ASSET?, PERFORM_PARTIAL_SSL_TLS_AUDITING?)>
<!ELEMENT PORTS (TCP_PORTS?, UDP_PORTS?, AUTHORITATIVE_OPTION?, (STANDARD_SCAN|TARGETED_SCAN)?)>
<!ELEMENT TCP_PORTS (TCP_PORTS_TYPE?, TCP_PORTS_STANDARD_SCAN?, TCP_PORTS_ADDITIONAL?, THREE_WAY_HANDSHAKE?, STANDARD_SCAN?, TCP_ADDITIONAL?)>
<!ELEMENT TCP_PORTS_TYPE (#PCDATA)>
<!ELEMENT TCP_PORTS_ADDITIONAL (HAS_ADDITIONAL?, ADDITIONAL_PORTS?)>
<!ELEMENT HAS_ADDITIONAL (#PCDATA)>
<!ELEMENT ADDITIONAL_PORTS (#PCDATA)>
<!ELEMENT THREE_WAY_HANDSHAKE (#PCDATA)>
<!ELEMENT UDP_PORTS (UDP_PORTS_TYPE?, UDP_PORTS_STANDARD_SCAN?, UDP_PORTS_ADDITIONAL?, (STANDARD_SCAN|CUSTOM_PORT)?)>
<!ELEMENT UDP_PORTS_TYPE (#PCDATA)>
<!ELEMENT UDP_PORTS_ADDITIONAL (HAS_ADDITIONAL?, ADDITIONAL_PORTS?)>
<!ELEMENT AUTHORITATIVE_OPTION (#PCDATA)>
<!ELEMENT STANDARD_SCAN (#PCDATA)>
<!ELEMENT TARGETED_SCAN (#PCDATA)>
<!ELEMENT SCAN_DEAD_HOSTS (#PCDATA)>
<!ELEMENT CLOSE_VULNERABILITIES (HAS_CLOSE_VULNERABILITIES?, HOST_NOT_FOUND_ALIVE?)>
<!ELEMENT HAS_CLOSE_VULNERABILITIES (#PCDATA)>
<!ELEMENT HOST_NOT_FOUND_ALIVE (#PCDATA)>
<!ELEMENT PURGE_OLD_HOST_OS_CHANGED (#PCDATA)>
<!ELEMENT PERFORMANCE (PARALLEL_SCALING?, OVERALL_PERFORMANCE, HOSTS_TO_SCAN, PROCESSES_TO_RUN, PACKET_DELAY, PORT_SCANNING_AND_HOST_DISCOVERY, EXTERNAL_SCANNERS_TO_USE?, HOST_CGI_CHECKS?, MAX_CGI_CHECKS?, MAX_TARGETS_PER_SLICE?, MAX_NUMBER_OF_TARGETS?, CONF_SCAN_LIMITED_CONNECTIVITY?, SKIP_PRE_SCANNING?, SCAN_MULTIPLE_SLICES_PER_SCANNER?)>
<!ELEMENT PARALLEL_SCALING (#PCDATA)>
<!ELEMENT OVERALL_PERFORMANCE (#PCDATA)>
<!ELEMENT HOSTS_TO_SCAN (EXTERNAL_SCANNERS, SCANNER_APPLIANCES)>
<!ELEMENT EXTERNAL_SCANNERS (#PCDATA)>
<!ELEMENT SCANNER_APPLIANCES (#PCDATA)>
<!ELEMENT PROCESSES_TO_RUN (TOTAL_PROCESSES, HTTP_PROCESSES)>
<!ELEMENT TOTAL_PROCESSES (#PCDATA)>
<!ELEMENT HTTP_PROCESSES (#PCDATA)>
<!ELEMENT PACKET_DELAY (#PCDATA)>
<!ELEMENT PORT_SCANNING_AND_HOST_DISCOVERY (#PCDATA)>
<!ELEMENT EXTERNAL_SCANNERS_TO_USE (#PCDATA)>
<!ELEMENT HOST_CGI_CHECKS (#PCDATA)>
<!ELEMENT MAX_CGI_CHECKS (#PCDATA)>
<!ELEMENT MAX_TARGETS_PER_SLICE (#PCDATA)>
<!ELEMENT MAX_NUMBER_OF_TARGETS (#PCDATA)>
<!ELEMENT CONF_SCAN_LIMITED_CONNECTIVITY (#PCDATA)>
<!ELEMENT SKIP_PRE_SCANNING (#PCDATA)>
<!ELEMENT SCAN_MULTIPLE_SLICES_PER_SCANNER (#PCDATA)>
<!ELEMENT LOAD_BALANCER_DETECTION (#PCDATA)>
<!ELEMENT PASSWORD_BRUTE_FORCING (SYSTEM?, CUSTOM_LIST?)>
<!ELEMENT SYSTEM (HAS_SYSTEM?, SYSTEM_LEVEL?)>
<!ELEMENT HAS_SYSTEM (#PCDATA)>
<!ELEMENT SYSTEM_LEVEL (#PCDATA)>
<!ELEMENT CUSTOM_LIST (CUSTOM+)>
<!ELEMENT CUSTOM (ID, TITLE, TYPE?, LOGIN_PASSWORD?)+>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT TYPE (#PCDATA)>
<!ELEMENT LOGIN_PASSWORD (#PCDATA)>
<!ELEMENT MAX_SCAN_DURATION_PER_ASSET (#PCDATA)>
<!ELEMENT VULNERABILITY_DETECTION ((COMPLETE|CUSTOM_LIST|RUNTIME), DETECTION_INCLUDE?, DETECTION_EXCLUDE?)>
<!ELEMENT COMPLETE (#PCDATA)>
<!ELEMENT RUNTIME (#PCDATA)>
<!ELEMENT DETECTION_INCLUDE (BASIC_HOST_INFO_CHECKS, OVAL_CHECKS, QRDI_CHECKS?,ULTRA_LOW_RISK_VULNS?)>
<!ELEMENT BASIC_HOST_INFO_CHECKS (#PCDATA)>
<!ELEMENT OVAL_CHECKS (#PCDATA)>
<!ELEMENT QRDI_CHECKS (#PCDATA)>
<!ELEMENT ULTRA_LOW_RISK_VULNS (#PCDATA)>
<!ELEMENT DETECTION_EXCLUDE (CUSTOM_LIST+)>
<!ELEMENT AUTHENTICATION (#PCDATA)>
<!ELEMENT AUTHENTICATION_LEAST_PRIVILEGE (#PCDATA)>
<!ELEMENT ADDL_CERT_DETECTION (#PCDATA)>
<!ELEMENT DISSOLVABLE_AGENT (DISSOLVABLE_AGENT_ENABLE, PASSWORD_AUDITING_ENABLE?, WINDOWS_SHARE_ENUMERATION_ENABLE, WINDOWS_DIRECTORY_SEARCH_ENABLE?)>
<!ELEMENT DISSOLVABLE_AGENT_ENABLE (#PCDATA)>
<!ELEMENT PASSWORD_AUDITING_ENABLE (HAS_PASSWORD_AUDITING_ENABLE?, CUSTOM_PASSWORD_DICTIONARY?)>
<!ELEMENT HAS_PASSWORD_AUDITING_ENABLE (#PCDATA)>
<!ELEMENT CUSTOM_PASSWORD_DICTIONARY (#PCDATA)>
<!ELEMENT WINDOWS_SHARE_ENUMERATION_ENABLE (#PCDATA)>
<!ELEMENT WINDOWS_DIRECTORY_SEARCH_ENABLE (#PCDATA)>
<!ELEMENT SCAN_RESTRICTION (SCAN_BY_POLICY?)>
<!ELEMENT SCAN_BY_POLICY  (POLICY+)>
<!ELEMENT POLICY (ID, TITLE)>
<!ELEMENT DATABASE_PREFERENCE_KEY (MSSQL?, ORACLE?, SYBASE?, POSTGRESQL?, SAPIQ?, DB2?)>
<!ELEMENT MSSQL (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT ORACLE (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT SYBASE (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT POSTGRESQL (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT SAPIQ (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT DB2 (DB_UDC_RESTRICTION, DB_UDC_LIMIT)>
<!ELEMENT DB_UDC_RESTRICTION (#PCDATA)>
<!ELEMENT DB_UDC_LIMIT (#PCDATA)>
<!ELEMENT SYSTEM_AUTH_RECORD (ALLOW_AUTH_CREATION|INCLUDE_SYSTEM_AUTH)>
<!ELEMENT ALLOW_AUTH_CREATION (AUTHENTICATION_TYPE_LIST, IBM_WAS_DISCOVERY_MODE?, ORACLE_AUTHENTICATION_TEMPLATE?, MONGODB_AUTHENTICATION_TEMPLATE?, MYSQL_AUTHENTICATION_TEMPLATE?)>
<!ELEMENT AUTHENTICATION_TYPE_LIST  (AUTHENTICATION_TYPE+)>
<!ELEMENT AUTHENTICATION_TYPE (#PCDATA)>
<!ELEMENT IBM_WAS_DISCOVERY_MODE  (#PCDATA)>
<!ELEMENT ORACLE_AUTHENTICATION_TEMPLATE  (ID, TITLE)>
<!ELEMENT MONGODB_AUTHENTICATION_TEMPLATE  (ID, TITLE)>
<!ELEMENT MYSQL_AUTHENTICATION_TEMPLATE  (ID, TITLE)>
<!ELEMENT INCLUDE_SYSTEM_AUTH (ON_DUPLICATE_USE_USER_AUTH|ON_DUPLICATE_USE_SYSTEM_AUTH)>
<!ELEMENT ON_DUPLICATE_USE_USER_AUTH (#PCDATA)>
<!ELEMENT ON_DUPLICATE_USE_SYSTEM_AUTH (#PCDATA)>
<!ELEMENT LITE_OS_SCAN (#PCDATA)>
<!ELEMENT CUSTOM_HTTP_HEADER (VALUE?, DEFINITION_KEY?, DEFINITION_VALUE?)>
<!ELEMENT VALUE (#PCDATA)>
<!ELEMENT DEFINITION_KEY (#PCDATA)>
<!ELEMENT DEFINITION_VALUE (#PCDATA)>
<!ELEMENT HOST_ALIVE_TESTING (#PCDATA)>
<!ELEMENT ETHERNET_IP_PROBING (#PCDATA)>
<!ELEMENT FILE_INTEGRITY_MONITORING (AUTO_UPDATE_EXPECTED_VALUE?)>
<!ELEMENT AUTO_UPDATE_EXPECTED_VALUE (#PCDATA)>
<!ELEMENT CONTROL_TYPES (FIM_CONTROLS_ENABLED?, CUSTOM_WMI_QUERY_CHECKS?)>
<!ELEMENT FIM_CONTROLS_ENABLED (#PCDATA)>
<!ELEMENT CUSTOM_WMI_QUERY_CHECKS (#PCDATA)>
<!ELEMENT DO_NOT_OVERWRITE_OS (#PCDATA)>
<!ELEMENT TEST_AUTHENTICATION (#PCDATA)>
<!ELEMENT PERFORM_PARTIAL_SSL_TLS_AUDITING (#PCDATA)>
<!ELEMENT MAP (BASIC_INFO_GATHERING_ON, TCP_PORTS?, UDP_PORTS?, MAP_OPTIONS?, MAP_PERFORMANCE?, MAP_AUTHENTICATION?, DISCONNECTED_ESXI?)>
<!ELEMENT BASIC_INFO_GATHERING_ON (#PCDATA)>
<!ELEMENT TCP_PORTS_STANDARD_SCAN (#PCDATA)>
<!ELEMENT UDP_PORTS_STANDARD_SCAN (#PCDATA)>
<!ELEMENT MAP_OPTIONS (PERFORM_LIVE_HOST_SWEEP?,  DISABLE_DNS_TRAFFIC?)>
<!ELEMENT PERFORM_LIVE_HOST_SWEEP (#PCDATA)>
<!ELEMENT DISABLE_DNS_TRAFFIC (#PCDATA)>
<!ELEMENT MAP_PERFORMANCE (OVERALL_PERFORMANCE, MAP_PARALLEL?, PACKET_DELAY)>
<!ELEMENT MAP_PARALLEL (EXTERNAL_SCANNERS, SCANNER_APPLIANCES, NETBLOCK_SIZE)>
<!ELEMENT NETBLOCK_SIZE (#PCDATA)>
<!ELEMENT MAP_AUTHENTICATION (#PCDATA)>
<!ELEMENT DISCONNECTED_ESXI (#PCDATA)>
<!ELEMENT ADDITIONAL (HOST_DISCOVERY, BLOCK_RESOURCES?, PACKET_OPTIONS?, AGENT_CORRELATION_IDENTIFIER?)>
<!ELEMENT HOST_DISCOVERY (TCP_PORTS?, UDP_PORTS?, ICMP?)>
<!ELEMENT TCP_ADDITIONAL (HAS_ADDITIONAL?, ADDITIONAL_PORTS?)>
<!ELEMENT CUSTOM_PORT (#PCDATA)>
<!ELEMENT ICMP (#PCDATA)>
<!ELEMENT BLOCK_RESOURCES ((WATCHGUARD_DEFAULT_BLOCKED_PORTS|CUSTOM_PORT_LIST), (ALL_REGISTERED_IPS|CUSTOM_IP_LIST))>
<!ELEMENT WATCHGUARD_DEFAULT_BLOCKED_PORTS (#PCDATA)>
<!ELEMENT CUSTOM_PORT_LIST (#PCDATA)>
<!ELEMENT ALL_REGISTERED_IPS (#PCDATA)>
<!ELEMENT CUSTOM_IP_LIST (#PCDATA)>
<!ELEMENT PACKET_OPTIONS (IGNORE_FIREWALL_GENERATED_TCP_RST?, IGNORE_ALL_TCP_RST?,  IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK?, NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY?)>
<!ELEMENT IGNORE_FIREWALL_GENERATED_TCP_RST (#PCDATA)>
<!ELEMENT IGNORE_ALL_TCP_RST (#PCDATA)>
<!ELEMENT IGNORE_FIREWALL_GENERATED_TCP_SYN_ACK (#PCDATA)>
<!ELEMENT NOT_SEND_TCP_ACK_OR_SYN_ACK_DURING_HOST_DISCOVERY (#PCDATA)>
<!ELEMENT INSTANCE_DATA_COLLECTION (DATABASES?)>
<!ELEMENT DATABASES (AUTHENTICATION_TYPES_LIST)>
<!ELEMENT AUTHENTICATION_TYPES_LIST  (AUTHENTICATION_TYPE+)>
<!ELEMENT OS_BASED_INSTANCE_DISC_COLLECTION (TECHNOLOGIES?)>
<!ELEMENT TECHNOLOGIES (TECHNOLOGY+)>
<!ELEMENT TECHNOLOGY  (#PCDATA)>
<!ELEMENT DEAD_HOST_PROCESSING (PROCESS_DEAD_HOST_ENABLED?, DEAD_HOST_TIMES_NOT_FOUND?)>
<!ELEMENT PROCESS_DEAD_HOST_ENABLED (#PCDATA)>
<!ELEMENT DEAD_HOST_TIMES_NOT_FOUND (#PCDATA)>
<!ELEMENT AGENT_CORRELATION_IDENTIFIER (IS_AGENT_CORRELATION_ID_ENABLED?, AGENT_CORRELATION_ID_PORTS?)>
<!ELEMENT IS_AGENT_CORRELATION_ID_ENABLED (#PCDATA)>
<!ELEMENT AGENT_CORRELATION_ID_PORTS (#PCDATA)>

Infoblox Record API: Update Details for HashiCorp and Wallix Authentication Vaults

New or Updated API Updated
API Endpoint /api/2.0/fo/auth/infoblox
Method GET and POST
DTD or XSD changes No

With this release, we have updated the Infoblox API to update the authentication records created using HashiCorp or Wallix authentication vault.

Previously, when updating the authentication records created using HashiCorp or Wallix vault, the authentication record type was incorrectly getting converted to basic. To address this, the API now requires you to include the following existing parameters when updating the authentication record:

  • login_type
  • vault_type
  • secret_kv_name
  • secret_kv_key

Including these parameters ensures that vault updates are applied correctly without being converted to the basic type.

Input ParametersInput Parameters

Parameter Name Required / Optional Data Type Description
login_type={basic|vault} Required Boolean The login type is basic by default. You can choose vault (for vault based authentication).
vault_type={value} Required String The vault type to be used for authentication.
secret_kv_name={value} Required String The secret name which stores key-value pairs.
secret_kv_key={value} Required Integer The key name for identifying a specific key-value pair.

The above input parameters are mandatory when updating the authentication record for HashiCorp or Wallix authentication vaults details only.

Sample - Update Infoblox Record for HashiCorp and Wallix Authentication VaultsSample - Update Infoblox Record for HashiCorp and Wallix Authentication Vaults

API  Request

curl -s -S -H 'X-Requested-With:curl demo2' -u "<username>:<password>" -d "action=update&ids=6975476&add_ips=1.1.1.94&login_type=vault&vault_type=HashiCorp&secret_kv_name=secret&secret_kv_key=key"  "<qualys_base_url>/api/2.0/fo/auth/infoblox/"

API Response

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BATCH_RETURN SYSTEM "<qualys_base_url>/api/2.0/batch_return.dtd">
<BATCH_RETURN>
    <RESPONSE>
        <DATETIME>2025-08-22T10:21:50Z</DATETIME>
        <BATCH_LIST>
            <BATCH>
                <TEXT>Successfully Updated</TEXT>
                <ID_SET>
                    <ID>6975476</ID>
                </ID_SET>
            </BATCH>
        </BATCH_LIST>
    </RESPONSE>
</BATCH_RETURN>

EOS/EOL in Policy Audit/Policy Compliance APIs

With this release, all Policy Audit/Policy Compliance API versions will follow a defined lifecycle ending in June 2026. After the 1.1.0 release, each API version will remain valid for one year, comprising six months of End Of Service (EOS) followed by six months of End Of Life (EOL).

The API response returns the following warning messages:

  • Before the EOS period:
    API EOS Warning This API Path "<qualys_base_url>/api/2.0/fo/asset/host/?action=list" will be EOS in 84 days and EOL in 265 days. Please use new API path "<qualys_base_url>/api/5.0/fo/asset/host/?action=list". //
  • After EOS and before EOL:
    API EOS Warning   This API Path "<qualys_base_url>api/2.0/fo/asset/host/?action=list" has reached End-of-Service (EOS) and EOL in 265 days. Please use new API path "<qualys_base_url>/api/5.0/fo/asset/host/?action=list". //
  • After the EOL period, it returns an error message:
    <RESPONSE>
    <DATETIME>2025-10-07T08:41:54Z</DATETIME>
    <CODE>2510</CODE>
    <TEXT>API URL <qualys_base_url>api/2.0/fo/asset/host/?action=list is EOL. Use new API path <qualys_base_url>api/5.0/fo/asset/host/?action=list </TEXT></RESPONSE>

Refer to the table below for the specific timeline of the APIs:

API Name API EOS EOL
Asset Host API /api/5.0/fo/asset/host/index.php (latest)
/api/2.0/fo/asset/host/index.php December 2025 June 2026
/api/3.0/fo/asset/host/index.php December 2025 June 2026
/api/4.0/fo/asset/host/index.php December 2025 June 2026
Schedule Scan /api/5.0/fo/schedule/scan/index.php (latest)    
/api/2.0/fo/schedule/scan/index.php December 2025 June 2026
/api/3.0/fo/schedule/scan/index.php December 2025 June 2026
/api/4.0/fo/schedule/scan/index.php December 2025 June 2026
MySQL Authentication /api/3.0/fo/auth/mysql/index.php (latest)
/api/2.0/fo/auth/mysql/index.php December 2025 June 2026
PC Option Profile /api/5.0/fo/subscription/option_profile/pc/index.php (latest)
/api/2.0/fo/subscription/option_profile/pc/index.php December 2025 June 2026
/api/3.0/fo/subscription/option_profile/pc/index.php December 2025 June 2026
/api/4.0/fo/subscription/option_profile/pc/index.php December 2025 June 2026
Option Profile /api/4.0/fo/subscription/option_profile/index.php (latest)
/api/2.0/fo/subscription/option_profile/index.php December 2025 June 2026
/api/3.0/fo/subscription/option_profile/index.php December 2025 June 2026
Authentication /api/3.0/fo/auth/index.php (latest)
/api/2.0/fo/auth/index.php December 2025 June 2026
Sybase Authentication /api/3.0/fo/auth/sybase/index.php (latest)
/api/2.0/fo/auth/sybase/index.php December 2025 June 2026
Control List /api/4.0/fo/compliance/control/index.php (latest)
/api/2.0/fo/compliance/control/index.php December 2025 June 2026
/api/3.0/fo/compliance/control/index.php December 2025 June 2026
Policy /api/4.0/fo/compliance/policy/index.php (latest)
/api/2.0/fo/compliance/policy/index.php December 2025 June 2026
/api/3.0/fo/compliance/policy/index.php December 2025 June 2026
PCRS HostIds /pcrs/3.0/posture/hostids (latest)
/pcrs/1.0/posture/hostids December 2025 June 2026
/pcrs/2.0/posture/hostids December 2025 June 2026
Posture Info /pcrs/3.0/posture/postureInfo (latest)
/pcrs/1.0/posture/postureInfo December 2025 June 2026
/pcrs/2.0/posture/postureInfo December 2025 June 2026
Report /api/3.0/fo/report/index.php (latest)
/api/2.0/fo/report/index.php December 2025 June 2026
Asset Group /api/3.0/fo/asset/group/index.php (latest)
/api/2.0/fo/asset/group/index.php December 2025 June 2026
Asset IP /api/3.0/fo/asset/ip/index.php (latest)
/api/2.0/fo/asset/ip/index.php December 2025 June 2026
Scan /api/3.0/fo/scan/index.php
/api/2.0/fo/scan/index.php December 2025 June 2026

For more information on EOS and EOL, refer to our blog.