Skip to main content

Reminders & Expiration

Not all documents get signed immediately. sajn provides tools to manage unsigned documents through reminders, expiration dates, and withdrawal.

Setting Expiration Dates

An expiration date defines when a document is no longer valid for signing. After this date, signers cannot complete the signing process.

When Creating a Document

Set expiration using the expiresAt field:
Document settings showing expiration date configuration

Updating Expiration on Draft Documents

For documents still in DRAFT, update the expiration with a PATCH:
You can only update expiration on documents that haven’t been completed or expired yet.

Extending Expiration on Sent Documents

Once a document has been sent and is in PENDING status, use the dedicated Extend Expiration endpoint instead of PATCH. The new expiresAt must be in the future and strictly later than the current expiration:
When you extend a sent document:
  1. The document’s expiresAt is updated.
  2. An audit log entry is recorded.
  3. Every notifiable recipient (one with an email, notifications enabled, a delivery method other than NONE, and who hasn’t rejected) is emailed that the signing deadline has moved.
Extending expiration requires the EDIT_DOCUMENT workspace permission.

What Happens When Documents Expire

When a document expires:
  1. Signing is disabled - Signers can no longer access the signing interface
  2. Status changes - Document status becomes EXPIRED
  3. Webhook fires - A DOCUMENT_EXPIRED event is sent
  4. Links invalidated - All signing links return an expiration message

Expired Document Response

When a signer tries to access an expired document:

Handling Expired Documents

If a document expires before signing is complete, you have several options:
  1. Create a new document - Duplicate the content with a new expiration date
  2. Contact signers - Reach out directly to understand any issues
  3. Adjust your process - Consider longer expiration periods or earlier reminders

Sending Reminders

Reminders help move stalled documents forward by prompting signers to take action.
Example reminder email sent to a signer

Manual Reminders

Send a reminder to every pending party on a document by calling the Send Reminders endpoint with an empty body:

Reminder to Specific Parties

Limit the reminder to specific recipients by passing their party IDs in partyIds:
The legacy signerIds field is still accepted for backwards compatibility but is deprecated and will be removed in API v2. Use partyIds going forward — if both are provided, partyIds takes precedence.
You can also remind a single party directly via POST /api/v1/documents/{id}/parties/{partyId}/remind.

Automatic Reminders

Configure automatic reminders in the document metadata:
This configuration sends reminders:
  • 3 days after sending
  • 7 days after sending
  • 14 days after sending
Automatic reminders only send to signers who haven’t yet signed. Already completed signers are excluded.

Reminder Content

Reminders include:
  • Document name and description
  • Original signing request context
  • Direct link to sign
  • Expiration date (if set)

Withdrawing Documents

Sometimes you need to pull back a document that’s out for signing—perhaps the terms have changed or the deal fell through. Withdrawing recalls it from every signer and returns it to DRAFT.

Withdraw a Document

reason is optional. When set, it appears in the withdrawal email to signers and is stored on the audit log. The document must be in PENDING or SENDING status. Use DELETE /api/v1/documents/{id} for a DRAFT, and the approval cancel endpoint for PENDING_APPROVAL.

What Happens When Withdrawn

  1. Status resets - Document status is set back to DRAFT
  2. Signatures removed - Existing signatures and signer verifications are deleted, and each signer’s signing, sending and read status is reset
  3. Reminders cancelled - Pending signing reminders are dropped
  4. Signers notified - Every signer that had been notified receives a withdrawal email
  5. Webhook fires - A DOCUMENT_WITHDRAWN event is sent
Withdrawing destroys the signatures already collected — they cannot be restored. The document itself returns to DRAFT, so you can edit and send it again as a fresh signing round.

Webhook Events

Both events below deliver the standard Document payload in payload. There is no separate list of “pending signers” — read payload.parties and keep the ones whose signingStatus is still NOT_SIGNED.

Document Expired

Handling the Expired Webhook

Document Withdrawn

Fired when a sent document is recalled. Note that status is DRAFT — withdrawing returns the document to draft rather than terminating it.

Best Practices

Consider your signers’ context when setting expiration dates:
  • Quotes: 14-30 days
  • Contracts: 30-60 days
  • Internal approvals: 7-14 days
  • Urgent documents: 3-7 days
Don’t spam signers with too many reminders. A good pattern:
  • First reminder: 3-5 days after sending
  • Second reminder: 7-10 days after sending
  • Final reminder: A few days before expiration
When sending documents, mention the expiration date in the subject or message so signers know there’s a deadline.
Set up webhook handlers for DOCUMENT_EXPIRED events to proactively reach out to signers or take corrective action.
When documents expire, have a defined process:
  1. Contact the signer to understand the delay
  2. Address any concerns or questions
  3. Create a new document if needed
  4. Adjust future expiration periods if consistently too short
Expiration times are in UTC. Consider your signers’ timezones when setting deadlines to avoid unexpected expirations.

Document Lifecycle

Next Steps

Multi-Party Signing

Configure complex signing workflows

Webhooks

Set up event notifications

Downloading Documents

Retrieve completed documents

Creating Documents

Learn document creation basics