---
title: "Download Signing Request Document"
method: GET
path: "/signing-requests/{id}/download"
tags: ["Signing Requests"]
---

# Download Signing Request Document

`GET /signing-requests/{id}/download`

Retrieve a download URL for a signing request's signed document. For completed signing requests, returns the final signed PDF. For in-progress signing requests where partial download is enabled, returns a URL to the partially-signed document generated at the time of the last signer's completion.

**Partial downloads:** Partial downloads are only available when the signing request has `allow_partial_download` enabled in settings. If the document has not been partially generated yet, a `503` is returned — retry after the `Retry-After` interval.

**URL expiry:** The `download_url` is a pre-signed URL that expires. The expiry timestamp is provided in `expires_at`.

## Path parameters

- `id` string, uuid, required

## Response `200`

Download URL retrieved successfully.

- SigningRequestDownloadResponse
  - `status` 'finished' | 'in_progress' | 'cancelled' | 'declined' | 'expired', required — Signing request status. `finished` means all signers have completed. `in_progress` means signing is still ongoing and this is a partial download. `cancelled`, `declined`, and `expired` indicate terminal states where the document is a partial snapshot from the point when signing ended.
  - `is_partial` boolean, required — Whether this download URL points to a partially-signed document (not all signers have completed).
  - `download_url` string, uri, required — Pre-signed URL to download the PDF document. Expires at the time indicated by `expires_at`.
  - `generated_at` string, date-time, nullable — ISO 8601 timestamp when the document was last generated. For partial downloads, this is when the partial PDF was created.
  - `expires_at` string, date-time, required — ISO 8601 timestamp when the `download_url` expires. Fetch this endpoint again for a fresh URL after expiry.

## Other responses

- `401` — Unauthorized - Invalid or missing API key
- `404` — Signing request not found.
- `409` — Signing request has not been sent yet. Download is only available after the request has been sent.
- `429` — Too Many Requests - Rate limit exceeded
- `503` — Document generation is in progress. Retry after the indicated interval.

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firma/firma-partner-api/revisions/5c03d6a9d080/schema)
