# Edit Signature Request PUT https://api.hellosign.com/v3/signature_request/edit/{signature_request_id} Content-Type: application/json Edits and sends a SignatureRequest with the submitted documents. If `form_fields_per_document` is not specified, a signature page will be affixed where all signers will be required to add their signature, signifying their agreement to all contained documents. **NOTE:** Edit and resend *will* deduct your signature request quota. Reference: https://developer.hellosign.com/api/signature-request/edit ## SDK Code Examples ```php PHP 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); $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_edit_request = (new Dropbox\Sign\Model\SignatureRequestEditRequest()) ->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))->signatureRequestEdit( signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request: $signature_request_edit_request, ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling SignatureRequestApi#signatureRequestEdit: {$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 SignatureRequestEditExample { 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 ); 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 { signers1, signers2, }; var signatureRequestEditRequest = new SignatureRequestEditRequest( 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 { new FileStream( path: "./example_signature_request.pdf", mode: FileMode.Open ), }, metadata: JsonSerializer.Deserialize>(""" { "custom_id": 1234, "custom_text": "NDA #9" } """), fieldOptions: fieldOptions, signingOptions: signingOptions, signers: signers ); try { var response = new SignatureRequestApi(config).SignatureRequestEdit( signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signatureRequestEditRequest: signatureRequestEditRequest ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestEdit: " + 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, }; 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 signatureRequestEditRequest: models.SignatureRequestEditRequest = { 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.signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest, ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling SignatureRequestApi#signatureRequestEdit:"); 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 SignatureRequestEditExample { 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); 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(List.of ( signers1, signers2 )); var signatureRequestEditRequest = new SignatureRequestEditRequest(); signatureRequestEditRequest.message("Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions."); signatureRequestEditRequest.subject("The NDA we talked about"); signatureRequestEditRequest.testMode(true); signatureRequestEditRequest.title("NDA with Acme Co."); signatureRequestEditRequest.ccEmailAddresses(List.of ( "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com" )); signatureRequestEditRequest.files(List.of ( new File("./example_signature_request.pdf") )); signatureRequestEditRequest.metadata(JSON.deserialize(""" { "custom_id": 1234, "custom_text": "NDA #9" } """, Map.class)); signatureRequestEditRequest.fieldOptions(fieldOptions); signatureRequestEditRequest.signingOptions(signingOptions); signatureRequestEditRequest.signers(signers); try { var response = new SignatureRequestApi(config).signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling SignatureRequestApi#signatureRequestEdit"); 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 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_edit_request = Dropbox::Sign::SignatureRequestEditRequest.new signature_request_edit_request.message = "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions." signature_request_edit_request.subject = "The NDA we talked about" signature_request_edit_request.test_mode = true signature_request_edit_request.title = "NDA with Acme Co." signature_request_edit_request.cc_email_addresses = [ "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com", ] signature_request_edit_request.files = [ File.new("./example_signature_request.pdf", "r"), ] signature_request_edit_request.metadata = JSON.parse(<<-EOD { "custom_id": 1234, "custom_text": "NDA #9" } EOD ) signature_request_edit_request.field_options = field_options signature_request_edit_request.signing_options = signing_options signature_request_edit_request.signers = signers begin response = Dropbox::Sign::SignatureRequestApi.new.signature_request_edit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id signature_request_edit_request, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling SignatureRequestApi#signature_request_edit: #{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, ) 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_edit_request = models.SignatureRequestEditRequest( 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_edit( signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request=signature_request_edit_request, ) pprint(response) except ApiException as e: print("Exception when calling SignatureRequestApi#signature_request_edit: %s\n" % e) ``` ```go Send Signature Request package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967" req, _ := http.NewRequest("PUT", url, nil) req.Header.Add("Authorization", "Basic :") 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 headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" 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() ``` ```php PHP 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); $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_edit_request = (new Dropbox\Sign\Model\SignatureRequestEditRequest()) ->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))->signatureRequestEdit( signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request: $signature_request_edit_request, ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling SignatureRequestApi#signatureRequestEdit: {$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 SignatureRequestEditExample { 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 ); 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 { signers1, signers2, }; var signatureRequestEditRequest = new SignatureRequestEditRequest( 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 { new FileStream( path: "./example_signature_request.pdf", mode: FileMode.Open ), }, metadata: JsonSerializer.Deserialize>(""" { "custom_id": 1234, "custom_text": "NDA #9" } """), fieldOptions: fieldOptions, signingOptions: signingOptions, signers: signers ); try { var response = new SignatureRequestApi(config).SignatureRequestEdit( signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signatureRequestEditRequest: signatureRequestEditRequest ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestEdit: " + 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, }; 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 signatureRequestEditRequest: models.SignatureRequestEditRequest = { 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.signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest, ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling SignatureRequestApi#signatureRequestEdit:"); 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 SignatureRequestEditExample { 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); 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(List.of ( signers1, signers2 )); var signatureRequestEditRequest = new SignatureRequestEditRequest(); signatureRequestEditRequest.message("Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions."); signatureRequestEditRequest.subject("The NDA we talked about"); signatureRequestEditRequest.testMode(true); signatureRequestEditRequest.title("NDA with Acme Co."); signatureRequestEditRequest.ccEmailAddresses(List.of ( "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com" )); signatureRequestEditRequest.files(List.of ( new File("./example_signature_request.pdf") )); signatureRequestEditRequest.metadata(JSON.deserialize(""" { "custom_id": 1234, "custom_text": "NDA #9" } """, Map.class)); signatureRequestEditRequest.fieldOptions(fieldOptions); signatureRequestEditRequest.signingOptions(signingOptions); signatureRequestEditRequest.signers(signers); try { var response = new SignatureRequestApi(config).signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling SignatureRequestApi#signatureRequestEdit"); 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 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_edit_request = Dropbox::Sign::SignatureRequestEditRequest.new signature_request_edit_request.message = "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions." signature_request_edit_request.subject = "The NDA we talked about" signature_request_edit_request.test_mode = true signature_request_edit_request.title = "NDA with Acme Co." signature_request_edit_request.cc_email_addresses = [ "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com", ] signature_request_edit_request.files = [ File.new("./example_signature_request.pdf", "r"), ] signature_request_edit_request.metadata = JSON.parse(<<-EOD { "custom_id": 1234, "custom_text": "NDA #9" } EOD ) signature_request_edit_request.field_options = field_options signature_request_edit_request.signing_options = signing_options signature_request_edit_request.signers = signers begin response = Dropbox::Sign::SignatureRequestApi.new.signature_request_edit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id signature_request_edit_request, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling SignatureRequestApi#signature_request_edit: #{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, ) 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_edit_request = models.SignatureRequestEditRequest( 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_edit( signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request=signature_request_edit_request, ) pprint(response) except ApiException as e: print("Exception when calling SignatureRequestApi#signature_request_edit: %s\n" % e) ``` ```go Default Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967" payload := strings.NewReader("{\n \"file_urls\": [\n \"https://www.dropbox.com/s/ad9qnhbrjjn64tu/mutual-NDA-example.pdf?dl=1\"\n ],\n \"signers\": [\n {\n \"name\": \"Jack\",\n \"email_address\": \"jack@example.com\",\n \"order\": 0\n },\n {\n \"name\": \"Jill\",\n \"email_address\": \"jill@example.com\",\n \"order\": 1\n }\n ],\n \"cc_email_addresses\": [\n \"lawyer1@dropboxsign.com\",\n \"lawyer2@dropboxsign.com\"\n ],\n \"field_options\": {\n \"date_format\": \"DD - MM - YYYY\"\n },\n \"message\": \"Please sign this NDA and then we can discuss more. Let me know if you\\nhave any questions.\",\n \"metadata\": {\n \"custom_id\": 1234,\n \"custom_text\": \"NDA #9\"\n },\n \"signing_options\": {\n \"default_type\": \"draw\",\n \"draw\": true,\n \"phone\": false,\n \"type\": true,\n \"upload\": true\n },\n \"subject\": \"The NDA we talked about\",\n \"test_mode\": true,\n \"title\": \"NDA with Acme Co.\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "Basic :") 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 headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let parameters = [ "file_urls": ["https://www.dropbox.com/s/ad9qnhbrjjn64tu/mutual-NDA-example.pdf?dl=1"], "signers": [ [ "name": "Jack", "email_address": "jack@example.com", "order": 0 ], [ "name": "Jill", "email_address": "jill@example.com", "order": 1 ] ], "cc_email_addresses": ["lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com"], "field_options": ["date_format": "DD - MM - YYYY"], "message": "Please sign this NDA and then we can discuss more. Let me know if you have any questions.", "metadata": [ "custom_id": 1234, "custom_text": "NDA #9" ], "signing_options": [ "default_type": "draw", "draw": true, "phone": false, "type": true, "upload": true ], "subject": "The NDA we talked about", "test_mode": true, "title": "NDA with Acme Co." ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" 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() ``` ```php PHP 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); $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_edit_request = (new Dropbox\Sign\Model\SignatureRequestEditRequest()) ->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))->signatureRequestEdit( signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request: $signature_request_edit_request, ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling SignatureRequestApi#signatureRequestEdit: {$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 SignatureRequestEditExample { 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 ); 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 { signers1, signers2, }; var signatureRequestEditRequest = new SignatureRequestEditRequest( 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 { new FileStream( path: "./example_signature_request.pdf", mode: FileMode.Open ), }, metadata: JsonSerializer.Deserialize>(""" { "custom_id": 1234, "custom_text": "NDA #9" } """), fieldOptions: fieldOptions, signingOptions: signingOptions, signers: signers ); try { var response = new SignatureRequestApi(config).SignatureRequestEdit( signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967", signatureRequestEditRequest: signatureRequestEditRequest ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestEdit: " + 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, }; 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 signatureRequestEditRequest: models.SignatureRequestEditRequest = { 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.signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest, ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling SignatureRequestApi#signatureRequestEdit:"); 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 SignatureRequestEditExample { 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); 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(List.of ( signers1, signers2 )); var signatureRequestEditRequest = new SignatureRequestEditRequest(); signatureRequestEditRequest.message("Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions."); signatureRequestEditRequest.subject("The NDA we talked about"); signatureRequestEditRequest.testMode(true); signatureRequestEditRequest.title("NDA with Acme Co."); signatureRequestEditRequest.ccEmailAddresses(List.of ( "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com" )); signatureRequestEditRequest.files(List.of ( new File("./example_signature_request.pdf") )); signatureRequestEditRequest.metadata(JSON.deserialize(""" { "custom_id": 1234, "custom_text": "NDA #9" } """, Map.class)); signatureRequestEditRequest.fieldOptions(fieldOptions); signatureRequestEditRequest.signingOptions(signingOptions); signatureRequestEditRequest.signers(signers); try { var response = new SignatureRequestApi(config).signatureRequestEdit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId signatureRequestEditRequest ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling SignatureRequestApi#signatureRequestEdit"); 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 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_edit_request = Dropbox::Sign::SignatureRequestEditRequest.new signature_request_edit_request.message = "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions." signature_request_edit_request.subject = "The NDA we talked about" signature_request_edit_request.test_mode = true signature_request_edit_request.title = "NDA with Acme Co." signature_request_edit_request.cc_email_addresses = [ "lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com", ] signature_request_edit_request.files = [ File.new("./example_signature_request.pdf", "r"), ] signature_request_edit_request.metadata = JSON.parse(<<-EOD { "custom_id": 1234, "custom_text": "NDA #9" } EOD ) signature_request_edit_request.field_options = field_options signature_request_edit_request.signing_options = signing_options signature_request_edit_request.signers = signers begin response = Dropbox::Sign::SignatureRequestApi.new.signature_request_edit( "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id signature_request_edit_request, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling SignatureRequestApi#signature_request_edit: #{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, ) 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_edit_request = models.SignatureRequestEditRequest( 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_edit( signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967", signature_request_edit_request=signature_request_edit_request, ) pprint(response) except ApiException as e: print("Exception when calling SignatureRequestApi#signature_request_edit: %s\n" % e) ``` ```go Grouped Signers Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967" payload := strings.NewReader("{\n \"file_urls\": [\n \"https://www.dropbox.com/s/ad9qnhbrjjn64tu/mutual-NDA-example.pdf?dl=1\"\n ],\n \"grouped_signers\": [\n {\n \"group\": \"Group #1\",\n \"signers\": [\n {\n \"name\": \"Jack\",\n \"email_address\": \"jack@example.com\"\n },\n {\n \"name\": \"Jill\",\n \"email_address\": \"jill@example.com\"\n }\n ],\n \"order\": 0\n },\n {\n \"group\": \"Group #2\",\n \"signers\": [\n {\n \"name\": \"Bob\",\n \"email_address\": \"bob@example.com\"\n },\n {\n \"name\": \"Charlie\",\n \"email_address\": \"charlie@example.com\"\n }\n ],\n \"order\": 1\n }\n ],\n \"cc_email_addresses\": [\n \"lawyer1@dropboxsign.com\",\n \"lawyer2@dropboxsign.com\"\n ],\n \"field_options\": {\n \"date_format\": \"DD - MM - YYYY\"\n },\n \"message\": \"Please sign this NDA and then we can discuss more. Let me know if you\\nhave any questions.\",\n \"metadata\": {\n \"custom_id\": 1234,\n \"custom_text\": \"NDA #9\"\n },\n \"signing_options\": {\n \"default_type\": \"draw\",\n \"draw\": true,\n \"phone\": false,\n \"type\": true,\n \"upload\": true\n },\n \"subject\": \"The NDA we talked about\",\n \"test_mode\": true,\n \"title\": \"NDA with Acme Co.\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "Basic :") 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 Grouped Signers Example import Foundation let headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let parameters = [ "file_urls": ["https://www.dropbox.com/s/ad9qnhbrjjn64tu/mutual-NDA-example.pdf?dl=1"], "grouped_signers": [ [ "group": "Group #1", "signers": [ [ "name": "Jack", "email_address": "jack@example.com" ], [ "name": "Jill", "email_address": "jill@example.com" ] ], "order": 0 ], [ "group": "Group #2", "signers": [ [ "name": "Bob", "email_address": "bob@example.com" ], [ "name": "Charlie", "email_address": "charlie@example.com" ] ], "order": 1 ] ], "cc_email_addresses": ["lawyer1@dropboxsign.com", "lawyer2@dropboxsign.com"], "field_options": ["date_format": "DD - MM - YYYY"], "message": "Please sign this NDA and then we can discuss more. Let me know if you have any questions.", "metadata": [ "custom_id": 1234, "custom_text": "NDA #9" ], "signing_options": [ "default_type": "draw", "draw": true, "phone": false, "type": true, "upload": true ], "subject": "The NDA we talked about", "test_mode": true, "title": "NDA with Acme Co." ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/signature_request/edit/fa5c8a0b0f492d768749333ad6fcc214c111e967")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" 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() ```