Skip to main content
The e-signature workflow turns a template into a signed document. This guide covers the full lifecycle: create a request, prefill fields, generate a signing URL, and download the completed PDF.

Overview

1

Create a signature request from a template

2

Generate a signing URL and embed it

3

Detect completion via events or status

4

Download the signed envelope

1. Create a signature request

A signature request needs a templateId, a signer, and a sender. See Manage templates to create a template first.
Response

Prefill fields

To fill in values before the signer opens the document, pass a fields array. Each entry references a fieldId from the template and the value to set.
Field IDs come from the template. Open the template’s editor URL to place fields and find their IDs. A fieldId that doesn’t exist on the template returns a 400.

Test mode

While integrating, set testMode: true so the request doesn’t count toward billing.

2. Generate a signing URL

Create a signing URL for the signature request and embed it in your product. The URL expires one hour after creation, so generate it right before displaying it.
Response
A signing URL can’t be created once the document is already completed — that request returns 409.

3. Detect completion

You have two ways to know when the signer is done:
Fetch the signature request and check status. It moves from Created to Completed.
Fetch signature request events for a chronological history of what happened, including sending and completion.
To reconcile activity in bulk, use List signature requests with the updatedSince query parameter to fetch only what changed since your last sync.

4. Download the signed envelope

Once the document is Completed, retrieve a presigned URL to download the signed PDF.
Response
Requesting the signed envelope before signing is complete returns 409 with "Envelope has not been signed yet".