Skip to main content

Download an agreement before everyone has signed

Generate a PDF of the main document and its attachments, with the signatures and approvals collected so far.


What is a Partially Signed Document?​

A Partially Signed Document is a generated PDF of an agreement. It includes the main document and the attachments, in the same composition as the final signed PDF, but only the signatures and approvals that have already been given.

It is not the main document, and it is not an attachment. Each successful generation is one revision in a sequence for that agreement.


When you can generate one​

Send an empty POST request to agreements/{agreement_id}/documents/partially_signed_documents.

Generation is allowed once at least one signer or approver has signed or approved. The response is a queued revision, and file is null until generation finishes.

Subscribe to these events to get webhook notifications for partially signed documents. See Webhook Events.

  • agreement.partial_generation.started — generation has started
  • agreement.partial_generation.failed — generation failed. The revision is failed and has no file. You can POST again.
  • agreement.partial_generation.finalized — generation succeeded. The revision is current and file is set.

POST returns an input validation error when nobody has signed or approved yet, when a generation is already queued, or when the latest revision is still current.


Current, stale, and deprecated​

The revision you should use is the one with status current.

  • current: this revision is up to date with the latest signatures and approvals.
  • stale: a previous revision, generated before later signatures or approvals were collected.
  • deprecated: the revision does not match the agreement as it stands now. That can happen because signatures were recalled, a document changed, or something else about the agreement no longer matches the PDF.

Billing​

Each successful generation is charged as a completed agreement whose only participants are the signers and approvers who had finished at that moment. A later generation, after more people have acted, is a separate charge for that larger subset.

Queued generations, failed generations, and GET requests are not charged. Fulfilling the agreement is still billed separately when everyone has finished.


Deleting a revision​

DELETE schedules removal of that revision. Removal completes within about 30 minutes. POST to .../cancel-deletion clears that schedule before removal finishes.


Get started​

These endpoints are available from API version 3.5.0. Upgrade your API client from the API client settings on zigned.se.