DoConure

How do I remind a signer, or resend a lost link?

A signer says they never got the email, or lost it. You do not create a new signature request and you do not pay for one: resend the same request to that signer. The envelope, its documents, its fields and its signing order stay exactly as they were, and nothing is charged (the signature was billed when you sent the envelope).

Resend to one signer

Take the recipient's id from a GET on the envelope (recipients[].id) and call:

curl -X POST https://your-host/api/v1/sign/envelopes/ENVELOPE_ID/recipients/RECIPIENT_ID/resend \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: resend-ENVELOPE_ID-RECIPIENT_ID-1"

The answer is the envelope, in the usual output.sign shape. The signer gets the invitation again, in the envelope's language, with a subject that says it is a resend; the console has the same button on the signer's row.

What you should knowDetail
The link is a new oneThe previous link stops working the moment the new one is issued. A signer who opens the old email is told the signing link is not valid; the new email is the one to use, so say so if you tell them by phone. There is never more than one live link per signer.
Why not the same email, byte for byteWe keep only a hash of each link, never the link: nobody, including us, can read back a link that was sent. So “send the same message again” is not possible without storing live credentials; a fresh link is what a resend is, and for the signer it reads as the same request.
Who can be resent toOnly a signer who can act now: the envelope must be sent or in_progress, and the signer must not have signed, declined or been skipped, and must be in the current group (in a signing order, a later signer has no link yet). Otherwise the call is refused with a stable code (ENVELOPE_NOT_EDITABLE, RECIPIENT_ALREADY_SIGNED, SIGNING_OUT_OF_TURN, RECIPIENT_NOT_REQUIRED).
Codes and reminders restartA signer who was locked out by wrong codes gets a clean count, and the automatic reminder clock starts again.
CostNo credit for the signature. An SMS code the signer asks for afterwards costs what an SMS costs.
RetriesSend an Idempotency-Key: the same key returns the first answer and does not mail the signer a second time.

If the address was wrong, do not resend: replace the signer (POST .../recipients/RECIPIENT_ID/replace) with the right one, which also revokes the old link.

Automatic reminders

To nudge without anybody asking, set reminderFrequencyHours in settings — above zero, whoever must currently sign gets a fresh link every that many hours, counted from when they were told:

"settings": { "documentId": "...", "subject": "...", "reminderFrequencyHours": 48 }

For one reminder to everybody who still has to sign, right now, use the Remind button on the envelope in the console; it ignores the cadence and reissues each link, as a resend does. Either way the previous link dies when the new one is issued, and none of it is a second charge.

When the link has expired, or was revoked or replaced

The invitation and every reminder say the day, time and time zone the link stops working, in your organisation's locale. A link that stopped working before it was used opens a page that says why — the request expired, was revoked by the sender, or the signer was replaced — in the request's language; nothing can be done from it. When a request expires or is revoked, every signer who had been invited and had not finished also receives a message that says so.

While the request is still open, a resend (above) gives the signer a fresh link. Once it has expired it cannot be reopened: send a new request. To give a request longer, set expirationDate when you create it (at most a year), or change your organisation's default expiry in Settings.