Skip to main content
GET https://api.craftkit.dev/v1/signatures/:id/download
Streams the archived signed PDF. The signed document is a sensitive legal artifact, so it is served only through the authenticated API (streamed from storage) — it is never reachable from a public bucket URL or a provider-hosted link. Returns 409 until the document has been archived (until signedDownloadUrl is non-null on the request).

Authorization

Authorization
string
required
Bearer ck_live_… — a project API key.

Path parameters

id
string
required
The signature request id (UUID).

Response

On success, the signed PDF bytes with Content-Type: application/pdf, served as an attachment named <id>-signed.pdf.
(binary)
application/pdf
The signed PDF stream.

Errors

StatuscodeMeaning
401unauthorizedMissing/invalid/revoked key.
404not_foundNo such signature request in this key’s project.
409conflictSigned document is not archived yet — poll status until signedDownloadUrl is set.
cURL
curl https://api.craftkit.dev/v1/signatures/$SIGNATURE_ID/download \
  -H "Authorization: Bearer $CRAFTKIT_API_KEY" \
  -o signed.pdf
409
{
  "error": {
    "code": "conflict",
    "message": "Signed document is not available yet (status: sent)."
  }
}