---
title: "Create Upload Targets"
method: POST
path: "/api/workspace/uploads"
tags: ["runtime_mutations", "workspace-uploads"]
---

# Create Upload Targets

`POST /api/workspace/uploads`

Presign direct-to-store PUT URLs for a batch of workspace files.

## Request body

- PresignUploadsRequest
  - `files` PresignUploadFile[], required
    - `relative_path` string, required
    - `size` integer, required
    - `content_type` string
    - `mtime_ns` integer, nullable
  - `overwrite` boolean

## Response `200`

Successful Response

- PresignUploadsResponse
  - `files` PresignedUpload[], required
    - `relative_path` string, required
    - `url` string, required
    - `headers` object, required
  - `expires_in_seconds` integer

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.net/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/quadrillion/quadrillion-cloud-api/revisions/ee473d0e84e0/schema)
