---
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`

---

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