# Start virus scan

This function starts a ClamAV® scan on a directory.

Note:

You must run the APIs in this order:

1. Run ClamScanner::start_scan to start the virus scan.
2. Run ClamScanner::get_scan_status in a loop until the scan is finished.
3. Run ClamScanner::list_infected_files to get a report of the complete list of infected files.
4. Decide how you want to handle each infected file.
5. Run ClamScanner::disinfect_files to queue the disinfection of the files.
6. Run ClamScanner::check_disinfection_status in a loop until you get a done status.

Endpoint: GET /ClamScanner/start_scan
Version: 11.136.0.25
Security: BasicAuth

## Query parameters:

  - `scan_type` (any, required)
    The type of directory to scan.

* home — User's entire home directory
* mail — User's email directory
* public_html — User's web directory
* public_ftp — User's ftp directory
    Enum: "home", "mail", "public_html", "public_ftp"

## Response 200 fields (application/json):

  - `apiversion` (integer)
    The version of the API.
    Example: 3

  - `func` (string)
    The name of the method called.
    Example: "start_scan"

  - `module` (string)
    The name of the module called.
    Example: "ClamScanner"

  - `result` (object)

  - `result.data` (object,null)

  - `result.errors` (array,null)
    List of errors if the API failed.

  - `result.messages` (array,null)
    List of messages generated by the API.

  - `result.metadata` (object)

  - `result.status` (integer)
    * 1 - Success.
* 0 - Failed. Check the errors field for more details.
    Enum: 0, 1

  - `result.warnings` (array,null)
    List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.


