When a webhook notifies you about a change in a document's status, it also includes a file field — a ready-to-use link for downloading the PDF:
{
"contract_id": 1234567,
"state": "completed",
"file": "https://api.signi.com/api/v1/contract/pdf/preview?hash=…",
"attachments": [
{ "contract_id": 1234568, "state": "completed", "file": "https://api.signi.com/api/v1/contract/pdf/preview?hash=…" }
]
}
Just make a GET call to this address and the PDF is returned:
curl -o document.pdf "https://api.signi.com/api/v1/contract/pdf/preview?hash=…"
Good to know
- The link is valid for 10 minutes. The hash is generated only for this webhook — download the file right after you receive it.
- No API key is required — the link works on its own. Treat it as sensitive data.
- Once the link expires, the call returns an error — in that case use the standard download via API, which works at any time.
- Each attachment has its own link in the webhook.
Where to go next
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article