---
title: "Upload a file"
method: POST
path: "/files"
tags: ["Files"]
---

# Upload a file

`POST /files`

## Request

- Base URL: `https://www.virustotal.com/api/v3`
- URL: `https://www.virustotal.com/api/v3/files`
- Auth: none required

## Headers

- `x-apikey` string, required

## Request body `multipart/form-data`

- object
  - `file` string, binary
  - `password` string: Optional, password to decompress and scan a file contained in a protected ZIP file.

## Response `200`

The analysis ID. Use [/analyses/<analysis_ID>](ref:analysis) API call to check the analysis status.

- object
  - `data` object
    - `id` string
    - `type` string
    - `links` object
      - `self` string

## Other responses

- `401`: If password was provided and the file isn't a ZIP, it contains more than one file, the password is incorrect, or the file is corrupt.

---

[API](https://skmtc.dev/virustotal/apis/ioc-investigation.md) - [All operations](https://skmtc.dev/virustotal/apis/ioc-investigation/llms.txt) - [OpenAPI document](https://skmtc.dev/virustotal/apis/ioc-investigation/revisions/4d4fadbb8cbc?raw)
