---
title: "Finalize upload"
method: POST
path: "/api/v1/public/files/uploads/{upload_id}/finalize"
tags: ["public"]
---

# Finalize upload

`POST /api/v1/public/files/uploads/{upload_id}/finalize`

Verify object size and type, calculate its SHA-256 digest, and make the upload available for parsing or ingestion.

## Path parameters

- `upload_id` string, required

## Headers

- `Idempotency-Key` string, required

## Response `200`

Successful Response

- UploadStatus
  - `id` string, required
  - `fileName` string, required
  - `mimeType` string, required
  - `sizeBytes` integer, required
  - `purpose` string, required
  - `status` string, required
  - `warnings` string[], required
  - `sha256` string, nullable, required
  - `sourceId` string, nullable, required
  - `createdAt` unknown, required
  - `finalizedAt` unknown, required
  - `expiresAt` unknown, required

## Other responses

- `422` — Validation Error

## Changes

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

[Change history](https://skmtc.dev/outcallerai/apis/fastapi/changes/api/v1/public/files/uploads/:upload_id/finalize/post.md)

---

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