---
title: "Prepare an existing signed engagement PDF upload"
method: POST
path: "/companies/{companyId}/engagements/uploads"
tags: ["CRM"]
---

# Prepare an existing signed engagement PDF upload

`POST /companies/{companyId}/engagements/uploads`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/companies/{companyId}/engagements/uploads`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Creates a company-scoped immutable PDF upload. Firm billing-management permission is required. The returned presigned URL binds the declared PDF byte length.

## Path parameters

- `companyId` string, uuid, required

## Request body

- object
  - `fileName` string, required
  - `fileSize` integer, required
  - `mimeType` 'application/pdf', required

## Response `201`

Engagement upload id and presigned PDF URL

## Other responses

- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
