---
title: "Confirm a policy PDF upload completed"
method: POST
path: "/v1/policies/{id}/pdf/confirm"
tags: ["Policies"]
---

# Confirm a policy PDF upload completed

`POST /v1/policies/{id}/pdf/confirm`

Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an s3Key and you successfully uploaded the file bytes to that URL. The endpoint verifies the file exists in S3 before linking it to the policy or version.

## Path parameters

- `id` string, required

## Headers

- `X-Organization-Id` string

## Request body

- ConfirmPolicyPdfUploadedDto
  - `s3Key` string, required — The exact s3Key returned by the upload-url endpoint.
  - `versionId` string — Optional version ID — must match the versionId passed to the upload-url endpoint. Omit if attaching at the policy level.

## Response `201`

## Changes

- **2026-06-04** `d7d0199d846f` — 1 info
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-05-29** `5382c53ab431` — 1 info
  - the endpoint scheme security `oauth2` was added to the API
- **2026-05-28** `7c0713bef5b1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trycompai/apis/comp-ai-api/changes/v1/policies/:id/pdf/confirm/post.md)

---

[API](https://skmtc.dev/trycompai/apis/comp-ai-api.md) · [All operations](https://skmtc.dev/trycompai/apis/comp-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycompai/comp-ai-api/revisions/726b9523fb22/schema)
