---
title: "Confirm an upload: checks it is a real PDF within the size cap, extracts its text, and stores it as the handout's next version (\"Replace PDF\" is the same call again)."
method: POST
path: "/Questionnaires/{id}/handout/versions"
tags: ["Questionnaires"]
---

# Confirm an upload: checks it is a real PDF within the size cap, extracts its text, and stores it as the handout's next version ("Replace PDF" is the same call again).

`POST /Questionnaires/{id}/handout/versions`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Questionnaires/{id}/handout/versions`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Questionnaires/:id/handout/versions/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required

## Request body

- ConfirmHandoutUploadRequest: Turn an uploaded object into the handout's next version (ITE-1474).
  - `uploadId` string, required
  - `fileName` string, required
  - `notes` string, nullable

## Response `201`

Created

- HandoutVersionDto: One row of a handout's version history (ITE-1474).
  - `version` union
    - integer
    - string, int32
  - `contentMode` integer: Where a handout's content comes from (ITE-1473). Stored as text in `questionnaires.handout_content_mode`; null on every non-handout questionnaire.
  - `fileName` string, nullable
  - `fileSize` union
    - integer
    - string, int64
  - `contentType` string, nullable
  - `sha256` string, nullable
  - `hasExtractedText` boolean: False for an image-only (scanned) PDF that yielded no text: search, the Knowledge Base and "Convert to editable" will have nothing to work with. Always false for an authored version.
  - `notes` string, nullable
  - `createdBy` string, nullable
  - `createdByName` string, nullable
  - `createdAt` string, date-time
  - `isCurrent` boolean

## Changes

- **2026-10-28** `099cf36186e0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Questionnaires/:id/handout/versions/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
