When a webhook notifies you of 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 send a GET request to this address and the PDF will be 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 receiving it.
- No API key is needed — the link works on its own. Treat it as sensitive data.
- Once the link expires, the call returns an error — then 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