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

# Update Signature Request

POST https://api.hellosign.com/v3/signature_request/update/{signature_request_id}
Content-Type: application/json

Updates the email address and/or the name for a given signer on a signature request. You can listen for the `signature_request_email_bounce` event on your app or account to detect bounced emails, and respond with this method.

Updating the email address of a signer will generate a new `signature_id` value.

**NOTE:** This action cannot be performed on a signature request with an appended signature page.

Reference: https://developers.hellosign.com/api/signature-request/update

## Authentication

- `Authorization` header (basic auth, required) — Your API key can be used to make calls to the Dropbox Sign API. See [Authentication](/api/reference/authentication) for more information. ✅ Supported by Try it console (calls sent in `test_mode` only).
- `Authorization` header (bearer token, required) — You can use an Access Token issued through an OAuth flow to send calls to the Dropbox Sign API from your app. The access scopes required by this endpoint are listed in the gray box above. See [Authentication](/api/reference/authentication) for more information. ❌ **Not supported** by Try it console.

## Request

### Path parameters

- `signature_request_id` (string, required) — The id of the SignatureRequest to update.

### Body (application/json)

- `signature_id` (string, required) — The signature ID for the recipient.
- `email_address` (string, optional) — The new email address for the recipient. This will generate a new `signature_id` value. **NOTE:** Optional if `name` is provided.
- `name` (string, optional) — The new name for the recipient. **NOTE:** Optional if `email_address` is provided.
- `expires_at` (integer, optional, nullable) — The new time when the signature request will expire. Unsigned signatures will be moved to the expired status, and no longer signable. See [Signature Request Expiration Date](https://developers.hellosign.com/docs/signature-request/expiration/) for details.

## Response

### 200

successful operation

- `signature_request` (object, required) — Contains information about a signature request.
  - `test_mode` (boolean, optional, default: false) — Whether this is a test signature request. Test requests have no legal value. Defaults to `false`.
  - `signature_request_id` (string, optional) — The id of the SignatureRequest.
  - `requester_email_address` (string, optional, nullable) — The email address of the initiator of the SignatureRequest.
  - `title` (string, optional) — The title the specified Account uses for the SignatureRequest.
  - `original_title` (string, optional) — Default Label for account.
  - `subject` (string, optional, nullable) — The subject in the email that was initially sent to the signers.
  - `message` (string, optional, nullable) — The custom message in the email that was initially sent to the signers.
  - `metadata` (map from string to any, optional) — The metadata attached to the signature request.
  - `created_at` (integer, optional) — Time the signature request was created.
  - `expires_at` (integer, optional, nullable) — The time when the signature request will expire unsigned signatures. See [Signature Request Expiration Date](https://developers.hellosign.com/docs/signature-request/expiration/) for details.
  - `is_complete` (boolean, optional) — Whether or not the SignatureRequest has been fully executed by all signers.
  - `is_declined` (boolean, optional) — Whether or not the SignatureRequest has been declined by a signer.
  - `has_error` (boolean, optional) — Whether or not an error occurred (either during the creation of the SignatureRequest or during one of the signings).
  - `files_url` (string, optional) — The URL where a copy of the request's documents can be downloaded.
  - `signing_url` (string, optional, nullable) — The URL where a signer, after authenticating, can sign the documents. This should only be used by users with existing Dropbox Sign accounts as they will be required to log in before signing.
  - `details_url` (string, optional) — The URL where the requester and the signers can view the current status of the SignatureRequest.
  - `cc_email_addresses` (list of string, optional) — A list of email addresses that were CCed on the SignatureRequest. They will receive a copy of the final PDF once all the signers have signed.
  - `signing_redirect_url` (string, optional, nullable) — The URL you want the signer redirected to after they successfully sign.
  - `final_copy_uri` (string, optional, nullable) — The path where the completed document can be downloaded
  - `template_ids` (list of string, optional, nullable) — Templates IDs used in this SignatureRequest (if any).
  - `custom_fields` (list of object, optional, nullable) — An array of Custom Field objects containing the name and type of each custom field. * Text Field uses `SignatureRequestResponseCustomFieldText` * Checkbox Field uses `SignatureRequestResponseCustomFieldCheckbox`
    - `type`: `text` (text)
      - `name` (string, required) — The name of the Custom Field.
      - `api_id` (string, optional) — The unique ID for this field.
      - `editor` (string, optional, nullable) — The name of the Role that is able to edit this field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
      - `value` (string, optional) — A text string for text fields
    - `type`: `checkbox` (checkbox)
      - `name` (string, required) — The name of the Custom Field.
      - `api_id` (string, optional) — The unique ID for this field.
      - `editor` (string, optional, nullable) — The name of the Role that is able to edit this field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
      - `value` (boolean, optional) — A true/false for checkbox fields
  - `attachments` (list of object, optional, nullable) — Signer attachments.
    - `id` (string, required) — The unique ID for this attachment.
    - `signer` (string, required) — The Signer this attachment is assigned to.
    - `name` (string, required) — The name of this attachment.
    - `required` (boolean, required) — A boolean value denoting if this attachment is required.
    - `instructions` (string, optional, nullable) — Instructions for Signer.
    - `uploaded_at` (integer, optional, nullable) — Timestamp when attachment was uploaded by Signer.
  - `response_data` (list of object, optional, nullable) — An array of form field objects containing the name, value, and type of each textbox or checkmark field filled in by the signers.
    - `type`: `text` (text)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `checkbox` (checkbox)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `dropdown` (dropdown)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `radio` (radio)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `signature` (signature)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `date_signed` (date_signed)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `initials` (initials)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `text-merge` (text-merge)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
    - `type`: `checkbox-merge` (checkbox-merge)
      - `api_id` (string, optional) — The unique ID for this field.
      - `signature_id` (string, optional) — The ID of the signature to which this response is linked.
      - `name` (string, optional) — The name of the form field.
      - `required` (boolean, optional) — A boolean value denoting if this field is required.
  - `signatures` (list of object, optional) — An array of signature objects, 1 for each signer.
    - `signature_id` (string, optional) — Signature identifier.
    - `signer_group_guid` (string, optional, nullable) — Signer Group GUID
    - `signer_email_address` (string, optional) — The email address of the signer.
    - `signer_name` (string, optional, nullable) — The name of the signer.
    - `signer_role` (string, optional, nullable) — The role of the signer.
    - `order` (integer, optional, nullable) — If signer order is assigned this is the 0-based index for this signer.
    - `status_code` (string, optional) — The current status of the signature. eg: awaiting_signature, signed, declined.
    - `decline_reason` (string, optional, nullable) — The reason provided by the signer for declining the request.
    - `signed_at` (integer, optional, nullable) — Time that the document was signed or null.
    - `last_viewed_at` (integer, optional, nullable) — The time that the document was last viewed by this signer or null.
    - `last_reminded_at` (integer, optional, nullable) — The time the last reminder email was sent to the signer or null.
    - `has_pin` (boolean, optional) — Boolean to indicate whether this signature requires a PIN to access.
    - `has_sms_auth` (boolean, optional, nullable) — Boolean to indicate whether this signature has SMS authentication enabled.
    - `has_sms_delivery` (boolean, optional, nullable) — Boolean to indicate whether this signature has SMS delivery enabled.
    - `sms_phone_number` (string, optional, nullable) — The SMS phone number used for authentication or signature request delivery.
    - `reassigned_by` (string, optional, nullable) — Email address of original signer who reassigned to this signer.
    - `reassignment_reason` (string, optional, nullable) — Reason provided by original signer who reassigned to this signer.
    - `reassigned_from` (string, optional, nullable) — Previous signature identifier.
    - `error` (string, optional, nullable) — Error message pertaining to this signer, or null.
  - `bulk_send_job_id` (string, optional, nullable) — The ID of the Bulk Send job which sent the signature request, if applicable.
- `warnings` (list of object, optional) — A list of warnings.
  - `warning_msg` (string, required) — Warning message
  - `warning_name` (string, required) — Warning name

## Examples

### Signature Request Update

**Request**

```json
undefined
```

**Response**

```json
{
  "signature_request": {
    "signature_request_id": "fa5c8a0b0f492d768749333ad6fcc214c111e967",
    "requester_email_address": "me@dropboxsign.com",
    "title": "Purchase Agreement",
    "subject": "Purchase Agreement",
    "message": "Please sign and return.",
    "created_at": 1570471067,
    "is_complete": true,
    "has_error": false,
    "signing_url": null,
    "details_url": "https://app.hellosign.com/home/manage?guid=fa5c8a0b0f492d768749333ad6fcc214c111e967",
    "cc_email_addresses": [],
    "signing_redirect_url": null,
    "custom_fields": [],
    "signatures": [
      {
        "signature_id": "78caf2a1d01cd39cea2bc1cbb340dac3",
        "signer_email_address": "danaerys@mereen.gov.ws",
        "signer_name": "Danaerys Stormborn",
        "signer_role": null,
        "order": null,
        "status_code": "awaiting_signature",
        "signed_at": null,
        "last_viewed_at": null,
        "last_reminded_at": null,
        "has_pin": false,
        "has_sms_auth": false
      }
    ]
  }
}
```

**SDK Code**

```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");

$signature_request_update_request = (new Dropbox\Sign\Model\SignatureRequestUpdateRequest())
    ->setSignatureId("2f9781e1a8e2045224d808c153c2e1d3df6f8f2f")
    ->setEmailAddress("john@example.com");

try {
    $response = (new Dropbox\Sign\Api\SignatureRequestApi(config: $config))->signatureRequestUpdate(
        signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967",
        signature_request_update_request: $signature_request_update_request,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling SignatureRequestApi#signatureRequestUpdate: {$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 SignatureRequestUpdateExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        var signatureRequestUpdateRequest = new SignatureRequestUpdateRequest(
            signatureId: "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
            emailAddress: "john@example.com"
        );

        try
        {
            var response = new SignatureRequestApi(config).SignatureRequestUpdate(
                signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967",
                signatureRequestUpdateRequest: signatureRequestUpdateRequest
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestUpdate: " + 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 signatureRequestUpdateRequest: models.SignatureRequestUpdateRequest = {
  signatureId: "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
  emailAddress: "john@example.com",
};

apiCaller.signatureRequestUpdate(
  "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId
  signatureRequestUpdateRequest,
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling SignatureRequestApi#signatureRequestUpdate:");
  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 SignatureRequestUpdateExample
{
    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 signatureRequestUpdateRequest = new SignatureRequestUpdateRequest();
        signatureRequestUpdateRequest.signatureId("2f9781e1a8e2045224d808c153c2e1d3df6f8f2f");
        signatureRequestUpdateRequest.emailAddress("john@example.com");

        try
        {
            var response = new SignatureRequestApi(config).signatureRequestUpdate(
                "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId
                signatureRequestUpdateRequest
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling SignatureRequestApi#signatureRequestUpdate");
            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

signature_request_update_request = Dropbox::Sign::SignatureRequestUpdateRequest.new
signature_request_update_request.signature_id = "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f"
signature_request_update_request.email_address = "john@example.com"

begin
    response = Dropbox::Sign::SignatureRequestApi.new.signature_request_update(
        "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id
        signature_request_update_request,
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling SignatureRequestApi#signature_request_update: #{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:
    signature_request_update_request = models.SignatureRequestUpdateRequest(
        signature_id="2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
        email_address="john@example.com",
    )

    try:
        response = api.SignatureRequestApi(api_client).signature_request_update(
            signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967",
            signature_request_update_request=signature_request_update_request,
        )

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

```

```go Signature Request Update
package main

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

func main() {

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

	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 Signature Request Update
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/update/fa5c8a0b0f492d768749333ad6fcc214c111e967")! 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()
```

### Default Example

**Request**

```json
{
  "signature_id": "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
  "email_address": "john@example.com"
}
```

**Response**

```json
{
  "signature_request": {
    "signature_request_id": "fa5c8a0b0f492d768749333ad6fcc214c111e967",
    "requester_email_address": "me@dropboxsign.com",
    "title": "Purchase Agreement",
    "subject": "Purchase Agreement",
    "message": "Please sign and return.",
    "created_at": 1570471067,
    "is_complete": true,
    "has_error": false,
    "signing_url": null,
    "details_url": "https://app.hellosign.com/home/manage?guid=fa5c8a0b0f492d768749333ad6fcc214c111e967",
    "cc_email_addresses": [],
    "signing_redirect_url": null,
    "custom_fields": [],
    "signatures": [
      {
        "signature_id": "78caf2a1d01cd39cea2bc1cbb340dac3",
        "signer_email_address": "danaerys@mereen.gov.ws",
        "signer_name": "Danaerys Stormborn",
        "signer_role": null,
        "order": null,
        "status_code": "awaiting_signature",
        "signed_at": null,
        "last_viewed_at": null,
        "last_reminded_at": null,
        "has_pin": false,
        "has_sms_auth": false
      }
    ]
  }
}
```

**SDK Code**

```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");

$signature_request_update_request = (new Dropbox\Sign\Model\SignatureRequestUpdateRequest())
    ->setSignatureId("2f9781e1a8e2045224d808c153c2e1d3df6f8f2f")
    ->setEmailAddress("john@example.com");

try {
    $response = (new Dropbox\Sign\Api\SignatureRequestApi(config: $config))->signatureRequestUpdate(
        signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967",
        signature_request_update_request: $signature_request_update_request,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling SignatureRequestApi#signatureRequestUpdate: {$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 SignatureRequestUpdateExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        var signatureRequestUpdateRequest = new SignatureRequestUpdateRequest(
            signatureId: "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
            emailAddress: "john@example.com"
        );

        try
        {
            var response = new SignatureRequestApi(config).SignatureRequestUpdate(
                signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967",
                signatureRequestUpdateRequest: signatureRequestUpdateRequest
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestUpdate: " + 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 signatureRequestUpdateRequest: models.SignatureRequestUpdateRequest = {
  signatureId: "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
  emailAddress: "john@example.com",
};

apiCaller.signatureRequestUpdate(
  "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId
  signatureRequestUpdateRequest,
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling SignatureRequestApi#signatureRequestUpdate:");
  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 SignatureRequestUpdateExample
{
    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 signatureRequestUpdateRequest = new SignatureRequestUpdateRequest();
        signatureRequestUpdateRequest.signatureId("2f9781e1a8e2045224d808c153c2e1d3df6f8f2f");
        signatureRequestUpdateRequest.emailAddress("john@example.com");

        try
        {
            var response = new SignatureRequestApi(config).signatureRequestUpdate(
                "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId
                signatureRequestUpdateRequest
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling SignatureRequestApi#signatureRequestUpdate");
            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

signature_request_update_request = Dropbox::Sign::SignatureRequestUpdateRequest.new
signature_request_update_request.signature_id = "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f"
signature_request_update_request.email_address = "john@example.com"

begin
    response = Dropbox::Sign::SignatureRequestApi.new.signature_request_update(
        "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id
        signature_request_update_request,
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling SignatureRequestApi#signature_request_update: #{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:
    signature_request_update_request = models.SignatureRequestUpdateRequest(
        signature_id="2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
        email_address="john@example.com",
    )

    try:
        response = api.SignatureRequestApi(api_client).signature_request_update(
            signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967",
            signature_request_update_request=signature_request_update_request,
        )

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

```

```go Default Example
package main

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

func main() {

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

	payload := strings.NewReader("{\n  \"signature_id\": \"2f9781e1a8e2045224d808c153c2e1d3df6f8f2f\",\n  \"email_address\": \"john@example.com\"\n}")

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

	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 Default Example
import Foundation

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

let headers = [
  "Authorization": "Basic \(credentials)",
  "Content-Type": "application/json"
]
let parameters = [
  "signature_id": "2f9781e1a8e2045224d808c153c2e1d3df6f8f2f",
  "email_address": "john@example.com"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

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

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()
```