---
title: "Upload File"
method: POST
path: "/v1/upload_file"
tags: ["Files"]
---

# Upload File

`POST /v1/upload_file`

## Headers

- `x-api-key` string, nullable — Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.

## Response `200`

Successful Response

- UploadFileResponse
  - `s3_uri` string, required — S3 URI where the file was uploaded
  - `presigned_url` string, required — Presigned URL to access the uploaded file

## Other responses

- `422` — Validation Error

## Changes

- **2026-04-13** `85a4ba66dad1` — 1 breaking, 1 info
  - the `file` request property contentMediaType changed from `` to `application/octet-stream`
  - the `file` request property type/format was generalized from `string`/`binary` to `string`/``
- **2026-04-13** `5c0ca63adfe4` — 2 breaking
  - the `file` request property contentMediaType changed from `application/octet-stream` to ``
  - the `file` request property type/format changed from `string`/`` to `string`/`binary`
- **2026-04-13** `85a4ba66dad1` — 1 breaking, 1 info
  - the `file` request property contentMediaType changed from `` to `application/octet-stream`
  - the `file` request property type/format was generalized from `string`/`binary` to `string`/``

[Change history](https://skmtc.dev/skyvern-ai/apis/skyvern-api/changes/v1/upload_file/post.md)

---

[API](https://skmtc.dev/skyvern-ai/apis/skyvern-api.md) · [All operations](https://skmtc.dev/skyvern-ai/apis/skyvern-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/skyvern-ai/skyvern-api/revisions/1a7ff4f208ff/schema)
