> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.hellosign.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.hellosign.com/_mcp/server.

> Add an expiration to your Signature Request to limit the length of time a document can be signed. Once expired, signers can no longer sign the Signature Request.

# 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 an `expires_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](/api/signature-request/send)
* [/signature\_request/create\_embedded](/api/signature-request/create-embedded)
* [/signature\_request/update](/api/signature-request/update)
* [/unclaimed\_draft/create](/api/unclaimed-draft/create)
* [/unclaimed\_draft/create\_embedded](/api/unclaimed-draft/create-embedded)

#### Validations Applied to `expires_at`

1. `expires_at` must be an integer epoch timestamp in seconds between 1-90 days in the future.
2. `expires_at` will be rounded down to the nearest hour.

#### Example

### Request

POST [https://api.hellosign.com/v3/signature\_request/send](https://api.hellosign.com/v3/signature_request/send)

```php PHP
<?php

namespace Dropbox\SignSandbox;

require_once __DIR__ . '/../vendor/autoload.php';

use SplFileObject;
use Dropbox;

$config = Dropbox\Sign\Configuration::getDefaultConfiguration();
$config->setUsername("YOUR_API_KEY");
// $config->setAccessToken("YOUR_ACCESS_TOKEN");

$field_options = (new Dropbox\Sign\Model\SubFieldOptions())
    ->setDateFormat(Dropbox\Sign\Model\SubFieldOptions::DATE_FORMAT_DD_MM_YYYY);

$signing_options = (new Dropbox\Sign\Model\SubSigningOptions())
    ->setDefaultType(Dropbox\Sign\Model\SubSigningOptions::DEFAULT_TYPE_DRAW)
    ->setDraw(true)
    ->setPhone(false)
    ->setType(true)
    ->setUpload(true)
    ->setForceAdvancedSignatureDetails(false);

$signers_1 = (new Dropbox\Sign\Model\SubSignatureRequestSigner())
    ->setName("Jack")
    ->setEmailAddress("jack@example.com")
    ->setOrder(0);

$signers_2 = (new Dropbox\Sign\Model\SubSignatureRequestSigner())
    ->setName("Jill")
    ->setEmailAddress("jill@example.com")
    ->setOrder(1);

$signers = [
    $signers_1,
    $signers_2,
];

$signature_request_send_request = (new Dropbox\Sign\Model\SignatureRequestSendRequest())
    ->setMessage("Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.")
    ->setSubject("The NDA we talked about")
    ->setTestMode(true)
    ->setTitle("NDA with Acme Co.")
    ->setCcEmailAddresses([
        "lawyer1@dropboxsign.com",
        "lawyer2@dropboxsign.com",
    ])
    ->setFiles([
    ])
    ->setMetadata(json_decode(<<<'EOD'
        {
            "custom_id": 1234,
            "custom_text": "NDA #9"
        }
    EOD, true))
    ->setFieldOptions($field_options)
    ->setSigningOptions($signing_options)
    ->setSigners($signers);

try {
    $response = (new Dropbox\Sign\Api\SignatureRequestApi(config: $config))->signatureRequestSend(
        signature_request_send_request: $signature_request_send_request,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling SignatureRequestApi#signatureRequestSend: {$e->getMessage()}";
}

```

```csharp C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;

using Dropbox.Sign.Api;
using Dropbox.Sign.Client;
using Dropbox.Sign.Model;

namespace Dropbox.SignSandbox;

public class SignatureRequestSendExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        var fieldOptions = new SubFieldOptions(
            dateFormat: SubFieldOptions.DateFormatEnum.DD_MM_YYYY
        );

        var signingOptions = new SubSigningOptions(
            defaultType: SubSigningOptions.DefaultTypeEnum.Draw,
            draw: true,
            phone: false,
            type: true,
            upload: true,
            force_advanced_signature_details: false,
        );

        var signers1 = new SubSignatureRequestSigner(
            name: "Jack",
            emailAddress: "jack@example.com",
            order: 0
        );

        var signers2 = new SubSignatureRequestSigner(
            name: "Jill",
            emailAddress: "jill@example.com",
            order: 1
        );

        var signers = new List<SubSignatureRequestSigner>
        {
            signers1,
            signers2,
        };

        var signatureRequestSendRequest = new SignatureRequestSendRequest(
            message: "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.",
            subject: "The NDA we talked about",
            testMode: true,
            title: "NDA with Acme Co.",
            ccEmailAddresses: [
                "lawyer1@dropboxsign.com",
                "lawyer2@dropboxsign.com",
            ],
            files: new List<Stream>
            {
                new FileStream(
                    path: "./example_signature_request.pdf",
                    mode: FileMode.Open
                ),
            },
            metadata: JsonSerializer.Deserialize<Dictionary<string, object>>("""
                {
                    "custom_id": 1234,
                    "custom_text": "NDA #9"
                }
            """),
            fieldOptions: fieldOptions,
            signingOptions: signingOptions,
            signers: signers
        );

        try
        {
            var response = new SignatureRequestApi(config).SignatureRequestSend(
                signatureRequestSendRequest: signatureRequestSendRequest
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestSend: " + e.Message);
            Console.WriteLine("Status Code: " + e.ErrorCode);
            Console.WriteLine(e.StackTrace);
        }
    }
}

```

```typescript TypeScript
import * as fs from 'fs';
import api from "@dropbox/sign"
import models from "@dropbox/sign"

const apiCaller = new api.SignatureRequestApi();
apiCaller.username = "YOUR_API_KEY";
// apiCaller.accessToken = "YOUR_ACCESS_TOKEN";

const fieldOptions: models.SubFieldOptions = {
  dateFormat: models.SubFieldOptions.DateFormatEnum.DdMmYyyy,
};

const signingOptions: models.SubSigningOptions = {
  defaultType: models.SubSigningOptions.DefaultTypeEnum.Draw,
  draw: true,
  phone: false,
  type: true,
  upload: true,
  force_advanced_signature_details: false,
};

const signers1: models.SubSignatureRequestSigner = {
  name: "Jack",
  emailAddress: "jack@example.com",
  order: 0,
};

const signers2: models.SubSignatureRequestSigner = {
  name: "Jill",
  emailAddress: "jill@example.com",
  order: 1,
};

const signers = [
  signers1,
  signers2,
];

const signatureRequestSendRequest: models.SignatureRequestSendRequest = {
  message: "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.",
  subject: "The NDA we talked about",
  testMode: true,
  title: "NDA with Acme Co.",
  ccEmailAddresses: [
    "lawyer1@dropboxsign.com",
    "lawyer2@dropboxsign.com",
  ],
  files: [
    fs.createReadStream("./example_signature_request.pdf"),
  ],
  metadata: {
    "custom_id": 1234,
    "custom_text": "NDA #9"
  },
  fieldOptions: fieldOptions,
  signingOptions: signingOptions,
  signers: signers,
};

apiCaller.signatureRequestSend(
  signatureRequestSendRequest,
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling SignatureRequestApi#signatureRequestSend:");
  console.log(error.body);
});

```

```java Java
package com.dropbox.sign_sandbox;

import com.dropbox.sign.ApiException;
import com.dropbox.sign.Configuration;
import com.dropbox.sign.api.*;
import com.dropbox.sign.auth.*;
import com.dropbox.sign.JSON;
import com.dropbox.sign.model.*;

import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class SignatureRequestSendExample
{
    public static void main(String[] args)
    {
        var config = Configuration.getDefaultApiClient();
        ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY");
        // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN");

        var fieldOptions = new SubFieldOptions();
        fieldOptions.dateFormat(SubFieldOptions.DateFormatEnum.DD_MM_YYYY);

        var signingOptions = new SubSigningOptions();
        signingOptions.defaultType(SubSigningOptions.DefaultTypeEnum.DRAW);
        signingOptions.draw(true);
        signingOptions.phone(false);
        signingOptions.type(true);
        signingOptions.upload(true);
        signingOptions.forceAdvancedSignatureDetails(false);

        var signers1 = new SubSignatureRequestSigner();
        signers1.name("Jack");
        signers1.emailAddress("jack@example.com");
        signers1.order(0);

        var signers2 = new SubSignatureRequestSigner();
        signers2.name("Jill");
        signers2.emailAddress("jill@example.com");
        signers2.order(1);

        var signers = new ArrayList<SubSignatureRequestSigner>(List.of (
            signers1,
            signers2
        ));

        var signatureRequestSendRequest = new SignatureRequestSendRequest();
        signatureRequestSendRequest.message("Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.");
        signatureRequestSendRequest.subject("The NDA we talked about");
        signatureRequestSendRequest.testMode(true);
        signatureRequestSendRequest.title("NDA with Acme Co.");
        signatureRequestSendRequest.ccEmailAddresses(List.of (
            "lawyer1@dropboxsign.com",
            "lawyer2@dropboxsign.com"
        ));
        signatureRequestSendRequest.files(List.of (
            new File("./example_signature_request.pdf")
        ));
        signatureRequestSendRequest.metadata(JSON.deserialize("""
            {
                "custom_id": 1234,
                "custom_text": "NDA #9"
            }
        """, Map.class));
        signatureRequestSendRequest.fieldOptions(fieldOptions);
        signatureRequestSendRequest.signingOptions(signingOptions);
        signatureRequestSendRequest.signers(signers);

        try
        {
            var response = new SignatureRequestApi(config).signatureRequestSend(
                signatureRequestSendRequest
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling SignatureRequestApi#signatureRequestSend");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
    }
}

```

```ruby Ruby
require "json"
require "dropbox-sign"

Dropbox::Sign.configure do |config|
    config.username = "YOUR_API_KEY"
    # config.access_token = "YOUR_ACCESS_TOKEN"
end

field_options = Dropbox::Sign::SubFieldOptions.new
field_options.date_format = "DD - MM - YYYY"

signing_options = Dropbox::Sign::SubSigningOptions.new
signing_options.default_type = "draw"
signing_options.draw = true
signing_options.phone = false
signing_options.type = true
signing_options.upload = true
signing_options.force_advanced_signature_details = false

signers_1 = Dropbox::Sign::SubSignatureRequestSigner.new
signers_1.name = "Jack"
signers_1.email_address = "jack@example.com"
signers_1.order = 0

signers_2 = Dropbox::Sign::SubSignatureRequestSigner.new
signers_2.name = "Jill"
signers_2.email_address = "jill@example.com"
signers_2.order = 1

signers = [
    signers_1,
    signers_2,
]

signature_request_send_request = Dropbox::Sign::SignatureRequestSendRequest.new
signature_request_send_request.message = "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions."
signature_request_send_request.subject = "The NDA we talked about"
signature_request_send_request.test_mode = true
signature_request_send_request.title = "NDA with Acme Co."
signature_request_send_request.cc_email_addresses = [
    "lawyer1@dropboxsign.com",
    "lawyer2@dropboxsign.com",
]
signature_request_send_request.files = [
    File.new("./example_signature_request.pdf", "r"),
]
signature_request_send_request.metadata = JSON.parse(<<-EOD
    {
        "custom_id": 1234,
        "custom_text": "NDA #9"
    }
    EOD
)
signature_request_send_request.field_options = field_options
signature_request_send_request.signing_options = signing_options
signature_request_send_request.signers = signers

begin
    response = Dropbox::Sign::SignatureRequestApi.new.signature_request_send(
        signature_request_send_request,
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling SignatureRequestApi#signature_request_send: #{e}"
end

```

```python Python
import json
from datetime import date, datetime
from pprint import pprint

from dropbox_sign import ApiClient, ApiException, Configuration, api, models

configuration = Configuration(
    username="YOUR_API_KEY",
    # access_token="YOUR_ACCESS_TOKEN",
)

with ApiClient(configuration) as api_client:
    field_options = models.SubFieldOptions(
        date_format="DD - MM - YYYY",
    )

    signing_options = models.SubSigningOptions(
        default_type="draw",
        draw=True,
        phone=False,
        type=True,
        upload=True,
        force_advanced_signature_details=False,
    )

    signers_1 = models.SubSignatureRequestSigner(
        name="Jack",
        email_address="jack@example.com",
        order=0,
    )

    signers_2 = models.SubSignatureRequestSigner(
        name="Jill",
        email_address="jill@example.com",
        order=1,
    )

    signers = [
        signers_1,
        signers_2,
    ]

    signature_request_send_request = models.SignatureRequestSendRequest(
        message="Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.",
        subject="The NDA we talked about",
        test_mode=True,
        title="NDA with Acme Co.",
        cc_email_addresses=[
            "lawyer1@dropboxsign.com",
            "lawyer2@dropboxsign.com",
        ],
        files=[
            open("./example_signature_request.pdf", "rb").read(),
        ],
        metadata=json.loads("""
            {
                "custom_id": 1234,
                "custom_text": "NDA #9"
            }
        """),
        field_options=field_options,
        signing_options=signing_options,
        signers=signers,
    )

    try:
        response = api.SignatureRequestApi(api_client).signature_request_send(
            signature_request_send_request=signature_request_send_request,
        )

        pprint(response)
    except ApiException as e:
        print("Exception when calling SignatureRequestApi#signature_request_send: %s\n" % e)

```

```curl cURL
curl -X POST 'https://api.hellosign.com/v3/signature_request/send' \
  -u 'YOUR_API_KEY:' \
  -F 'files[0]=@mutual-NDA-example.pdf' \
  -F 'title=NDA with Acme Co.' \
  -F 'subject=The NDA we talked about' \
  -F 'message=Please sign this NDA and then we can discuss more. Let me know if you have any questions.' \
  -F 'signers[0][email_address]=jack@example.com' \
  -F 'signers[0][name]=Jack' \
  -F 'signers[0][order]=0' \
  -F 'signers[1][email_address]=jill@example.com' \
  -F 'signers[1][name]=Jill' \
  -F 'signers[1][order]=1' \
  -F 'cc_email_addresses[]=lawyer1@dropboxsign.com' \
  -F 'cc_email_addresses[]=lawyer2@dropboxsign.com' \
  -F 'metadata[custom_id]=1234' \
  -F 'metadata[custom_text]=NDA #9' \
  -F 'signing_options[draw]=1' \
  -F 'signing_options[type]=1' \
  -F 'signing_options[upload]=1' \
  -F 'signing_options[phone]=1' \
  -F 'signing_options[default_type]=draw' \
  -F 'signing_options[force_advanced_signature_details]=0' \
  -F 'field_options[date_format]=DD - MM - YYYY' \
  -F 'test_mode=1'

```

```go Send Signature Request
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hellosign.com/v3/signature_request/send"

	req, _ := http.NewRequest("POST", url, nil)

	req.SetBasicAuth("<apiKey>", "")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```swift Send Signature Request
import Foundation

let credentials = Data("<apiKey>:".utf8).base64EncodedString()

let headers = [
  "Authorization": "Basic \(credentials)",
  "Content-Type": "application/json"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/signature_request/send")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

## 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 an `expires_at` will expire. By default signature requests do not expire.

### Details

#### Signature Status

After an `expires_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 to `declined` 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](#signer-emails-for-expiration-non-embedded) 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_expired` [event](/docs/guides/events-and-callbacks/overview) will be sent to your integration.

#### Audit Trail

On the audit trail, the signature request will be shown as in an `expired` 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.

<img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/dropbox123432.docs.buildwithfern.com/60b5e5388085032042e1e5389b50ec95d29ed91d3be4bf5f33319befb032c1d6/docs/signature-request/signer-expiration-date.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260814T211332Z&X-Amz-Expires=604800&X-Amz-Signature=93140e8a36f5b8dedc221a5552a003bacebd5848b4e7f00aeab9089cbd670258&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Screenshot of Signer App displaying expiration date" script={{border: "solid #e6e6e6", borderRadius: 3, height: 250}} />

### 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.

| Email                                                                                                                                                                                                                                                                                         | Screenshot                                                                                                        |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| <h4>Send and Update</h4><p>For both send and update, the signer will receive an email including the signature request expiration date in the subject and body of the email.</p>                                                                                                               | <img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/dropbox123432.docs.buildwithfern.com/d7f7fcdf43cd70067a17e6ac7b1cfc02fff29f965949599c483416c993519cc0/docs/signature-request/send-email.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260814T211332Z&X-Amz-Expires=604800&X-Amz-Signature=da585b019b43cb5af0754d642009e5ee2bb20201f76af5e5737cbdf3ea25729b&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Screenshot of Signature Request Sent Email" />         |
| <h4>Reminder</h4> <p>Signature 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.</p> | <img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/dropbox123432.docs.buildwithfern.com/33b1c0171e748325a719acd3000099fa40468cb0aa73613005ce74873cfc6438/docs/signature-request/reminder-email.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260814T211332Z&X-Amz-Expires=604800&X-Amz-Signature=7e4df22e775db01e0597e5494ba93572cd334afd3fcf1779579fcc80dc21f6bc&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Screenshot of Signature Request Reminder Email" /> |
| <h4>Expired</h4><p>An 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.</p>                                                                                   | <img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/dropbox123432.docs.buildwithfern.com/f84ff5a7ad2823d862e87329dddacf9a4e2c1d1f3ea792918c1018b16445d00b/docs/signature-request/expired-email.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260814%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260814T211332Z&X-Amz-Expires=604800&X-Amz-Signature=16a0e83ee05499ff04828f0aab88e5fb17792c90ec499c2c4d6fcadf80a5c370&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Screenshot of Signature Request Expired Email" />   |

## 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 being `expired`.

### Searching

We currently don't support searching by `expired` status in [/signature\_request/list](/api/signature-request/list) at this time nor expiration date. See [search](/api/manual-reference-pages/search) for details

### Unclaimed Drafts

When setting an expiration using [Embedded Requesting](/docs/walkthroughs/embedded-requesting), users creating a signature request using the `claim_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](/api/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](/api/unclaimed-draft) object is **different** than `expires_at` applied to [Signature Request](/api/signature-request) object.

```json title="expires_at in Unclaimed Draft"
{
    "unclaimed_draft": {
        "claim_url": "https://app.hellosign.com/send/resendDocs?root_snapshot_guids[]=7f967b7d06e154394eab693febedf61e8ebe49eb&amp;snapshot_access_guids[]=fb848631&amp;root_snapshot_guids[]=7aedaf31e12edf9f2672a0b2ddf028aca670e101&amp;snapshot_access_guids[]=f398ef87",
        "signing_redirect_url": null,
        "expires_at": 1414093891,
        "test_mode": true
    }
}
```

```json title="expires_at in Signature Request"
{
    "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": [],
```