---
title: "Download Completed Document"
method: GET
path: "/public/v1/documents/{id}/download-protected"
tags: ["Documents"]
---

# Download Completed Document

`GET /public/v1/documents/{id}/download-protected`

## Request

- Base URL: `https://api.pandadoc.com`
- URL: `https://api.pandadoc.com/public/v1/documents/{id}/download-protected`
- Auth: one of:
  - API key in header `Authorization`
  - OAuth 2
    - Authorization code: `https://app.pandadoc.com/oauth2/authorize`
    - Token URL: `https://api.pandadoc.com/oauth2/access_token`
- TypeScript: <https://skmtc.dev/pandadoc/apis/pandadoc-public-api/docs/public/v1/documents/:id/download-protected/get.ts> (a function with typed inputs; its response is checked against the schema)

Download a completed document as a verifiable PDF (Download Protected Document)
> 🚧 Production key only
> 
> This endpoint only works with a Production key. You'll get a 401 Unauthorized error when trying to use a Sandbox key.

Download a signed PDF of a completed document

## Path parameters

- `id` string, required

## Query parameters

- `separate_files` boolean

## Response `200`

OK

## Other responses

- `202`: The signed document file is not ready yet (for example, a bundle overall PDF or ZIP is still being produced). Retry after the indicated number of seconds. No response body is returned.
- `401`: Authentication error
- `403`: Permission error
- `404`: Not found
- `409`: Conflict
- `429`: Too Many Requests

---

[API](https://skmtc.dev/pandadoc/apis/pandadoc-public-api.md) - [All operations](https://skmtc.dev/pandadoc/apis/pandadoc-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pandadoc/apis/pandadoc-public-api/revisions/b9a306b1a421?raw)
