# Edit and Resend Unclaimed Draft POST https://api.hellosign.com/v3/unclaimed_draft/edit_and_resend/{signature_request_id} Content-Type: application/json Creates a new signature request from an embedded request that can be edited prior to being sent to the recipients. Parameter `test_mode` can be edited prior to request. Signers can be edited in embedded editor. Requester's email address will remain unchanged if `requester_email_address` parameter is not set. **NOTE:** Embedded unclaimed drafts can only be accessed in embedded iFrames whereas normal drafts can be used and accessed on Dropbox Sign. Reference: https://developer.hellosign.com/api/unclaimed-draft/edit-and-resend ## OpenAPI Specification ```yaml openapi: 3.1.1 info: title: Edit and Resend Unclaimed Draft version: endpoint_unclaimedDraft.editAndResend paths: /unclaimed_draft/edit_and_resend/{signature_request_id}: post: operationId: edit-and-resend summary: Edit and Resend Unclaimed Draft description: >- Creates a new signature request from an embedded request that can be edited prior to being sent to the recipients. Parameter `test_mode` can be edited prior to request. Signers can be edited in embedded editor. Requester's email address will remain unchanged if `requester_email_address` parameter is not set. **NOTE:** Embedded unclaimed drafts can only be accessed in embedded iFrames whereas normal drafts can be used and accessed on Dropbox Sign. tags: - - subpackage_unclaimedDraft parameters: - name: signature_request_id in: path description: The ID of the signature request to edit and resend. required: true schema: type: string - name: Authorization in: header description: Basic authentication of the form `Basic `. required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UnclaimedDraftCreateResponse' '400': description: failed_operation content: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/UnclaimedDraftEditAndResendRequest' components: schemas: SubEditorOptions: type: object properties: allow_edit_signers: type: boolean default: false description: Allows requesters to edit the list of signers allow_edit_documents: type: boolean default: false description: Allows requesters to edit documents, including delete and add UnclaimedDraftEditAndResendRequest: type: object properties: client_id: type: string description: >- Client id of the app used to create the draft. Used to apply the branding and callback url defined for the app. editor_options: $ref: '#/components/schemas/SubEditorOptions' is_for_embedded_signing: type: boolean description: >- The request created from this draft will also be signable in embedded mode if set to `true`. requester_email_address: type: string format: email description: >- The email address of the user that should be designated as the requester of this draft. If not set, original requester's email address will be used. requesting_redirect_url: type: string description: >- The URL you want signers redirected to after they successfully request a signature. show_progress_stepper: type: boolean default: true description: >- When only one step remains in the signature request process and this parameter is set to `false` then the progress stepper will be hidden. signing_redirect_url: type: string description: The URL you want signers redirected to after they successfully sign. test_mode: type: boolean default: false description: >- Whether this is a test, the signature request created from this draft will not be legally binding if set to `true`. Defaults to `false`. required: - client_id UnclaimedDraftResponse: type: object properties: signature_request_id: type: - string - 'null' description: >- The ID of the signature request that is represented by this UnclaimedDraft. claim_url: type: string description: The URL to be used to claim this UnclaimedDraft. signing_redirect_url: type: - string - 'null' description: The URL you want signers redirected to after they successfully sign. requesting_redirect_url: type: - string - 'null' description: >- The URL you want signers redirected to after they successfully request a signature (Will only be returned in the response if it is applicable to the request.). expires_at: type: - integer - 'null' description: When the link expires. test_mode: type: boolean description: >- Whether this is a test draft. Signature requests made from test drafts have no legal value. WarningResponse: type: object properties: warning_msg: type: string description: Warning message warning_name: type: string description: Warning name required: - warning_msg - warning_name UnclaimedDraftCreateResponse: type: object properties: unclaimed_draft: $ref: '#/components/schemas/UnclaimedDraftResponse' warnings: type: array items: $ref: '#/components/schemas/WarningResponse' description: A list of warnings. required: - unclaimed_draft ``` ## SDK Code Examples ```php PHP setUsername("YOUR_API_KEY"); // $config->setAccessToken("YOUR_ACCESS_TOKEN"); $unclaimed_draft_edit_and_resend_request = (new Dropbox\Sign\Model\UnclaimedDraftEditAndResendRequest()) ->setClientId("b6b8e7deaf8f0b95c029dca049356d4a2cf9710a") ->setTestMode(false); try { $response = (new Dropbox\Sign\Api\UnclaimedDraftApi(config: $config))->unclaimedDraftEditAndResend( signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimed_draft_edit_and_resend_request: $unclaimed_draft_edit_and_resend_request, ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend: {$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 UnclaimedDraftEditAndResendExample { public static void Run() { var config = new Configuration(); config.Username = "YOUR_API_KEY"; // config.AccessToken = "YOUR_ACCESS_TOKEN"; var unclaimedDraftEditAndResendRequest = new UnclaimedDraftEditAndResendRequest( clientId: "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", testMode: false ); try { var response = new UnclaimedDraftApi(config).UnclaimedDraftEditAndResend( signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimedDraftEditAndResendRequest: unclaimedDraftEditAndResendRequest ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling UnclaimedDraftApi#UnclaimedDraftEditAndResend: " + 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.UnclaimedDraftApi(); apiCaller.username = "YOUR_API_KEY"; // apiCaller.accessToken = "YOUR_ACCESS_TOKEN"; const unclaimedDraftEditAndResendRequest: models.UnclaimedDraftEditAndResendRequest = { clientId: "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", testMode: false, }; apiCaller.unclaimedDraftEditAndResend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId unclaimedDraftEditAndResendRequest, ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend:"); 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 UnclaimedDraftEditAndResendExample { 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 unclaimedDraftEditAndResendRequest = new UnclaimedDraftEditAndResendRequest(); unclaimedDraftEditAndResendRequest.clientId("b6b8e7deaf8f0b95c029dca049356d4a2cf9710a"); unclaimedDraftEditAndResendRequest.testMode(false); try { var response = new UnclaimedDraftApi(config).unclaimedDraftEditAndResend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId unclaimedDraftEditAndResendRequest ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend"); 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 unclaimed_draft_edit_and_resend_request = Dropbox::Sign::UnclaimedDraftEditAndResendRequest.new unclaimed_draft_edit_and_resend_request.client_id = "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a" unclaimed_draft_edit_and_resend_request.test_mode = false begin response = Dropbox::Sign::UnclaimedDraftApi.new.unclaimed_draft_edit_and_resend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id unclaimed_draft_edit_and_resend_request, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling UnclaimedDraftApi#unclaimed_draft_edit_and_resend: #{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: unclaimed_draft_edit_and_resend_request = models.UnclaimedDraftEditAndResendRequest( client_id="b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", test_mode=False, ) try: response = api.UnclaimedDraftApi(api_client).unclaimed_draft_edit_and_resend( signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimed_draft_edit_and_resend_request=unclaimed_draft_edit_and_resend_request, ) pprint(response) except ApiException as e: print("Exception when calling UnclaimedDraftApi#unclaimed_draft_edit_and_resend: %s\n" % e) ``` ```go Unclaimed Draft Edit and Resend package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/unclaimed_draft/edit_and_resend/fa5c8a0b0f492d768749333ad6fcc214c111e967" req, _ := http.NewRequest("POST", 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 Unclaimed Draft Edit and Resend import Foundation let headers = [ "Authorization": "Basic :", "Content-Type": "application/json" ] let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/unclaimed_draft/edit_and_resend/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() ``` ```php PHP setUsername("YOUR_API_KEY"); // $config->setAccessToken("YOUR_ACCESS_TOKEN"); $unclaimed_draft_edit_and_resend_request = (new Dropbox\Sign\Model\UnclaimedDraftEditAndResendRequest()) ->setClientId("b6b8e7deaf8f0b95c029dca049356d4a2cf9710a") ->setTestMode(false); try { $response = (new Dropbox\Sign\Api\UnclaimedDraftApi(config: $config))->unclaimedDraftEditAndResend( signature_request_id: "fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimed_draft_edit_and_resend_request: $unclaimed_draft_edit_and_resend_request, ); print_r($response); } catch (Dropbox\Sign\ApiException $e) { echo "Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend: {$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 UnclaimedDraftEditAndResendExample { public static void Run() { var config = new Configuration(); config.Username = "YOUR_API_KEY"; // config.AccessToken = "YOUR_ACCESS_TOKEN"; var unclaimedDraftEditAndResendRequest = new UnclaimedDraftEditAndResendRequest( clientId: "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", testMode: false ); try { var response = new UnclaimedDraftApi(config).UnclaimedDraftEditAndResend( signatureRequestId: "fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimedDraftEditAndResendRequest: unclaimedDraftEditAndResendRequest ); Console.WriteLine(response); } catch (ApiException e) { Console.WriteLine("Exception when calling UnclaimedDraftApi#UnclaimedDraftEditAndResend: " + 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.UnclaimedDraftApi(); apiCaller.username = "YOUR_API_KEY"; // apiCaller.accessToken = "YOUR_ACCESS_TOKEN"; const unclaimedDraftEditAndResendRequest: models.UnclaimedDraftEditAndResendRequest = { clientId: "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", testMode: false, }; apiCaller.unclaimedDraftEditAndResend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId unclaimedDraftEditAndResendRequest, ).then(response => { console.log(response.body); }).catch(error => { console.log("Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend:"); 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 UnclaimedDraftEditAndResendExample { 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 unclaimedDraftEditAndResendRequest = new UnclaimedDraftEditAndResendRequest(); unclaimedDraftEditAndResendRequest.clientId("b6b8e7deaf8f0b95c029dca049356d4a2cf9710a"); unclaimedDraftEditAndResendRequest.testMode(false); try { var response = new UnclaimedDraftApi(config).unclaimedDraftEditAndResend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId unclaimedDraftEditAndResendRequest ); System.out.println(response); } catch (ApiException e) { System.err.println("Exception when calling UnclaimedDraftApi#unclaimedDraftEditAndResend"); 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 unclaimed_draft_edit_and_resend_request = Dropbox::Sign::UnclaimedDraftEditAndResendRequest.new unclaimed_draft_edit_and_resend_request.client_id = "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a" unclaimed_draft_edit_and_resend_request.test_mode = false begin response = Dropbox::Sign::UnclaimedDraftApi.new.unclaimed_draft_edit_and_resend( "fa5c8a0b0f492d768749333ad6fcc214c111e967", # signature_request_id unclaimed_draft_edit_and_resend_request, ) p response rescue Dropbox::Sign::ApiError => e puts "Exception when calling UnclaimedDraftApi#unclaimed_draft_edit_and_resend: #{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: unclaimed_draft_edit_and_resend_request = models.UnclaimedDraftEditAndResendRequest( client_id="b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", test_mode=False, ) try: response = api.UnclaimedDraftApi(api_client).unclaimed_draft_edit_and_resend( signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967", unclaimed_draft_edit_and_resend_request=unclaimed_draft_edit_and_resend_request, ) pprint(response) except ApiException as e: print("Exception when calling UnclaimedDraftApi#unclaimed_draft_edit_and_resend: %s\n" % e) ``` ```go Default Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.hellosign.com/v3/unclaimed_draft/edit_and_resend/fa5c8a0b0f492d768749333ad6fcc214c111e967" payload := strings.NewReader("{\n \"client_id\": \"b6b8e7deaf8f0b95c029dca049356d4a2cf9710a\",\n \"test_mode\": false\n}") req, _ := http.NewRequest("POST", 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 = [ "client_id": "b6b8e7deaf8f0b95c029dca049356d4a2cf9710a", "test_mode": false ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/unclaimed_draft/edit_and_resend/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() ```