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

# Create upload handle

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

## Request

- Base URL: `https://api.outcallerai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.outcallerai.com/api/v1/public/files/uploads`
- Auth: none declared. Required headers: `Idempotency-Key`

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

## Changes

- **2026-08-21** `2a1adc380310`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/outcallerai/apis/outcallerai-api/changes/api/v1/public/files/uploads/post.md)

---

[API](https://skmtc.dev/outcallerai/apis/outcallerai-api.md) - [All operations](https://skmtc.dev/outcallerai/apis/outcallerai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/outcallerai/apis/outcallerai-api/revisions/40736cf433b4?raw)
