---
title: "Get an upload link (PUT raw bytes) for big files"
method: POST
path: "/sandboxes/{id}/files/upload-url"
tags: ["sandboxes"]
---

# Get an upload link (PUT raw bytes) for big files

`POST /sandboxes/{id}/files/upload-url`

## Request

- Base URL: `https://api.eqvps.com/api/v1/eqvps`
- URL: `https://api.eqvps.com/api/v1/eqvps/sandboxes/{id}/files/upload-url`
- Auth: HTTP bearer

Returns a short-lived HTTPS link: PUT the raw bytes to write ONE file in this sandbox. One request may carry up to 95 MB; bigger files go in parts with ?offset=<bytes already uploaded> (each response returns next_offset; a wrong offset returns 409 offset_mismatch with the current size). MCP: get_upload_url.

## Path parameters

- `id` string, required

## Request body

- object
  - `path` string, required: Absolute path inside the sandbox
  - `ttl` integer: Link lifetime, seconds
  - `max_bytes` integer: Upper bound for the file size (default 2 GB)

## Response `200`

One-time link to one file of THIS sandbox

- object
  - `url` string, uri
  - `method` string
  - `path` string
  - `expires_at` string, date-time
  - `example` string
  - `note` string
  - `max_bytes` integer
  - `max_request_bytes` integer
  - `chunked_example` string

## Other responses

- `404`: not_found
- `409`: sandbox_paused / sandbox_not_running

---

[API](https://skmtc.dev/eqvps/apis/eqvps-api.md) · [All operations](https://skmtc.dev/eqvps/apis/eqvps-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eqvps/apis/eqvps-api/revisions/2cbc15a2b088?raw)
