---
title: "Reserve Upload"
method: POST
path: "/api/operator-documents/uploads"
tags: ["operator-documents"]
---

# Reserve Upload

`POST /api/operator-documents/uploads`

## Request

- Base URL: `https://api.corabea.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.corabea.it/api/operator-documents/uploads`
- Auth: HTTP bearer

The PDF of a new document, or of a new version of `base_revision_id`.

## Request body

- DocumentUploadStart: The PDF of a publication (`publication_key`), a new version of `base_revision_id` when set. Each picked file has its own `idempotency_key`.
  - `idempotency_key` string, uuid, required
  - `original_filename` string, required
  - `media_type` string, required
  - `expected_size` integer, required
  - `publication_key` string, uuid, required
  - `base_revision_id` string, uuid, nullable

## Response `201`

Successful Response

- ContentUploadReservation
  - `upload_id` string, uuid, required
  - `asset_id` string, uuid, required
  - `expires_at` string, date-time, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `841b592f039c`: 1 info
  - endpoint added
- **2026-09-18** `f80d4ceb6743`: 1 breaking
  - api path removed without deprecation
- **2026-09-16** `f553f3c7595e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/corabea/apis/corabea-api/changes/api/operator-documents/uploads/post.md)

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/corabea/apis/corabea-api/revisions/4a8dd89893b8?raw)
