---
title: VirusTotal Analysis
slug: connectors/virustotal-analysis
docTags: 
createdAt: 2026-06-09T16:29:46.648Z
---

Virustotal is an online service that analyzes files and URLs for viruses, worms, trojans, and other kinds of malicious content.

VirusTotal is a leading platform for analyzing suspicious files, URLs, domains, and IP addresses to detect malware and other security threats. The VirusTotal Analysis Connector enables seamless integration with Swimlane Turbine, allowing users to automate the submission and retrieval of comprehensive security reports. This integration enhances threat detection and response capabilities by providing detailed insights and actionable intelligence, streamlining security operations and improving incident response times.

## Prerequisites

Before you can use the VirusTotal Analysis connector for Turbine, you'll need access to the VirusTotal API. This requires the following:

- an API key authentication using the following parameters:
  - URL: The endpoint for accessing VirusTotal services.
  - API Key: A unique key provided by VirusTotal for authenticating requests.

## Public Key:

1. In order to get the API key, you must first register with the VirusTotal Community by going [here](https://www.virustotal.com/gui/sign-in). Then click **New? Join the community**.
2. Provide a name, email, username, and password. Once complete,
   click **Join us**. An activation link will be sent to the email you provided.
3. Click on the activation link to activate your VirusTotal Community membership.
4. Return to the VirusTotal homepage and click the blue message icon on the lower right-hand corner of the homepage.
   This will bring up the VirusTotal Bot window. Click the option, **I have a feed of new files that I can upload, I want free API quota to do so**.
5. A window opens where you can create a message to VirusTotal. Complete the **Subject** and **Email** fields and then include a simple message stating why you need a free API Key.
6. Once VirusTotal reviews your message, you can sign into your account and find your public API in the corresponding menu item, API key, under your username.

### Premium Key:

1. Login to your account. Click your username and then click **API key**.
2. Click **Request premium API key**.
3. Fill out the request prompt on this page. Required fields include "Company size", "Company country", and "Already paying customer?".
4. Virus Total will respond to your request.

## Capabilities

This connector has the capability to get different kinds of reports including domain, file hash, IP, and URL reports. VirusTotal is also able to scan either a file or a URL.

- Analyse a URL
- Analyse File
- Analyses Get
- Delete a Private File Report
- Get a Domain Report
- Get a File Report
- Get a Private File Report
- Get a URL for Uploading Large Files
- Get a URL Report
- Get a Widget Rendering URL
- Get an IP Address Report
- Get List of Private Files
- Get Object Descriptors Related to a File
- Get Objects Related to a Private File
- Reanalyse File
  *... and so on*

## Asset Setup

The asset requires an API key to use. If your organization requires the use of a proxy, then that proxy can be used during the asset setup.
The Public API:

- is limited to 500 requests per day and a rate of 4 requests per minute
- must not be used in commercial products or services
- must not be used in business workflows that do not contribute new files

## Notes

For more information on VirusTotal:
[VirusTotal Documentation](https://developers.virustotal.com/v3.0/)
[Public API vs. Premium API](https://developers.virustotal.com/v3.0/reference#public-vs-premium-api)
[Obtaining Public API Key](https://support.virustotal.com/hc/en-us/articles/115002088769-Please-give-me-an-API-key)

# Configurations

## VirusTotal API Key Authentication

Authenticates using an API Key

### Configuration Parameters

| **Parameter**       | **Description**                                  | **Type** | **Required** |
| ------------------- | ------------------------------------------------ | -------- | ------------ |
| url                 | A URL to the target host.                        | string   | Required     |
| x-apikey            | API key                                          | string   | Required     |
| error\_status\_code | The Status codes more than 300 can also be used. | boolean  | Optional     |
| verify\_ssl         | Verify SSL certificate.                          | boolean  | Optional     |
| http\_proxy         | A proxy to route requests through.               | string   | Optional     |

# Actions

## Analyse a URL

Submit a URL to Virustotal for comprehensive security analysis and receive detailed results. Requires a data body input.

### Endpoint

- **URL:** `api/v3/urls`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description** |
| ----------------- | -------- | ------------ | --------------- |
| `data_body`       | object   | Required     | Data Body       |
| `data_body.url`   | string   | Required     | URL to analyse  |

### Input Example

`{"data_body":{"url":"https://example.com/api/resource"}}`

### Output

| **Parameter**     | **Type** | **Description**                  |
| ----------------- | -------- | -------------------------------- |
| `status_code`     | number   | HTTP status code of the response |
| `reason`          | string   | Response reason phrase           |
| `data`            | object   | Response data                    |
| `data.type`       | string   | Response data                    |
| `data.id`         | string   | Response data                    |
| `data.links`      | object   | Response data                    |
| `data.links.self` | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"bae3ee6e9bb6214c9bd1fe4cd0dab04a;o=1","Date":"Wed, 06 Mar 2024 15:19:50 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"type":"analysis","id":"u-dd014af5ed6b38d9130e3f466f850e46d21b951199d53a18ef29ee9341614eaf-1709738102","links":{}}}}`

## Analyse File

Initiate a comprehensive threat analysis on specified files using VirusTotal. Requires the 'files' input.

### Endpoint

- **URL:** `api/v3/files`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**            |
| ----------------- | -------- | ------------ | -------------------------- |
| `files`           | object   | Required     | File to be analysed        |
| `files.file`      | string   | Optional     | Parameter for Analyse File |
| `files.file_name` | string   | Optional     | Name of the resource       |

### Input Example

`{"files":{"file":"string","file_name":"Example Name"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `data`        | object   | Response data                    |
| `data.type`   | string   | Response data                    |
| `data.id`     | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Cache-Control":"no-cache","Content-Type":"application/json; charset=utf-8","X-Cloud-Trace-Context":"a5acdfac6cf89cdca49f7b3fbc7f5a51","Date":"Fri, 21 Oct 2022 23:00:30 GMT","Server":"Google Frontend","Content-Length":"128"},"reason":"OK","json_body":{"data":{"type":"analysis","id":"MGIyNmUzMTNlZDRhN2NhNjkwNGIwZTkzNjllNWI5NTc6MTY2NjM5MzIzMA=="}}}`

## Get Analyses

Retrieve detailed results of a specific Virustotal analysis using the provided unique analysis ID.

### Endpoint

- **URL:** `api/v3/analyses/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description** |
| -------------------- | -------- | ------------ | --------------- |
| `path_parameters.id` | string   | Required     | Analyses ID     |

### Input Example

`{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"}}`

### Output

| **Parameter**                                                 | **Type** | **Description**                      |
| ------------------------------------------------------------- | -------- | ------------------------------------ |
| `status_code`                                                 | number   | HTTP status code of the response     |
| `reason`                                                      | string   | Response reason phrase               |
| `meta`                                                        | object   | Output field: meta                   |
| `meta.file_info`                                              | object   | Output field: meta.file\_info        |
| `meta.file_info.sha256`                                       | string   | Output field: meta.file\_info.sha256 |
| `meta.url_info`                                               | object   | URL endpoint for the request         |
| `meta.url_info.url`                                           | string   | URL endpoint for the request         |
| `meta.url_info.id`                                            | string   | URL endpoint for the request         |
| `data`                                                        | object   | Response data                        |
| `data.attributes`                                             | object   | Response data                        |
| `data.attributes.date`                                        | number   | Response data                        |
| `data.attributes.status`                                      | string   | Response data                        |
| `data.attributes.stats`                                       | object   | Response data                        |
| `data.attributes.stats.harmless`                              | number   | Response data                        |
| `data.attributes.stats.malicious`                             | number   | Response data                        |
| `data.attributes.stats.suspicious`                            | number   | Response data                        |
| `data.attributes.stats.undetected`                            | number   | Response data                        |
| `data.attributes.stats.timeout`                               | number   | Response data                        |
| `data.attributes.results`                                     | object   | Response data                        |
| `data.attributes.results.CMC Threat Intelligence`             | object   | Response data                        |
| `data.attributes.results.CMC Threat Intelligence.category`    | string   | Response data                        |
| `data.attributes.results.CMC Threat Intelligence.result`      | string   | Response data                        |
| `data.attributes.results.CMC Threat Intelligence.method`      | string   | Response data                        |
| `data.attributes.results.CMC Threat Intelligence.engine_name` | string   | Response data                        |
| `data.attributes.results.Snort IP sample list`                | object   | Response data                        |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","X-Cloud-Trace-Context":"9329b5c3a5d9b073bf06159442868317","Date":"Wed, 12 Oct 2022 18:39:23 GMT","Server":"Google Frontend","Content-Length":"21095"},"reason":"OK","json_body":{"meta":{"file_info":{},"url_info":{}},"data":{"attributes":{},"type":"analysis","id":"u-c93bb9e8e5bb2cd834049c9640361aeb17a124e95c9f0655eeb6a3a422f4c229-1660246342","links":{}}}}`

## Delete a Private File Report

Remove a private file and its data from Virustotal storage using the provided file\_id, with an option for storage-only deletion.

### Endpoint

- **URL:** `api/v3/private/files/{{file_id}}`
- **Method:** `DELETE`

### Input

| **Argument Name**              | **Type** | **Required** | **Description**                                                                                    |
| ------------------------------ | -------- | ------------ | -------------------------------------------------------------------------------------------------- |
| `path_parameters.file_id`      | string   | Required     | File's SHA-256.                                                                                    |
| `parameters.only_from_storage` | boolean  | Optional     | If true, only the file will be deleted from storage, but the generated reports and analyses won't. |

### Input Example

`{"parameters":{"only_from_storage":false},"path_parameters":{"file_id":"d5f5219fcedff1bc168504efa3def41d300a9307181a37e31c19aa11b811555c"}}`

### Output

| **Parameter**   | **Type** | **Description**                  |
| --------------- | -------- | -------------------------------- |
| `status_code`   | number   | HTTP status code of the response |
| `reason`        | string   | Response reason phrase           |
| `response_text` | string   | Output field: response\_text     |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"text/html; charset=utf-8","X-Cloud-Trace-Context":"39a82051ea701901ee7da8de8e56bd36","Date":"Wed, 12 Jun 2024 07:21:32 GMT","Server":"Google Frontend","Content-Length":"0"},"reason":"OK","response_text":""}`

## Get a Domain Report

Retrieve a comprehensive report for a specific domain from Virustotal Analysis, detailing security data and activity logs. Requires the domain as a path parameter.

### Endpoint

- **URL:** `/api/v3/domains/{{domain}}`
- **Method:** `GET`

### Input

| **Argument Name**        | **Type** | **Required** | **Description** |
| ------------------------ | -------- | ------------ | --------------- |
| `path_parameters.domain` | string   | Required     | Domain name.    |

### Input Example

`{"path_parameters":{"domain":"swimlane.com"}}`

### Output

| **Parameter**                                                                | **Type** | **Description**                  |
| ---------------------------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                                                | number   | HTTP status code of the response |
| `reason`                                                                     | string   | Response reason phrase           |
| `data`                                                                       | object   | Response data                    |
| `data.id`                                                                    | string   | Response data                    |
| `data.type`                                                                  | string   | Response data                    |
| `data.links`                                                                 | object   | Response data                    |
| `data.links.self`                                                            | string   | Response data                    |
| `data.attributes`                                                            | object   | Response data                    |
| `data.attributes.total_votes`                                                | object   | Response data                    |
| `data.attributes.total_votes.harmless`                                       | number   | Response data                    |
| `data.attributes.total_votes.malicious`                                      | number   | Response data                    |
| `data.attributes.last_https_certificate`                                     | object   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature`                      | object   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature.signature_algorithm`  | string   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature.signature`            | string   | Response data                    |
| `data.attributes.last_https_certificate.extensions`                          | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.key_usage`                | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.extended_key_usage`       | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.CA`                       | boolean  | Response data                    |
| `data.attributes.last_https_certificate.extensions.subject_key_identifier`   | string   | Response data                    |
| `data.attributes.last_https_certificate.extensions.authority_key_identifier` | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.ca_information_access`    | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.subject_alternative_name` | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.certificate_policies`     | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.1.3.6.1.4.1.11129.2.4.2`  | string   | Response data                    |

### Output Example

`{"data":{"id":"12345678-1234-1234-1234-123456789abc","type":"string","links":{"self":"string"},"attributes":{"total_votes":{},"last_https_certificate":{},"popularity_ranks":{},"last_modification_date":123,"registrar":"string","creation_date":123,"jarm":"string","tags":[],"last_analysis_stats":{},"last_dns_records_date":123,"whois_date":123,"tld":"string","last_https_certificate_date":123,"last_dns_records":[],"last_analysis_date":123}}}`

## Get a File Report

Retrieve a detailed report on a file's attributes and security assessments from Virustotal using the file's unique ID.

### Endpoint

- **URL:** `/api/v3/files/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                             |
| -------------------- | -------- | ------------ | ------------------------------------------- |
| `path_parameters.id` | string   | Required     | SHA-256, SHA-1 or MD5 identifying the file. |

### Input Example

`{"path_parameters":{"id":"c4f994a3bc2998e15a0c72a355f1ec2e1a03f555a7213237e256caf634084712"}}`

### Output

| **Parameter**                                           | **Type** | **Description**                  |
| ------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                           | number   | HTTP status code of the response |
| `reason`                                                | string   | Response reason phrase           |
| `data`                                                  | object   | Response data                    |
| `data.id`                                               | string   | Response data                    |
| `data.type`                                             | string   | Response data                    |
| `data.links`                                            | object   | Response data                    |
| `data.links.self`                                       | string   | Response data                    |
| `data.attributes`                                       | object   | Response data                    |
| `data.attributes.last_modification_date`                | number   | Response data                    |
| `data.attributes.last_analysis_stats`                   | object   | Response data                    |
| `data.attributes.last_analysis_stats.malicious`         | number   | Response data                    |
| `data.attributes.last_analysis_stats.suspicious`        | number   | Response data                    |
| `data.attributes.last_analysis_stats.undetected`        | number   | Response data                    |
| `data.attributes.last_analysis_stats.harmless`          | number   | Response data                    |
| `data.attributes.last_analysis_stats.timeout`           | number   | Response data                    |
| `data.attributes.last_analysis_stats.confirmed-timeout` | number   | Response data                    |
| `data.attributes.last_analysis_stats.failure`           | number   | Response data                    |
| `data.attributes.last_analysis_stats.type-unsupported`  | number   | Response data                    |
| `data.attributes.tags`                                  | array    | Response data                    |
| `data.attributes.magic`                                 | string   | Response data                    |
| `data.attributes.last_analysis_date`                    | number   | Response data                    |
| `data.attributes.md5`                                   | string   | Response data                    |
| `data.attributes.ssdeep`                                | string   | Response data                    |
| `data.attributes.sha256`                                | string   | Response data                    |
| `data.attributes.threat_severity`                       | object   | Response data                    |

### Output Example

`{"data":{"id":"12345678-1234-1234-1234-123456789abc","type":"string","links":{"self":"string"},"attributes":{"last_modification_date":123,"last_analysis_stats":{},"tags":[],"magic":"string","last_analysis_date":123,"md5":"string","ssdeep":"string","sha256":"string","threat_severity":{},"type_tags":[],"bundle_info":{},"type_extension":"string","exiftool":{},"type_description":"string","times_submitted":123}}}`

## Get a Private File Report

Retrieve a detailed report for a privately scanned file on Virustotal using the provided unique file ID.

### Endpoint

- **URL:** `api/v3/private/files/{{file_id}}`
- **Method:** `GET`

### Input

| **Argument Name**         | **Type** | **Required** | **Description** |
| ------------------------- | -------- | ------------ | --------------- |
| `path_parameters.file_id` | string   | Required     | File's SHA-256. |

### Input Example

`{"path_parameters":{"file_id":"8e958dc75f488ba304bab672366a020b0d2870633a982ce7830f61b4fce4599e"}}`

### Output

| **Parameter**                                                          | **Type** | **Description**                  |
| ---------------------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                                          | number   | HTTP status code of the response |
| `reason`                                                               | string   | Response reason phrase           |
| `data`                                                                 | object   | Response data                    |
| `data.id`                                                              | string   | Response data                    |
| `data.type`                                                            | string   | Response data                    |
| `data.links`                                                           | object   | Response data                    |
| `data.links.self`                                                      | string   | Response data                    |
| `data.attributes`                                                      | object   | Response data                    |
| `data.attributes.md5`                                                  | string   | Response data                    |
| `data.attributes.ssdeep`                                               | string   | Response data                    |
| `data.attributes.threat_severity`                                      | object   | Response data                    |
| `data.attributes.threat_severity.version`                              | number   | Response data                    |
| `data.attributes.threat_severity.threat_severity_level`                | string   | Response data                    |
| `data.attributes.threat_severity.threat_severity_data`                 | object   | Response data                    |
| `data.attributes.threat_severity.last_analysis_date`                   | string   | Response data                    |
| `data.attributes.threat_severity.level_description`                    | string   | Response data                    |
| `data.attributes.type_extension`                                       | string   | Response data                    |
| `data.attributes.sandbox_verdicts`                                     | object   | Response data                    |
| `data.attributes.sandbox_verdicts.OS X Sandbox`                        | object   | Response data                    |
| `data.attributes.sandbox_verdicts.OS X Sandbox.category`               | string   | Response data                    |
| `data.attributes.sandbox_verdicts.OS X Sandbox.malware_classification` | array    | Response data                    |
| `data.attributes.sandbox_verdicts.OS X Sandbox.sandbox_name`           | string   | Response data                    |
| `data.attributes.sandbox_verdicts.OS X Sandbox.confidence`             | number   | Response data                    |
| `data.attributes.sandbox_verdicts.Zenbox`                              | object   | Response data                    |
| `data.attributes.sandbox_verdicts.Zenbox.category`                     | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"3d66aba4cb4dcee73a3382e699c91f80","Date":"Wed, 12 Jun 2024 04:52:01 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"id":"8e958dc75f488ba304bab672366a020b0d2870633a982ce7830f61b4fce4599e","type":"private_file","links":{},"attributes":{}}}}`

## Get a URL for Uploading Large Files

Obtain a single-use URL from Virustotal Analysis for submitting large files for scanning and analysis.

### Endpoint

- **URL:** `api/v3/files/upload_url`
- **Method:** `GET`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `data`        | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"7f353f9791ca00df94952eaf34e7250b","Date":"Wed, 12 Jun 2024 04:34:32 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":"https://www.virustotal.com/_ah/upload/AMmfu6Y1dDqRVV_Nd2t8rZtO8BafAUyIY9bM2eMLqQ..."}}`

## Get a URL Report

Retrieve a detailed URL report from Virustotal Analysis using the unique identifier.

### Endpoint

- **URL:** `/api/v3/urls/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                                                       |
| -------------------- | -------- | ------------ | --------------------------------------------------------------------- |
| `path_parameters.id` | string   | Required     | URL identifier or base64 representation of URL to scan (w/o padding). |

### Input Example

`{"path_parameters":{"id":"4671ca02d929289d11f8855e109d4df50495f875f82cac91fce9d31742dad7ae"}}`

### Output

| **Parameter**                                                           | **Type** | **Description**                  |
| ----------------------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                                           | number   | HTTP status code of the response |
| `reason`                                                                | string   | Response reason phrase           |
| `data`                                                                  | object   | Response data                    |
| `data.id`                                                               | string   | Response data                    |
| `data.type`                                                             | string   | Response data                    |
| `data.links`                                                            | object   | Response data                    |
| `data.links.self`                                                       | string   | Response data                    |
| `data.attributes`                                                       | object   | Response data                    |
| `data.attributes.last_analysis_results`                                 | object   | Response data                    |
| `data.attributes.last_analysis_results.Artists Against 419`             | object   | Response data                    |
| `data.attributes.last_analysis_results.Artists Against 419.method`      | string   | Response data                    |
| `data.attributes.last_analysis_results.Artists Against 419.engine_name` | string   | Response data                    |
| `data.attributes.last_analysis_results.Artists Against 419.category`    | string   | Response data                    |
| `data.attributes.last_analysis_results.Artists Against 419.result`      | string   | Response data                    |
| `data.attributes.last_analysis_results.Acronis`                         | object   | Response data                    |
| `data.attributes.last_analysis_results.Acronis.method`                  | string   | Response data                    |
| `data.attributes.last_analysis_results.Acronis.engine_name`             | string   | Response data                    |
| `data.attributes.last_analysis_results.Acronis.category`                | string   | Response data                    |
| `data.attributes.last_analysis_results.Acronis.result`                  | string   | Response data                    |
| `data.attributes.last_analysis_date`                                    | number   | Response data                    |
| `data.attributes.first_submission_date`                                 | number   | Response data                    |
| `data.attributes.last_final_url`                                        | string   | Response data                    |
| `data.attributes.html_meta`                                             | object   | Response data                    |
| `data.attributes.html_meta.og:image`                                    | array    | Response data                    |
| `data.attributes.html_meta.fb:app_id`                                   | array    | Response data                    |

### Output Example

`{"data":{"id":"12345678-1234-1234-1234-123456789abc","type":"string","links":{"self":"string"},"attributes":{"last_analysis_results":{},"last_analysis_date":123,"first_submission_date":123,"last_final_url":"string","html_meta":{},"times_submitted":123,"last_submission_date":123,"favicon":{},"last_analysis_stats":{},"outgoing_links":[],"threat_severity":{},"total_votes":{},"last_http_response_content_sha256":"string","trackers":{},"last_modification_date":123}}}`

## Get a Widget Rendering URL

Generate a temporary URL for Virustotal visualizations, valid for 72 hours, using the specified 'query' parameter.

### Endpoint

- **URL:** `/api/v3/widget/url`
- **Method:** `GET`

### Input

| **Argument Name**  | **Type** | **Required** | **Description**                                                 |
| ------------------ | -------- | ------------ | --------------------------------------------------------------- |
| `parameters.query` | string   | Required     | A file hash (MD5, SHA1 or SHA256), URL, IP address or a Domain. |
| `parameters.fg1`   | string   | Optional     | Theme primary foreground color in hex notation.                 |
| `parameters.bg1`   | string   | Optional     | Theme primary background color in hex notation.                 |
| `parameters.bg2`   | string   | Optional     | Theme secondary background color in hex notation.               |
| `parameters.bd1`   | string   | Optional     | Theme border color.                                             |

### Input Example

`{"parameters":{"query":"google.com","fg1":"","bg1":"","bg2":"","bd1":""}}`

### Output

| **Parameter**                     | **Type** | **Description**                  |
| --------------------------------- | -------- | -------------------------------- |
| `status_code`                     | number   | HTTP status code of the response |
| `reason`                          | string   | Response reason phrase           |
| `data`                            | object   | Response data                    |
| `data.id`                         | string   | Response data                    |
| `data.url`                        | string   | Response data                    |
| `data.detection_ratio`            | object   | Response data                    |
| `data.detection_ratio.detections` | number   | Response data                    |
| `data.detection_ratio.total`      | number   | Response data                    |
| `data.type`                       | string   | Response data                    |
| `data.found`                      | boolean  | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"aaf8e85aaa1d10216fbefad5e8a52ab1","Date":"Mon, 06 May 2024 09:51:26 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"id":"google.com","url":"https://virustotal.com/ui/widget/html/Z29vZ2xlLmNvbXx8ZG9tYWlufHx7ImJkMSI6ICIjNG...","detection_ratio":{},"type":"domain","found":true...`

## Get an IP Address Report

Retrieve a comprehensive report for a specified IP address from Virustotal Analysis, detailing detected URLs, samples, and associated data. Requires the IP as a path parameter.

### Endpoint

- **URL:** `/api/v3/ip_addresses/{{ip}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description** |
| -------------------- | -------- | ------------ | --------------- |
| `path_parameters.ip` | string   | Required     | IP address.     |

### Input Example

`{"path_parameters":{"ip":"1.1.1.1"}}`

### Output

| **Parameter**                                                                | **Type** | **Description**                  |
| ---------------------------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                                                | number   | HTTP status code of the response |
| `reason`                                                                     | string   | Response reason phrase           |
| `data`                                                                       | object   | Response data                    |
| `data.id`                                                                    | string   | Response data                    |
| `data.type`                                                                  | string   | Response data                    |
| `data.links`                                                                 | object   | Response data                    |
| `data.links.self`                                                            | string   | Response data                    |
| `data.attributes`                                                            | object   | Response data                    |
| `data.attributes.last_https_certificate`                                     | object   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature`                      | object   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature.signature_algorithm`  | string   | Response data                    |
| `data.attributes.last_https_certificate.cert_signature.signature`            | string   | Response data                    |
| `data.attributes.last_https_certificate.extensions`                          | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.authority_key_identifier` | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.subject_key_identifier`   | string   | Response data                    |
| `data.attributes.last_https_certificate.extensions.subject_alternative_name` | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.certificate_policies`     | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.key_usage`                | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.extended_key_usage`       | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.crl_distribution_points`  | array    | Response data                    |
| `data.attributes.last_https_certificate.extensions.ca_information_access`    | object   | Response data                    |
| `data.attributes.last_https_certificate.extensions.CA`                       | boolean  | Response data                    |
| `data.attributes.last_https_certificate.extensions.1.3.6.1.4.1.11129.2.4.2`  | string   | Response data                    |
| `data.attributes.last_https_certificate.validity`                            | object   | Response data                    |
| `data.attributes.last_https_certificate.validity.not_after`                  | string   | Response data                    |

### Output Example

`{"data":{"id":"12345678-1234-1234-1234-123456789abc","type":"string","links":{"self":"string"},"attributes":{"last_https_certificate":{},"last_analysis_results":{},"tags":[],"total_votes":{},"whois_date":123,"jarm":"string","reputation":123,"last_modification_date":123,"whois":"string","network":"string","last_https_certificate_date":123,"asn":123,"last_analysis_stats":{},"as_owner":"string","last_analysis_date":123}}}`

## Get List of Private Files

Retrieve a sorted list of private files analyzed by SHA256 within Virustotal Analysis.

### Endpoint

- **URL:** `api/v3/private/files`
- **Method:** `GET`

### Input

| **Argument Name**   | **Type** | **Required** | **Description**                               |
| ------------------- | -------- | ------------ | --------------------------------------------- |
| `parameters.limit`  | number   | Optional     | Maximum number of files to retrieve (40 max). |
| `parameters.cursor` | string   | Optional     | Continuation cursor.                          |

### Input Example

`{"parameters":{"limit":10,"cursor":"test"}}`

### Output

| **Parameter**                                  | **Type** | **Description**                  |
| ---------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                  | number   | HTTP status code of the response |
| `reason`                                       | string   | Response reason phrase           |
| `data`                                         | array    | Response data                    |
| `data.id`                                      | string   | Response data                    |
| `data.type`                                    | string   | Response data                    |
| `data.links`                                   | object   | Response data                    |
| `data.links.self`                              | string   | Response data                    |
| `data.attributes`                              | object   | Response data                    |
| `data.attributes.type_tags`                    | array    | Response data                    |
| `data.attributes.magic`                        | string   | Response data                    |
| `data.attributes.type_tag`                     | string   | Response data                    |
| `data.attributes.expiration`                   | number   | Response data                    |
| `data.attributes.last_analysis_date`           | number   | Response data                    |
| `data.attributes.exiftool`                     | object   | Response data                    |
| `data.attributes.exiftool.ZipRequiredVersion`  | string   | Response data                    |
| `data.attributes.exiftool.MIMEType`            | string   | Response data                    |
| `data.attributes.exiftool.ZipCRC`              | string   | Response data                    |
| `data.attributes.exiftool.FileType`            | string   | Response data                    |
| `data.attributes.exiftool.ZipCompression`      | string   | Response data                    |
| `data.attributes.exiftool.ZipUncompressedSize` | string   | Response data                    |
| `data.attributes.exiftool.ZipCompressedSize`   | string   | Response data                    |
| `data.attributes.exiftool.FileTypeExtension`   | string   | Response data                    |
| `data.attributes.exiftool.ZipFileName`         | string   | Response data                    |
| `data.attributes.exiftool.ZipBitFlag`          | string   | Response data                    |
| `data.attributes.exiftool.ZipModifyDate`       | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"325dd351a80d08ba6930d367d8333377","Date":"Wed, 12 Jun 2024 03:56:23 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":[{}],"meta":{"count":1},"links":{"self":"https://www.virustotal.com/api/v3/private/files"}}}`

## Get Object Descriptors Related to a File

Retrieve related descriptors for a file in Virustotal using its unique ID and specified relationship type. Requires file\_id and relationship as path parameters.

### Endpoint

- **URL:** `api/v3/private/files/{{file_id}}/relationships/{{relationship}}`
- **Method:** `GET`

### Input

| **Argument Name**              | **Type** | **Required** | **Description**                                |
| ------------------------------ | -------- | ------------ | ---------------------------------------------- |
| `path_parameters.file_id`      | string   | Required     | File's SHA-256.                                |
| `path_parameters.relationship` | string   | Required     | Relationship name.                             |
| `parameters.limit`             | number   | Optional     | Maximum number of related objects to retrieve. |
| `parameters.cursor`            | string   | Optional     | Continuation cursor.                           |

### Input Example

`{"parameters":{"limit":10,"cursor":"test"},"path_parameters":{"file_id":"8e958dc75f488ba304bab672366a020b0d2870633a982ce7830f61b4fce4599e","relationship":"dropped_files"}}`

### Output

| **Parameter**                                  | **Type** | **Description**                  |
| ---------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                  | number   | HTTP status code of the response |
| `reason`                                       | string   | Response reason phrase           |
| `data`                                         | array    | Response data                    |
| `data.type`                                    | string   | Response data                    |
| `data.id`                                      | string   | Response data                    |
| `data.context_attributes`                      | object   | Response data                    |
| `data.context_attributes.type`                 | string   | Response data                    |
| `data.context_attributes.paths`                | array    | Response data                    |
| `data.context_attributes.present_in_public_vt` | boolean  | Response data                    |
| `meta`                                         | object   | Output field: meta               |
| `meta.count`                                   | number   | Count value                      |
| `links`                                        | object   | Output field: links              |
| `links.self`                                   | string   | Output field: links.self         |
| `links.related`                                | string   | Output field: links.related      |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"4239f00ca721d6927f7ee1e940e1438f","Date":"Wed, 12 Jun 2024 05:57:26 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":[{"type":"private_file","id":"cf7dd672e9016cd7d582fd9fefb0731738126e15d4de1a27be0a673b40a38963","context_attributes":{"type":"Text","paths":["C:\\Users\\user\\A...`

## Get Objects Related to a Private File

Retrieve related URLs, domains, IPs, or hashes for a private file in Virustotal using the file ID and relationship type.

### Endpoint

- **URL:** `api/v3/private/files/{{file_id}}/{{relationship}}`
- **Method:** `GET`

### Input

| **Argument Name**              | **Type** | **Required** | **Description**                                |
| ------------------------------ | -------- | ------------ | ---------------------------------------------- |
| `path_parameters.file_id`      | string   | Required     | File's SHA-256.                                |
| `path_parameters.relationship` | string   | Required     | Relationship name.                             |
| `parameters.limit`             | number   | Optional     | Maximum number of related objects to retrieve. |
| `parameters.cursor`            | string   | Optional     | Continuation cursor.                           |

### Input Example

`{"parameters":{"limit":10,"cursor":"test"},"path_parameters":{"file_id":"8e958dc75f488ba304bab672366a020b0d2870633a982ce7830f61b4fce4599e","relationship":"dropped_files"}}`

### Output

| **Parameter**                                  | **Type** | **Description**                  |
| ---------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                  | number   | HTTP status code of the response |
| `reason`                                       | string   | Response reason phrase           |
| `data`                                         | array    | Response data                    |
| `data.id`                                      | string   | Response data                    |
| `data.type`                                    | string   | Response data                    |
| `data.error`                                   | object   | Response data                    |
| `data.error.code`                              | string   | Response data                    |
| `data.error.message`                           | string   | Response data                    |
| `data.context_attributes`                      | object   | Response data                    |
| `data.context_attributes.type`                 | string   | Response data                    |
| `data.context_attributes.paths`                | array    | Response data                    |
| `data.context_attributes.present_in_public_vt` | boolean  | Response data                    |
| `meta`                                         | object   | Output field: meta               |
| `meta.count`                                   | number   | Count value                      |
| `links`                                        | object   | Output field: links              |
| `links.self`                                   | string   | Output field: links.self         |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"41bf3f664c70d59d47cb30fb747a07c2","Date":"Wed, 12 Jun 2024 05:26:16 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":[{"id":"cf7dd672e9016cd7d582fd9fefb0731738126e15d4de1a27be0a673b40a38963","type":"private_file","error":{"code":"NotFoundError","message":"private_file with id ...`

## Reanalyse File

Initiate a new analysis of a previously submitted file in Virustotal using the unique file identifier.

### Endpoint

- **URL:** `api/v3/files/{{id}}/analyse`
- **Method:** `POST`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                             |
| -------------------- | -------- | ------------ | ------------------------------------------- |
| `path_parameters.id` | string   | Required     | SHA-256, SHA-1 or MD5 identifying the file. |

### Input Example

`{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `data`        | object   | Response data                    |
| `data.type`   | string   | Response data                    |
| `data.id`     | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Cache-Control":"no-cache","Content-Type":"application/json; charset=utf-8","X-Cloud-Trace-Context":"5af2481b95d0acad2274bdbc5533dd7a","Date":"Wed, 12 Oct 2022 18:42:18 GMT","Server":"Google Frontend","Content-Length":"128"},"reason":"OK","json_body":{"data":{"type":"analysis","id":"NWRjMGMyOTFmOTViYjI2MzkwNzA3ODNlMTUyOTFiNTA6MTY2NTYwMDEzOA=="}}}`

## Reanalyse URL

Initiate a fresh analysis of a specified URL in Virustotal using the provided ID to update its threat intelligence data.

### Endpoint

- **URL:** `api/v3/urls/{{id}}/analyse`
- **Method:** `POST`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                   |
| -------------------- | -------- | ------------ | --------------------------------- |
| `path_parameters.id` | string   | Required     | ID of URL submission to reanalyse |

### Input Example

`{"path_parameters":{"id":"12345678-1234-1234-1234-123456789abc"}}`

### Output

| **Parameter**     | **Type** | **Description**                  |
| ----------------- | -------- | -------------------------------- |
| `status_code`     | number   | HTTP status code of the response |
| `reason`          | string   | Response reason phrase           |
| `data`            | object   | Response data                    |
| `data.type`       | string   | Response data                    |
| `data.id`         | string   | Response data                    |
| `data.links`      | object   | Response data                    |
| `data.links.self` | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"8bef927cda509c116ee788b7ad5ea4e3","Date":"Wed, 06 Mar 2024 15:51:25 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"type":"analysis","id":"u-dd014af5ed6b38d9130e3f466f850e46d21b951199d53a18ef29ee9341614eaf-1709739902","links":{}}}}`

## Rescan a Private File

Initiate a new analysis of a private file on Virustotal using the provided SHA-256 hash and return the analysis results.

### Endpoint

- **URL:** `api/v3/private/files/{{file_sha256}}/analyse`
- **Method:** `POST`

### Input

| **Argument Name**                | **Type** | **Required** | **Description**                                                                                  |
| -------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------ |
| `path_parameters.file_sha256`    | string   | Required     | File's SHA256 hash.                                                                              |
| `parameters.interaction_sandbox` | string   | Optional     | Select the sandbox desired for interactive use.                                                  |
| `parameters.interaction_timeout` | number   | Optional     | Interaction timeout in seconds, minimum value is 60. (1 minute.) Max value is 1800 (30 minutes). |

### Input Example

`{"parameters":{"interaction_sandbox":"cape_win","interaction_timeout":60},"path_parameters":{"file_sha256":"8e958dc75f488ba304bab672366a020b0d2870633a982ce7830f61b4fce4599e"}}`

### Output

| **Parameter**     | **Type** | **Description**                  |
| ----------------- | -------- | -------------------------------- |
| `status_code`     | number   | HTTP status code of the response |
| `reason`          | string   | Response reason phrase           |
| `data`            | object   | Response data                    |
| `data.type`       | string   | Response data                    |
| `data.id`         | string   | Response data                    |
| `data.links`      | object   | Response data                    |
| `data.links.self` | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"d8a0c33bc1243c12385518c093fab11b","Date":"Wed, 12 Jun 2024 06:16:48 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"type":"private_analysis","id":"OGFkNDJmNTFmYTY3MDczNDk0ZmI0Y2QyOTcwMjhlZmE6ZmJkMTMzZmNhYTBjYTZjNTk0NzdmNjEzM2Jj...","links":{}}}}`

## Retrieve the Widgets HTML content

Retrieve the HTML content of a widget report from Virustotal Analysis using the specified token and headers.

### Endpoint

- **URL:** `/ui/widget/html/{{token}}`
- **Method:** `GET`

### Input

| **Argument Name**       | **Type** | **Required** | **Description**                                              |
| ----------------------- | -------- | ------------ | ------------------------------------------------------------ |
| `path_parameters.token` | string   | Required     | This token is provided by the previous endpoint /widget/url. |
| `headers`               | object   | Required     | HTTP headers for the request                                 |
| `headers.User-Agent`    | string   | Required     | User Agent                                                   |

### Input Example

`{"path_parameters":{"token":"string"},"headers":{"User-Agent":"Mozilla/5.0"}}`

### Output

| **Parameter**   | **Type** | **Description**                  |
| --------------- | -------- | -------------------------------- |
| `status_code`   | number   | HTTP status code of the response |
| `reason`        | string   | Response reason phrase           |
| `response.text` | string   | Output field: response.text      |

### Output Example

`{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Thu, 2 May 2024 20:37:23 GMT"},"reason":"OK"}`

## Search IOCs & Comments

Conduct a comprehensive search in Virustotal for domains, IP addresses, files, URLs, and comments using the 'query' parameter.

### Endpoint

- **URL:** `api/v3/search`
- **Method:** `GET`

### Input

| **Argument Name**  | **Type** | **Required** | **Description** |
| ------------------ | -------- | ------------ | --------------- |
| `parameters.query` | string   | Required     | Query to search |

### Input Example

`{"parameters":{"query":"string"}}`

### Output

| **Parameter**                                         | **Type** | **Description**                  |
| ----------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                         | number   | HTTP status code of the response |
| `reason`                                              | string   | Response reason phrase           |
| `data`                                                | array    | Response data                    |
| `data.attributes`                                     | object   | Response data                    |
| `data.attributes.last_dns_records`                    | array    | Response data                    |
| `data.attributes.last_dns_records.type`               | string   | Response data                    |
| `data.attributes.last_dns_records.value`              | string   | Response data                    |
| `data.attributes.last_dns_records.ttl`                | number   | Response data                    |
| `data.attributes.last_dns_records.priority`           | number   | Response data                    |
| `data.attributes.last_dns_records.rname`              | string   | Response data                    |
| `data.attributes.last_dns_records.retry`              | number   | Response data                    |
| `data.attributes.last_dns_records.refresh`            | number   | Response data                    |
| `data.attributes.last_dns_records.minimum`            | number   | Response data                    |
| `data.attributes.last_dns_records.expire`             | number   | Response data                    |
| `data.attributes.last_dns_records.serial`             | number   | Response data                    |
| `data.attributes.jarm`                                | string   | Response data                    |
| `data.attributes.whois`                               | string   | Response data                    |
| `data.attributes.last_https_certificate_date`         | number   | Response data                    |
| `data.attributes.tags`                                | array    | Response data                    |
| `data.attributes.tags.file_name`                      | string   | Response data                    |
| `data.attributes.tags.file`                           | string   | Response data                    |
| `data.attributes.popularity_ranks`                    | object   | Response data                    |
| `data.attributes.popularity_ranks.Majestic`           | object   | Response data                    |
| `data.attributes.popularity_ranks.Majestic.timestamp` | number   | Response data                    |
| `data.attributes.popularity_ranks.Majestic.rank`      | number   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","X-Cloud-Trace-Context":"d877bd014fdf9d7d969c9c0bf0863748","Date":"Fri, 20 Jan 2023 15:22:01 GMT","Server":"Google Frontend","Content-Length":"35417"},"reason":"OK","json_body":{"data":[{}],"links":{"self":"https://www.virustotal.com/api/v3/search?query=swimlane.com"}}}`

## Search and Analyse

Conduct a comprehensive search and analysis of domains, IPs, files, URLs, and comments in Virustotal using the 'query' parameter.

### Endpoint

- **URL:** `api/v3/search`
- **Method:** `GET`

### Input

| **Argument Name**   | **Type** | **Required** | **Description**                                              |
| ------------------- | -------- | ------------ | ------------------------------------------------------------ |
| `parameters.query`  | string   | Required     | Query to search.                                             |
| `time_delay_in_sec` | number   | Optional     | Time Delay in seconds between analyses url and get analyses. |

### Input Example

`{"parameters":{"query":"https://security.microsoft.com/quarantine?id%3D16b8a2d6-8327-4cb5-e2cc-08dcce00c03b\\7795a2c4-86b0-1332-694d-a979ac6f20c9%26amp;recipientAddress%3D@ENC@P/4M7sOT%2BnPvnczVe5vGui/vXve95xqqKGpCWq1E%2Bzw59bRdyueykfAe9AhnQxxn8oBW6kh1djNfG/IKLBezlYMk4f58O6muMvdsjsBaspfMAi%2BtKmlFar0m7ZCfqo9i%26amp;action%3Dblock"},"time_delay_in_sec":2}`

### Output

| **Parameter**                                             | **Type** | **Description**                  |
| --------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                             | number   | HTTP status code of the response |
| `reason`                                                  | string   | Response reason phrase           |
| `data`                                                    | object   | Response data                    |
| `data.id`                                                 | string   | Response data                    |
| `data.type`                                               | string   | Response data                    |
| `data.links`                                              | object   | Response data                    |
| `data.links.self`                                         | string   | Response data                    |
| `data.links.item`                                         | string   | Response data                    |
| `data.attributes`                                         | object   | Response data                    |
| `data.attributes.status`                                  | string   | Response data                    |
| `data.attributes.date`                                    | number   | Response data                    |
| `data.attributes.stats`                                   | object   | Response data                    |
| `data.attributes.stats.malicious`                         | number   | Response data                    |
| `data.attributes.stats.suspicious`                        | number   | Response data                    |
| `data.attributes.stats.undetected`                        | number   | Response data                    |
| `data.attributes.stats.harmless`                          | number   | Response data                    |
| `data.attributes.stats.timeout`                           | number   | Response data                    |
| `data.attributes.results`                                 | object   | Response data                    |
| `data.attributes.results.Artists Against 419`             | object   | Response data                    |
| `data.attributes.results.Artists Against 419.method`      | string   | Response data                    |
| `data.attributes.results.Artists Against 419.engine_name` | string   | Response data                    |
| `data.attributes.results.Artists Against 419.category`    | string   | Response data                    |
| `data.attributes.results.Artists Against 419.result`      | string   | Response data                    |
| `data.attributes.results.Acronis`                         | object   | Response data                    |
| `data.attributes.results.Acronis.method`                  | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"61a85eaebe158a5dffe86589e322fee5","Date":"Fri, 06 Sep 2024 14:11:40 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"id":"u-ece7da7e8a4ab52ef6330c5cc94911124fdb42d8ca4180f58f2ae9897e87583e-1725630159","type":"analysis","links":{},"attributes":{}},"meta":{"url_info":{},"file_...`

## Submit Private URL Submission

Submit a private URL to Virustotal for analysis using the required data body input.

### Endpoint

- **URL:** `/api/v3/private/urls`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description** |
| ----------------- | -------- | ------------ | --------------- |
| `data_body`       | object   | Required     | Response data   |
| `data_body.url`   | string   | Required     | Response data   |

### Input Example

`{"data_body":{"url":"http://example.com"}}`

### Output

| **Parameter**     | **Type** | **Description**                  |
| ----------------- | -------- | -------------------------------- |
| `status_code`     | number   | HTTP status code of the response |
| `reason`          | string   | Response reason phrase           |
| `data`            | object   | Response data                    |
| `data.type`       | string   | Response data                    |
| `data.id`         | string   | Response data                    |
| `data.links`      | object   | Response data                    |
| `data.links.self` | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"19810ab866940083c6b64e2a0bbeab58","Date":"Thu, 04 Jul 2024 08:24:11 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"type":"private_analysis","id":"OGU2OWQ3ZDQ5MjMxY2VkYzlhMTI3M2FmOWFjMDFkYTc6MmExYjQwMjQyMGVmNDY1Nzc0NzFjZGM3NDA5...","links":{}}}}`

## Upload a Private File

Privately upload a file to Virustotal for analysis, requiring the file as form data.

### Endpoint

- **URL:** `api/v3/private/files`
- **Method:** `POST`

### Input

| **Argument Name**                 | **Type** | **Required** | **Description**                                                                                                                                                                                     |
| --------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data_body`                       | object   | Optional     | Response data                                                                                                                                                                                       |
| `data_body.disable_sandbox`       | string   | Optional     | If true, then the file won't be detonated in sandbox environments.                                                                                                                                  |
| `data_body.enable_internet`       | string   | Optional     | If the file should have internet access when running in sandboxes.                                                                                                                                  |
| `data_body.intercept_tls`         | string   | Optional     | Intercept HTTPS/TLS/SSL communication. Intercept HTTPS to view encypted URLS, hostnames and HTTP headers. This is detectable by any sample that checks certificates, and makes JA3 hashes unusable. |
| `data_body.command_line`          | string   | Optional     | Command line arguments to use when running the file in sandboxes.                                                                                                                                   |
| `data_body.password`              | string   | Optional     | Optional, password to decompress and scan a file contained in a protected ZIP file.                                                                                                                 |
| `data_body.retention_period_days` | number   | Optional     | Optional, number of days the report and file are kept in VT (between 1 and 28). If not set it defaults to the group's retention policy preference                                                   |
| `data_body.interaction_sandbox`   | string   | Optional     | Select the sandbox desired for interactive use.                                                                                                                                                     |
| `data_body.interaction_timeout`   | number   | Optional     | Interaction timeout in seconds, minimum value - 60(1 minute) Max value - 1800(30 minutes).                                                                                                          |
| `data_body.storage_region`        | string   | Optional     | Optional, storage region where the file will be stored. By default uses the group's private\_scanning.storage\_region preference.                                                                   |
| `files`                           | object   | Required     | Privately upload and analyse a file.                                                                                                                                                                |
| `files.file`                      | string   | Optional     | Parameter for Upload a Private File                                                                                                                                                                 |
| `files.file_name`                 | string   | Optional     | Name of the resource                                                                                                                                                                                |

### Input Example

`{"data_body":{"disable_sandbox":"false","enable_internet":"false","intercept_tls":"false","command_line":"command line","password":"password","retention_period_days":1,"storage_region":"US"}}`

### Output

| **Parameter**     | **Type** | **Description**                  |
| ----------------- | -------- | -------------------------------- |
| `status_code`     | number   | HTTP status code of the response |
| `reason`          | string   | Response reason phrase           |
| `data`            | object   | Response data                    |
| `data.type`       | string   | Response data                    |
| `data.id`         | string   | Response data                    |
| `data.links`      | object   | Response data                    |
| `data.links.self` | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Content-Type":"application/json","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Cloud-Trace-Context":"7f353f9791ca00df94952eaf34e7250b","Date":"Wed, 12 Jun 2024 04:34:32 GMT","Server":"Google Frontend","Cache-Control":"private","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"data":{"type":"private_analysis","id":"OGFkNDJmNTFmYTY3MDczNDk0ZmI0Y2QyOTcwMjhlZmE6OTc1ZjRiOWM5NmVjNWRmMDhjYzYwMzVhMjI2...","links":{}}}}`

# Response Headers

| **Header**            | **Description**                                          | **Example**                                    |
| --------------------- | -------------------------------------------------------- | ---------------------------------------------- |
| Alt-Svc               | HTTP response header: Alt-Svc                            | h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 |
| Cache-Control         | Directives for caching mechanisms                        | no-cache                                       |
| Content-Encoding      | HTTP response header: Content-Encoding                   | gzip                                           |
| content-length        | The length of the response body in bytes                 | 140                                            |
| Content-Type          | The media type of the resource                           | application/json; charset=utf-8                |
| Date                  | The date and time at which the message was originated    | Fri, 20 Jan 2023 15:22:01 GMT                  |
| server                | Information about the software used by the origin server | Google Frontend                                |
| Transfer-Encoding     | HTTP response header: Transfer-Encoding                  | chunked                                        |
| Vary                  | HTTP response header: Vary                               | Accept-Encoding                                |
| via                   | HTTP response header: via                                | 1.1 google                                     |
| X-Cloud-Trace-Context | HTTP response header: X-Cloud-Trace-Context              | 61a85eaebe158a5dffe86589e322fee5               |
