Manage signature link delivery

Learn how link delivery works when you use Yousign’s hosted signing and approval interface.

When you use Yousign’s hosted signing and approval interface, you can deliver each recipient’s link in two ways:

  • Let Yousign handle email delivery: we will send an email to each person recipient.
  • Handle it yourself: You retrieve the link from our API and deliver it however works best for you - through your app, your own emails, a chat message, or even embedded right in your page using an iFrame.

💡

Building a completely custom signing experience? If you're creating your own signing interface from scratch (rather than using our hosted interface), you won't need these links. Check out our guide on building your own signing flow.


Choose a link delivery method

Go with Yousign-managed delivery if:

  • You want the simplest setup possible
  • You're happy for us to handle when and how emails are sent:

Go with self-managed delivery if:

  • You want more control over the user experience.
  • You want the signing process to feel like a natural part of your product. The Signer or Approver can click the signature link directly in your interface.
  • You want to embed the signing page directly in your app so users never have to leave. See iFrame the signature interface.

Status semantics for notified

The status notified means slightly different things depending on your delivery method:

  • Yousign-managed delivery: The recipient has status notified once we've sent them the email.
  • Self-managed: The recipient has status notified once their link is ready for you to retrieve (we haven't sent any email).

Option 1 — Link delivery managed by Yousign (email)

When it's someone's turn to sign or approve, we'll automatically send them an email with the right link.

  • Signers receive a signing link.
  • Approvers receive an approval link.

How to enable it

  • When creating your Signature Request, set delivery_mode to email (you can do this at the request level or for individual signers/approvers). See Initiate a new Signature Request .
  • Make sure the delivery email isn't disabled at Signer level. The email is called signer.signature_request_signature_requested.first_notification. See Create a new Signer.
  • If you use a Custom Experience, make sure the “Signature requested” and “Approval requested” emails are turned on. Even with delivery_mode set to email, nothing will go out if these are disabled.

To learn more, see Deactivate email notifications.

How recipient ordering works

  • Ordered recipients: We'll make sure everyone approves/signs in the right order. The next person only gets notified after the previous person finishes.
  • Non‑ordered recipients: We will send all email notifications at the same time (though if you have Approvers, they'll get theirs first).

To learn more, see Configure recipient ordering.


Option 2 — You handle the link delivery

You are responsible for retrieving and delivering each recipient’s link.

How to get the links

You can fetch signature_link or approval_link from these API endpoints:

Or if you prefer, you can just copy the link manually from the Yousign app.

Example responses:

POST /signature_requests/{signatureRequestId}/activate

"signers": [
  {
    "id": "a3e3bf85...",
    "status": "initiated",
    "signature_link": null,
    "signature_link_expiration_date": null
  }
],
"approvers": [
  {
    "id": "3fa85f64...",
    "status": "notified",
    "approval_link": "https://yousign.app/signatures/ae1b52cf...",
    "approval_link_expiration_date": "2024-01-18T22:59:00Z"
}
GET /signature_requests/{signatureRequestId}/signers/{signerId}

{
  "id": "a3e3bf85...",
  "info": {
    "first_name": "Kelly",
    "last_name": "Smith",
    "email": "[email protected]",
    "phone_number": null,
    "locale": "en"
  },
  "status": "notified",
  "signature_link": "https://yousign.app/signatures/ae1b52cf...",
  "signature_link_expiration_date": "2024-01-18T22:59:00Z",
  "signature_image_preview": "https://api.yousign.tech/signature_requests/49176816...",
  ...
}
GET /signature_requests/{signatureRequestId}/approvers/{approverId}

{
  "id": "3fa85f64...",
  "info": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "[email protected]",
    "phone_number": null,
    "locale": "en"
  },
  "status": "notified",
  "approval_link": "https://yousign.app/signatures/c7afe88f...",
  "approval_link_expiration_date": "2024-01-18T22:59:00Z",
  "signature_image_preview": "https://api.yousign.tech/signature_requests/78334527...",
  ...
}

Don't forget to disable our emails!

If you're sending the links yourself, make sure to turn off Yousign's automatic emails so people don't get confused by duplicate messages. See Deactivate email notifications.

Security and validity of the link

⚠️

The link is sensitive information and should be treated like a user credential. It grants access to the recipient’s signing/approval interface.

What you need to know:

  • Links don't last forever. By default, they expire after 48 hours (our support team can adjust this to anywhere between 1-72 hours if you need).
  • You can check when a link expires using the signature_link_expiration_date or approval_link_expiration_date field.
  • Expiration date can be retrieved thanks to the signature_link_expiration_date / approval_link_expiration_date field in the API response.
  • If the link has expired, simply call Get a Signer or Get an Approver. We will generate a fresh link with a new expiration date.

How recipient ordering works

  • Non-ordered recipients: After you activate the request, you can retrieve all signature links at once and share them with the Signers. If the request includes Approvers, their links come first—once everyone's approved (listen for the approver.approved webhook), all the signer links become available.

  • Ordered recipients: You'll need to enforce the sequence yourself.

    To do so, wait for each recipient to become notified, then retrieve and deliver their link. Here is the pattern:

  • For Signers:

    1. Listen to the signer.notified webhook event.
    2. When received, call Get a Signer to retrieve the signature_link.
    3. Deliver the link to that person.
  • For Approvers:

    1. Listen to the approver.notified webhook event.
    2. When received, call Get an Approver to retrieve the approval_link.
    3. Deliver the link to that person.

Example: Three people signing in order (A → B → C)

  • Step 1: Activate the Signature Request

    SignerSigner statussignature_link
    Anotifiedhttps://…
    Binitiatednull
    Cinitiatednull
    • You deliver A’s link.
    • A signs.
  • Step 2: B’s turn to sign

    SignerSigner statussignature_link
    Asignednull
    Bnotifiedhttps://…
    Cinitiatednull
    • You deliver B’s link.
    • B signs.
  • Step 3: C’s turn to sign

    SignerSigner statussignature_link
    Asignednull
    Bsignednull
    Cnotifiedhttps://…
    • You deliver C’s link.
    • C signs.

To learn more, see Configure recipient ordering.