---
title: "Create upload handle"
method: POST
path: "/api/v1/public/files/uploads"
tags: ["public"]
---

# Create upload handle

`POST /api/v1/public/files/uploads`

Create a workspace-scoped, short-lived direct upload handle for an allowed file type.

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateUploadHandleRequest
  - `fileName` string, required
  - `mimeType` string, required
  - `sizeBytes` integer, required
  - `purpose` 'knowledge' | 'lead_import' | 'analysis' | 'summarizer', required

## Response `201`

Successful Response

- UploadHandle
  - `id` string, required
  - `fileName` string, required
  - `mimeType` string, required
  - `sizeBytes` integer, required
  - `purpose` string, required
  - `status` string, required
  - `uploadUrl` string, nullable, required
  - `uploadHeaders` object, required
  - `expiresAt` unknown, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/outcallerai/apis/fastapi.md) · [All operations](https://skmtc.net/outcallerai/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/outcallerai/fastapi/revisions/2a1adc380310/schema)
