Skip to main content
A signer is a recipient who reviews documents and adds their signature or initials. Every envelope must have at least one signer. A signer’s signature can serve different purposes depending on the document:
  • Create legal obligations
  • Serve as evidence of intent
  • Confirm knowledge and understanding
  • Authorize specific actions or commitments

The signer’s ceremony

The signer interacts with the envelope through the signer’s ceremony, a guided session where they complete all required signing actions. At the start of the ceremony, the signer must consent to using electronic signatures. This consent is legally required in most jurisdictions for electronic signatures to be valid. Consent screen After consenting, the signer reviews the documents. If input places are assigned to the signer (such as text boxes or checkboxes), the signer fills them in. When ready, the signer clicks the place where their signature or initials is expected. Signature place The signer chooses how to sign: by typing their name or by drawing their signature. The signer adopts this symbol as their signature. Signature input After completing all required places, the signer clicks Finalize to finish the ceremony. All steps of the signer’s ceremony are recorded in the audit log. This log is attached to the signed documents in the deliverable. Audit log

Workflow example

1

Create an envelope

Include one or more signer recipients. Assign signature places to each signer.
2

Signer receives the invitation

The signer receives an email invitation (if delivery_type is email) or accesses the ceremony URL directly.
3

Signer completes their ceremony

The signer consents to electronic signatures, reviews documents, fills in any input places, and adds their signature.
4

Envelope completes

Once all signers have finished, the envelope transitions to completed status and a deliverable is generated.

Creating an envelope with a signer

Specify "type": "signer" for recipients who must sign the document.
// POST https://api.signatureapi.com/v1/envelopes
// X-API-Key: key_test_...
// Content-Type: application/json

{
    "title": "Service Agreement",
    "recipients": [
        {
            "key": "client",
            "type": "signer",
            "name": "Jordan Lee",
            "email": "jordan@example.com"
        }
    ],
    //...
}

Assigning places to a signer

Places are assigned to a signer using the recipient_key property. A signer must have at least one signature or initials place. Signers can also have text inputs, checkboxes, and other place types assigned.
{
    "documents": [
        {
            "places": [
                {
                    "type": "signature",
                    "recipient_key": "client",
                    "key": "client_signature",
                    //...
                },
                {
                    "type": "text_input",
                    "recipient_key": "client",
                    "key": "client_title",
                    //...
                }
            ],
            //...
        }
    ],
    //...
}

Delivery type

The delivery_type property controls whether the completed deliverable is automatically emailed to the signer. The default is email. Set delivery_type to none when your application distributes the signed documents itself. This is common when embedding the ceremony in your web app or delivering signing links via SMS.
{
    "recipients": [
        {
            "type": "signer",
            "key": "client",
            "name": "Jordan Lee",
            "email": "jordan@example.com",
            "delivery_type": "none",
            //...
        }
    ],
    //...
}

Signature options

The signature_options array controls which signing methods are available. The first item in the array is shown as the default.
OptionDescription
typedThe signer types their name. It is pre-filled from the recipient’s name property.
drawnThe signer draws their signature using a mouse, stylus, or touchscreen.
Both options are enabled by default, with typed shown first. To allow only drawn signatures, set signature_options to ["drawn"].

Next steps