v4

latestOpenAPI 3.1.0Apache-2.0raw.githubusercontent.com2026-05-09283767.7 KB
files

Mint signed URLs for uploading a file to a VM

Returns a pair of short-lived signed URLs targeting a per-VM staging location. Upload to uploadUrl with PUT (Content-Type: application/octet-stream), then pass downloadUrl to POST /v1/vms/{id}/files/fetch to have the server pull it into the guest filesystem.

post/v1/vms/{id}/files/presign

Request body

pathstring required

Absolute destination path inside the guest filesystem (where the file will land after fetchFileToVm). Used only to scope the staging object key; any value server-side is accepted here.

Response

Signed URLs + upload size ceiling

uploadUrlstring uri required

Presigned PUT URL for the staging object. Accepts Content-Type: application/octet-stream. Used by the client on upload, or by the VM (via an exec'd curl -T -) on download.

downloadUrlstring uri required

Presigned GET URL for the same staging object. Used by the VM (via POST /v1/vms/{id}/files/fetch) on upload, or by the client (via httpx.stream / curl) on download.

expiresInSecinteger required

Lifetime of both URLs in seconds.

maxUploadBytesinteger required

Upper bound on upload size (equals the VM's disk size in bytes).