Signature Request Expiration Date
Signature Request Expiration Date allows requesters to create and send signature requests that have a specific date and time for signers to sign before. If all signers have yet to sign the document by that time, the signature request will expire.
Sending a Signature Request with an Expiration Date
An expiration date is defined by passing anexpires_at parameter, which accepts an epoch timestamp representing the point in time the signature request should expire. This is supported in all our OpenAPI SDKs.The expires_at parameter is supported by the following endpoints:- /signature_request/send
- /signature_request/create_embedded
- /signature_request/update
- /unclaimed_draft/create
- /unclaimed_draft/create_embedded
Validations Applied to expires_at
expires_atmust be an integer epoch timestamp in seconds between 1-90 days in the future.expires_atwill be rounded down to the nearest hour.
Example
Expiration Process
A signature request expires when one or more signers have yet to sign the signature request before the expiration date. Only signature requests that explicitly set anexpires_at will expire. By default signature requests do not expire.Details
Signature Status
After anexpires_at date has passed, each signature on the signature request that is not been completed will enter the expired status, and the overall signature request will be considered expired. You can determine whether a signature request is expired by checking each each signature object in the signatures array for "status_code": "expired".Document Access
All parties to the signature request will still have access to the document including audit trail, similar todeclined signature requests. They will not be able to sign or modify the signature request additionally at that time, and won’t have access via the Signer App.Signing Behavior
Signers that completed signing before expiration will be marked with"status_code": "signed". However, for each signer who has yet to sign the signature request, they will be marked "status_code": "expired" and the document will no longer be available for signing.Expiration Notification
An expired signature request will trigger notifications.
- Non-embedded signing flows - once expired, we will send an email to each signer and requester stating the signature request has expired at the specified signature request expiration date.
- Embedded signing flows - upon expiration, a
signature_request_expiredevent will be sent to your integration.
Audit Trail
On the audit trail, the signature request will be shown as in anexpired status, with an expired audit event with the expiration date listed along with all the signers who did not sign by the expiration date. Once a signature request has expired, it is considered to be in a final status like declined and completed signature requests.Signing a Signature Request with an Expiration
During signing, the signer will see the signature request expiration date in the banner next to the number of required fields to sign on the signature request. The time will be the users local timezone at the time of signing. If they attempt to sign the signature request past the expiration date, they will receive an error stating that the signature request is closed.
Signer Emails for Expiration (Non-embedded)
For signing flows that include emails, signers are notified of expiration date in the emails sent to them about signature requests. The date and time will be displayed in their preferred timezone based on their Dropbox Sign account settings.
No emails in embedded signing
Emails are muted in all embedded signing flows. Integrations using embedded signing must consume the signature_request_expired event.
| Screenshot | |
|---|---|
Send and UpdateFor both send and update, the signer will receive an email including the signature request expiration date in the subject and body of the email. |
|
ReminderSignature request reminder emails will be sent to the signer 3 and 7 days before the signature request expires, this is in addition to our other current automated reminders. If a signer was already reminded within 24 hours, we will skip the automated reminder. |
|
ExpiredAn expired email is sent to all signers and the requester when a signature request expired stating the requester has expired the signature request at the expiration date specified. |
|
Building Expiration into Your Integration
Web Surfaces
From DropboxSign.com you can filter by expired status in your Documents page and API Dashboard and will be displayed as beingexpired.Searching
We currently don’t support searching byexpired status in /signature_request/list at this time nor expiration date. See search for detailsUnclaimed Drafts
When setting an expiration using Embedded Requesting, users creating a signature request using theclaim_url can select an expiration date but not a specific time. The time will be inferred from the local timezone of the user's browser.
If the user does not change the expiration, it will retain the expires_at set when the draft was initially created. To display the date picker for the signature request expiration date, you need to send a valid value for expires_at when creating the unclaimed draft.FAQ
The expires_at in the response for unclaimed draft is different than what I set. Why?
Unclaimed drafts generate a claim_url that is only accessible for a set period of time. That means the expires_at on an Unclaimed Draft object is different than expires_at applied to Signature Request object.{
"unclaimed_draft": {
"claim_url": "https://app.hellosign.com/send/resendDocs?root_snapshot_guids[]=7f967b7d06e154394eab693febedf61e8ebe49eb&snapshot_access_guids[]=fb848631&root_snapshot_guids[]=7aedaf31e12edf9f2672a0b2ddf028aca670e101&snapshot_access_guids[]=f398ef87",
"signing_redirect_url": null,
"expires_at": 1414093891,
"test_mode": true
}
}{
"signature_request": {
"signature_request_id": "2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
"test_mode": true,
"title": "OriginalDocument",
"original_title": "OriginalDocument",
"subject": "Example Subject",
"message": "Example Message",
"metadata": {},
"created_at": 1671140704,
"expires_at": 1671987600,
"is_complete": false,
"is_declined": false,
"has_error": false,
"custom_fields": [],
"response_data": [],
"signing_url": "https://app.hellosign.com/sign/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
"signing_redirect_url": null,
"final_copy_uri": "/v3/signature_request/final_copy/e4430b36cbabd6d0ed00d1a65a1bfc0260ff7bff",
"files_url": "https://api.hellosign.com/v3/signature_request/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
"details_url": "https://app.hellosign.com/home/manage?guid=2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
"requester_email_address": "me@hellosign.com",
"signatures": [
{
"signature_id": "78caf2a1d01cd39cea2bc1cbb340dac3",
"has_pin": false,
"has_sms_auth": false,
"has_sms_delivery": false,
"sms_phone_number": null,
"signer_email_address": "jack@example.com",
"signer_name": "Bob Smith",
"signer_role": null,
"order": null,
"status_code": "awaiting_signature",
"signed_at": null,
"last_viewed_at": null,
"last_reminded_at": null,
"error": null
}
],
"cc_email_addresses": [],
"template_ids": null
}
}