---
title: "Office uploads a minor's signed consent PDF"
method: POST
path: "/api/consents/{consent_id}/office-upload-signed-pdf"
tags: ["consents"]
---

# Office uploads a minor's signed consent PDF

`POST /api/consents/{consent_id}/office-upload-signed-pdf`

## 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/consents/{consent_id}/office-upload-signed-pdf`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/corabea/apis/corabea-api/docs/api/consents/:consent_id/office-upload-signed-pdf/post.ts> (a function with typed inputs; its response is checked against the schema)

Puts in the signed PDF the family sent the office, replacing the current one (kept under consents/sostituiti/). Status follows the patient's upload: a verified consent stays verified.

## Path parameters

- `consent_id` string, uuid, required

## Request body `multipart/form-data`

- BodyOfficeUploadSignedConsentPdfApiConsentsConsentIdOfficeUploadSignedPdfPost
  - `file` string, binary, required: Signed consent PDF

## Response `200`

Successful Response

- OfficeSignedPdfResponse: Response after the office uploaded a minor's signed consent PDF.
  - `consent_id` string, uuid, required: Consent UUID
  - `status` 'draft' | 'pending_otp' | 'pending_approval' | 'revision_required' | 'verified' | 'expired' | 'revoked', required: Informed consent status constants.

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-05** `579e5e3627a1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/corabea/apis/corabea-api/changes/api/consents/:consent_id/office-upload-signed-pdf/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/d776fcb8af06?raw)
