Search Schedule

[POST] /qps/rest/3.0/search/was/wasscanschedule

Returns a list of scheduled scans on web applications that are in the user’s scope.

Permissions required - User must have WAS module enabled. User account must have these permissions: Access Permission “API Access”. The output includes scan targets in the user's scope.

Input ParametersInput Parameters

These elements are optional and act as filters. When multiple elements are specified, parameters are combined using a logical AND. All dates must be entered in UTC date/time format. See Reference: WasScanSchedule for descriptions of these <WasScanSchedule> elements.

Click here for available operators

Parameter

Mandatory

/Optional

Data Type

Description

id

Optional

integer

The schedule ID. This element is assigned by the service and is required for a certain type of request.

name

Optional

text

The user-defined schedule name (maximum 256 characters).

owner.id

Optional

integer

ID associated with the owner who created the schedule.

createdDate

Optional

date

The date when the schedule  was created in WAS, in UTC date/time format.

updatedDate

Optional

date

The date when the schedule  was created in WAS, in UTC date/time format.

active

Optional

boolean

Indicates whether the schedule is active or not. True indicates active schedule.

type

Optional

keyword

The scheduled scan type: VULNERABILITY or DISCOVERY.

webApp.name

Optional

text

The name of the web application being scanned.

webApp.id

Optional

integer

The ID of the web application being scanned.

webApp.tags (with operator="NONE")

Optional

keyword

Tags associated with the web application being scanned.

webApp.tags.id

Optional

integer

ID of the tag applied to the web application being scanned.

invalid

Optional boolean

Indicates the schedule is invalid. The web application to which the schedule was applied is deleted and hence the schedule is invalid.

lastScan (with operation="NONE")

Optional boolean

Indicates if the last scan was performed or not. True indicates that the last scan was performed.

lastScan.launchedDate

Optional date

Date when the last scan was launched on the web application, in UTC date/time format.

lastScan.status

Optional keyword

Scan status reported by last web application scan: SUBMITTED, RUNNING, FINISHED, TIME_LIMIT_EXCEEDED, SCAN_NOT_LAUNCHED, SCANNER_NOT_AVAILABLE, ERROR, CANCELED)

multi

Optional boolean

Indicates if the scheduled scan is single scan or multiple scan.

Sample - List of schedules never launchedSample - List of schedules never launched

Let us view a list of all schedules that are in the user’s scope but were not launched.

API request

curl -u "USERNAME:PASSWORD" -H "content-type: text/xml" -X "POST" "<qualys_base_url>/qps/rest/3.0/search/was/wasscanschedule < file.xml"
Note: “file.xml” contains the request POST data.      
    

Request POST data

<ServiceRequest>
    <filters>
        <Criteria field="lastScan" operator="NONE"></Criteria>
    </filters>
</ServiceRequest>     
    

XML response

<?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://qualysapi.qualys.com/qps/xsd/3.0/was/wasscanschedule.xsd">
    <responseCode>SUCCESS</responseCode>
    <count>1</count>
    <hasMoreRecords>false</hasMoreRecords>
    <data>
    <WasScanSchedule>
        <id>171425669</id>
        <name>
        <![CDATA[Web Application Vulnerability Scan - 2017-Aug-19]]>
        </name>
        <owner>
        <id>8792415669</id>
        </owner>
        <active>false</active>
        <type>VULNERABILITY</type>
        <target>
        <webApp>
            <id>1296335669</id>
            <name>
            <![CDATA[My Web Application]]>
            </name>
            <url>
            <![CDATA[http://10.10.1.100]]>
            </url>
        </webApp>
        <webAppAuthRecord>
            <id>175535669</id>
            <name>
            <![CDATA[AR1]]>
            </name>
        </webAppAuthRecord>
        <scannerAppliance>
            <type>EXTERNAL</type>
        </scannerAppliance>
        </target>
        <profile>
        <id>716315669</id>
        <name>
            <![CDATA[Copy of Initial WAS Options]]>
        </name>
        </profile>
        <scheduling>
        <startDate>2017-08-19T12:30:00Z</startDate>
        <timeZone>
            <code>America/Dawson</code>
            <offset>-07:00</offset>
        </timeZone>
        <occurrenceType>ONCE</occurrenceType>
        </scheduling>
        <createdDate>2017-08-19T19:30:49Z</createdDate>
        <updatedDate>2017-08-19T19:30:50Z</updatedDate>
    </WasScanSchedule>
    </data>
</ServiceResponse>  
    

Sample - List launched schedulesSample - List launched schedules

Let us view a list of all schedules that are in the user’s scope and were launched.

API request

curl -u "USERNAME:PASSWORD" -H "content-type: text/xml" -X "POST" --data-binary @- "<qualys_base_url>/qps/rest/3.0/search/was/wasscanschedule" < file.xml
Note: “file.xml” contains the request POST data.      
    

Request POST data

<ServiceRequest>
    <filters>
        <Criteria field="lastScan.status" operator="IN">FINISHED,ERROR</Criteria>
        <Criteria field="lastScan.launchedDate" operator="LESSER">2017-08-19</Criteria>
    </filters>
</ServiceRequest>    
    

XML response

 …
    undefined</WasScanSchedule>undefined<WasScanSchedule>
<id>97354000</id>
<name>
    <![CDATA[Schedule Notification]]>
</name>
<owner>
    <id>334527</id>
</owner>
<active>false</active>
<type>VULNERABILITY</type>
<target>
    <webApp>
        <id>1061764000</id>
        <name>
            <![CDATA[My Web App]]>
        </name>
        <url>
            <![CDATA[http://10.10.26.238]]>
        </url>
    </webApp>
    <webAppAuthRecord>
        <id>8753</id>
        <name>
            <![CDATA[Auth Record 1]]>
        </name>
    </webAppAuthRecord>
    <scannerAppliance>
        <type>EXTERNAL</type>
    </scannerAppliance>
</target>
<profile>
    <id>55784</id>
    <name>
        <![CDATA[Initial WAS Options]]>
    </name>
</profile>
<scheduling>
    <startDate>2017-05-06T18:22:00Z</startDate>
    <timeZone>
        <code>America/Dawson</code>
        <offset>-07:00</offset>
    </timeZone>
    <occurrenceType>DAILY</occurrenceType>
    <occurrence>
        <dailyOccurrence>
            <everyNDays>1</everyNDays>
        </dailyOccurrence>
    </occurrence>
</scheduling>
<lastScan>
    <id>14929668885</id>
    <launchedDate>2017-05-12T01:22:02Z</launchedDate>
    <status>FINISHED</status>
</lastScan>
<createdDate>2017-05-06T23:17:23Z</createdDate>
<updatedDate>2017-05-13T01:22:02Z</updatedDate>undefined</WasScanSchedule>
…     
    

Sample - List schedules no criteriaSample - List schedules no criteria

Let us view a list of all schedules that are in the user’s scope and were launched.

API request

curl -u "USERNAME:PASSWORD" -H "content-type: text/xml" -X "POST" --data-binary @- "<qualys_base_url>/qps/rest/3.0/search/was/wasscanschedule" < file.xml
Note: “file.xml” contains the request POST data. Specify an empty file, since no search criteria is being specified.     
    

XML response

<?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="<qualys_base_url>/qps/xsd/3.0/was/wasscanschedule.xsd">
	<responseCode>SUCCESS</responseCode>
	<count>1</count>
	<hasMoreRecords>false</hasMoreRecords>
	<data>
    <WasScanSchedule>
    	<id>649146</id>
    	<name>
        <![CDATA[Web Application Vulnerability Scan - 2018-10-08]]>
    	</name>
    	<owner>
        <id>412791</id>
    	</owner>
    	<active>true</active>
    	<multi>false</multi>
    	<type>VULNERABILITY</type>
    	<target>
        <webApp>
        	<id>8077389</id>
        	<name>
            <![CDATA[SampleWebApp_1538665472012 ]]>
        	</name>
        	<url>
            <![CDATA[http://funkytown.vuln.qa.example.com:80/cassium/xss/]]>
        	</url>
        </webApp>
        <scannerAppliance>
        	<type>EXTERNAL</type>
        </scannerAppliance>
        <cancelOption>SPECIFIC</cancelOption>
    	</target>
    	<profile>
        <id>1162483</id>
        <name>
        	<![CDATA[Option Profile]]>
        </name>
    	</profile>
    	<scheduling>
        <startDate>2018-10-08T16:41:00Z</startDate>
        <timeZone>
        	<code>Asia/Colombo</code>
        	<offset>+05:30</offset>
        </timeZone>
        <occurrenceType>ONCE</occurrenceType>
    	</scheduling>
    	<nextLaunchDate>2018-10-09T11:11:00Z</nextLaunchDate>
    	<createdDate>2018-10-08T11:12:28Z</createdDate>
    	<updatedDate>2018-10-08T11:12:29Z</updatedDate>
    </WasScanSchedule>
	</data>
</ServiceResponse>      
    

Sample - List active schedulesSample - List active schedules

Let us view a list of all schedules that are in the user’s scope and were launched.

API request

curl -u "USERNAME:PASSWORD" -H "content-type: text/xml" -X "POST" --data-binary @- "<qualys_base_url>/qps/rest/3.0/search/was/wasscanschedule" < file.xml
Note: “file.xml” contains the request POST data.      
    

Request POST data

<ServiceRequest>
    <filters>
        <Criteria field="active" operator="EQUALS">true</Criteria>
        <Criteria field="type" operator="EQUALS">VULNERABILITY</Criteria>
    </filters>
</ServiceRequest>      
    

XML response

<?xml version="1.0" encoding="UTF-8"?>
<ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="<qualys_base_url>/qps/xsd/3.0/was/wasscanschedule.xsd">
    <responseCode>SUCCESS</responseCode>
    <count>1</count>
    <hasMoreRecords>false</hasMoreRecords>
    <data>
    <WasScanSchedule>
        <id>649146</id>
        <name>
        <![CDATA[Web Application Vulnerability Scan - 2018-10-08]]>
        </name>
        <owner>
        <id>412791</id>
        </owner>
        <active>true</active>
        <multi>false</multi>
        <type>VULNERABILITY</type>
        <target>
        <webApp>
            <id>8077389</id>
            <name>
            <![CDATA[SampleWebApp_1538665472012 ]]>
            </name>
            <url>
            <![CDATA[http://funkytown.vuln.qa.example.com:80/cassium/xss/]]>
            </url>
        </webApp>
        <scannerAppliance>
            <type>EXTERNAL</type>
        </scannerAppliance>
        <cancelOption>SPECIFIC</cancelOption>
        </target>
        <profile>
        <id>1162483</id>
        <name>
            <![CDATA[Option Profile]]>
        </name>
        </profile>
        <scheduling>
        <startDate>2018-10-08T16:41:00Z</startDate>
        <timeZone>
            <code>Asia/Colombo</code>
            <offset>+05:30</offset>
        </timeZone>
        <occurrenceType>ONCE</occurrenceType>
        </scheduling>
        <nextLaunchDate>2018-10-09T11:11:00Z</nextLaunchDate>
        <createdDate>2018-10-08T11:12:28Z</createdDate>
        <updatedDate>2018-10-08T11:12:29Z</updatedDate>
    </WasScanSchedule>
    </data>
</ServiceResponse>  

<platform API server>/qps/xsd/3.0/was/webappauthrecord.xsd