Documents
Holistic doc + signers, the signed PDF, the audit-trail PDF.
A document is the contract — one PDF, one or more signers, plus
metadata. The documentId returned by
POST /v1/signing-requests addresses
all three endpoints below.
Get document
Holistic view: doc fields, every signer with their status, plus an aggregate rollup status. Use this when you want a single poll to get the whole picture.
{
"id": "8a1e4f9a-…",
"filename": "msa.pdf",
"sha256": "4f9a…d21c",
"status": "partial",
"observers": ["compliance@acme.com"],
"callbackConfigured": true,
"createdAt": "2026-04-29T10:30:00Z",
"signers": [
{
"id": "11111111-…",
"email": "tenant@example.com",
"role": "tenant",
"status": "signed",
"order": 1,
"expiresAt": "2026-05-13T10:30:00Z",
"signingUrl": "https://yourco.letssign.now/en/sign/abc…"
},
{
"id": "22222222-…",
"email": "owner@example.com",
"role": "landlord",
"status": "viewed",
"order": 2,
"expiresAt": "2026-05-13T10:30:00Z",
"signingUrl": "https://yourco.letssign.now/en/sign/def…"
}
],
"placement": null
}status values:
| Value | Meaning |
|---|---|
awaiting_placement | A manual placement is queued; no signing requests created yet. |
pending | All signers still need to sign. |
partial | At least one signer has signed; one or more still in flight. |
signed | Every signer has signed. The signed PDF + audit-trail PDF are ready. |
expired | All signers' TTLs elapsed. |
withdrawn | All signers were withdrawn. |
Per-signer status uses the same enum less the rollups (pending |
viewed | signed | declined | expired | withdrawn |
queued).
Download the signed PDF
/v1/documents/{id}/signedStreams the fully PAdES-sealed PDF — every signer's signature appended
(incremental update), an RFC 3161 trusted timestamp embedded.
Content-Type: application/pdf with Content-Disposition: inline; filename="msa.pdf" so a browser tab opens it directly. Returns 409
not_complete while any signer still owes a signature.
curl -OJ -H "Authorization: Bearer $LSK_KEY" \
https://api.letssign.now/v1/documents/$DOC_ID/signedDownload the audit-trail PDF
/v1/documents/{id}/audit-trailGenerated on demand. Contains the document SHA-256, the cumulative
cert serial, the TSA timestamp + provider, and a chronological event
log with masked IPs and user agents. Same Content-Disposition /
content-type as /signed above. Returns 409 not_complete while
signing is still in flight.
curl -OJ -H "Authorization: Bearer $LSK_KEY" \
https://api.letssign.now/v1/documents/$DOC_ID/audit-trailBoth download endpoints are rate-limited at 60 requests/minute/key
along with the rest of /v1/*. They're meant for occasional
download-into-DMS, not high-frequency polling. If you're building
a dashboard, fetch each document's signed PDF once and cache.
