---
title: "Start disinfecting files with viruses"
method: POST
path: "/ClamScanner/disinfect_files"
tags: ["ClamScanner", "Antivirus Protection (ClamAV)"]
---

# Start disinfecting files with viruses

`POST /ClamScanner/disinfect_files`

This function applies the disinfection option selected by the user
for each infected file.

**Note:**

You must run the APIs in this order:

1. Run [`ClamScanner::start_scan`](https://go.cpanel.net/ClamScanner-start-scan) to start the virus scan.
2. Run [`ClamScanner::get_scan_status`](https://go.cpanel.net/ClamScanner-get-scan-status) in a loop until the scan is finished.
3. Run [`ClamScanner::list_infected_files`](https://go.cpanel.net/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`](https://go.cpanel.net/ClamScanner-disinfect-files) to queue the disinfection of the files.
6. Run [`ClamScanner::check_disinfection_status`](https://go.cpanel.net/ClamScanner-check-disinfection-status) in a loop until you get a done status.

## Request body

- object
  - `actions` object — The user provides the actions to perform on each specific infected file found in the scan.

## Response `200`

HTTP Request was successful.

- object
  - `apiversion` integer — The version of the API.
  - `func` string — The name of the method called.
  - `module` string — The name of the module called.
  - `result` object
    - `data` object
      - `log` string — Path to the disinfection log file. The log file will contain a list of JSON objects one per line. If the last line is: `{ "status": "done" }` the requested files with viruses have be handled as requested. Use the /ClamScanner/check_disinfection_status API to check the status of a running or finished disinfection.
      - `task_id` string — The Task Queue system's task ID number.
    - `errors` string[], nullable — List of errors if the API failed.
    - `messages` string[], nullable — List of messages generated by the API.
    - `metadata` object
    - `status` 0 | 1 — * `1` - Success. * `0` - Failed. Check the `errors` field for more details.
    - `warnings` string[], nullable — List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.

---

[API](https://skmtc.net/cpanel/apis/cpanel-uapi.md) · [All operations](https://skmtc.net/cpanel/apis/cpanel-uapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpanel/cpanel-uapi/revisions/632e2f8e6d04/schema)
