> 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 full documentation content, see https://developers.hellosign.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.hellosign.com/_mcp/server.

# Release On-Hold Signature Request

POST https://api.hellosign.com/v3/signature_request/release_hold/{signature_request_id}

Releases a held SignatureRequest that was claimed and prepared from an [UnclaimedDraft](/api/reference/tag/Unclaimed-Draft). The owner of the Draft must indicate at Draft creation that the SignatureRequest created from the Draft should be held. Releasing the SignatureRequest will send requests to all signers.

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

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Dropbox Sign API
  version: 1.0.0
paths:
  /signature_request/release_hold/{signature_request_id}:
    post:
      operationId: release-hold
      summary: Release On-Hold Signature Request
      description: >-
        Releases a held SignatureRequest that was claimed and prepared from an
        [UnclaimedDraft](/api/reference/tag/Unclaimed-Draft). The owner of the
        Draft must indicate at Draft creation that the SignatureRequest created
        from the Draft should be held. Releasing the SignatureRequest will send
        requests to all signers.
      tags:
        - subpackage_signatureRequest
      parameters:
        - name: signature_request_id
          in: path
          description: The id of the SignatureRequest to release.
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: Basic authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignatureRequestGetResponse'
        '400':
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
servers:
  - url: https://api.hellosign.com/v3
components:
  schemas:
    SignatureRequestResponseCustomFieldBase:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              description: >-
                The type of this Custom Field. Only 'text' and 'checkbox' are
                currently supported.
            name:
              type: string
              description: The name of the Custom Field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
            api_id:
              type: string
              description: The unique ID for this field.
            editor:
              type:
                - string
                - 'null'
              description: The name of the Role that is able to edit this field.
            value:
              type: string
              description: A text string for text fields
          required:
            - type
            - name
          description: text variant
        - type: object
          properties:
            type:
              type: string
              description: >-
                The type of this Custom Field. Only 'text' and 'checkbox' are
                currently supported.
            name:
              type: string
              description: The name of the Custom Field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
            api_id:
              type: string
              description: The unique ID for this field.
            editor:
              type:
                - string
                - 'null'
              description: The name of the Role that is able to edit this field.
            value:
              type: boolean
              description: A true/false for checkbox fields
          required:
            - type
            - name
          description: checkbox variant
      discriminator:
        propertyName: type
      description: >-
        An array of Custom Field objects containing the name and type of each
        custom field.


        * Text Field uses `SignatureRequestResponseCustomFieldText`

        * Checkbox Field uses `SignatureRequestResponseCustomFieldCheckbox`
      title: SignatureRequestResponseCustomFieldBase
    SignatureRequestResponseAttachment:
      type: object
      properties:
        id:
          type: string
          description: The unique ID for this attachment.
        signer:
          type: string
          description: The Signer this attachment is assigned to.
        name:
          type: string
          description: The name of this attachment.
        required:
          type: boolean
          description: A boolean value denoting if this attachment is required.
        instructions:
          type:
            - string
            - 'null'
          description: Instructions for Signer.
        uploaded_at:
          type:
            - integer
            - 'null'
          description: Timestamp when attachment was uploaded by Signer.
      required:
        - id
        - signer
        - name
        - required
      description: Signer attachments.
      title: SignatureRequestResponseAttachment
    SignatureRequestResponseDataBase:
      oneOf:
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: text variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: boolean
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: checkbox variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: dropdown variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: boolean
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: radio variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            is_signed:
              type:
                - boolean
                - 'null'
              description: This field contains the boolean true if the field is signed.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: signature variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: date_signed variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            is_signed:
              type:
                - boolean
                - 'null'
              description: This field contains the boolean true if the field is signed.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: initials variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: text-merge variant
        - type: object
          properties:
            type:
              type: string
            value:
              type: string
              description: The value of the form field.
            api_id:
              type: string
              description: The unique ID for this field.
            signature_id:
              type: string
              description: The ID of the signature to which this response is linked.
            name:
              type: string
              description: The name of the form field.
            required:
              type: boolean
              description: A boolean value denoting if this field is required.
          required:
            - type
          description: checkbox-merge variant
      discriminator:
        propertyName: type
      description: >-
        An array of form field objects containing the name, value, and type of
        each textbox or checkmark field filled in by the signers.
      title: SignatureRequestResponseDataBase
    SignatureRequestResponseSignatures:
      type: object
      properties:
        signature_id:
          type: string
          description: Signature identifier.
        signer_group_guid:
          type:
            - string
            - 'null'
          description: Signer Group GUID
        signer_email_address:
          type: string
          description: The email address of the signer.
        signer_name:
          type:
            - string
            - 'null'
          description: The name of the signer.
        signer_role:
          type:
            - string
            - 'null'
          description: The role of the signer.
        order:
          type:
            - integer
            - 'null'
          description: >-
            If signer order is assigned this is the 0-based index for this
            signer.
        status_code:
          type: string
          description: >-
            The current status of the signature. eg: awaiting_signature, signed,
            declined.
        decline_reason:
          type:
            - string
            - 'null'
          description: The reason provided by the signer for declining the request.
        signed_at:
          type:
            - integer
            - 'null'
          description: Time that the document was signed or null.
        last_viewed_at:
          type:
            - integer
            - 'null'
          description: The time that the document was last viewed by this signer or null.
        last_reminded_at:
          type:
            - integer
            - 'null'
          description: The time the last reminder email was sent to the signer or null.
        has_pin:
          type: boolean
          description: Boolean to indicate whether this signature requires a PIN to access.
        has_sms_auth:
          type:
            - boolean
            - 'null'
          description: >-
            Boolean to indicate whether this signature has SMS authentication
            enabled.
        has_sms_delivery:
          type:
            - boolean
            - 'null'
          description: Boolean to indicate whether this signature has SMS delivery enabled.
        sms_phone_number:
          type:
            - string
            - 'null'
          description: >-
            The SMS phone number used for authentication or signature request
            delivery.
        reassigned_by:
          type:
            - string
            - 'null'
          description: Email address of original signer who reassigned to this signer.
        reassignment_reason:
          type:
            - string
            - 'null'
          description: Reason provided by original signer who reassigned to this signer.
        reassigned_from:
          type:
            - string
            - 'null'
          description: Previous signature identifier.
        error:
          type:
            - string
            - 'null'
          description: Error message pertaining to this signer, or null.
      description: An array of signature objects, 1 for each signer.
      title: SignatureRequestResponseSignatures
    SignatureRequestResponse:
      type: object
      properties:
        test_mode:
          type: boolean
          default: false
          description: >-
            Whether this is a test signature request. Test requests have no
            legal value. Defaults to `false`.
        signature_request_id:
          type: string
          description: The id of the SignatureRequest.
        requester_email_address:
          type:
            - string
            - 'null'
          description: The email address of the initiator of the SignatureRequest.
        title:
          type: string
          description: The title the specified Account uses for the SignatureRequest.
        original_title:
          type: string
          description: Default Label for account.
        subject:
          type:
            - string
            - 'null'
          description: The subject in the email that was initially sent to the signers.
        message:
          type:
            - string
            - 'null'
          description: >-
            The custom message in the email that was initially sent to the
            signers.
        metadata:
          type: object
          additionalProperties:
            description: Any type
          description: The metadata attached to the signature request.
        created_at:
          type: integer
          description: Time the signature request was created.
        expires_at:
          type:
            - integer
            - 'null'
          description: >-
            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:
          type: boolean
          description: >-
            Whether or not the SignatureRequest has been fully executed by all
            signers.
        is_declined:
          type: boolean
          description: Whether or not the SignatureRequest has been declined by a signer.
        has_error:
          type: boolean
          description: >-
            Whether or not an error occurred (either during the creation of the
            SignatureRequest or during one of the signings).
        files_url:
          type: string
          description: The URL where a copy of the request's documents can be downloaded.
        signing_url:
          type:
            - string
            - 'null'
          description: >-
            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:
          type: string
          description: >-
            The URL where the requester and the signers can view the current
            status of the SignatureRequest.
        cc_email_addresses:
          type: array
          items:
            type: string
          description: >-
            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:
          type:
            - string
            - 'null'
          description: >-
            The URL you want the signer redirected to after they successfully
            sign.
        final_copy_uri:
          type:
            - string
            - 'null'
          description: The path where the completed document can be downloaded
        template_ids:
          type:
            - array
            - 'null'
          items:
            type: string
          description: Templates IDs used in this SignatureRequest (if any).
        custom_fields:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SignatureRequestResponseCustomFieldBase'
          description: >-
            An array of Custom Field objects containing the name and type of
            each custom field.


            * Text Field uses `SignatureRequestResponseCustomFieldText`

            * Checkbox Field uses `SignatureRequestResponseCustomFieldCheckbox`
        attachments:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SignatureRequestResponseAttachment'
          description: Signer attachments.
        response_data:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SignatureRequestResponseDataBase'
          description: >-
            An array of form field objects containing the name, value, and type
            of each textbox or checkmark field filled in by the signers.
        signatures:
          type: array
          items:
            $ref: '#/components/schemas/SignatureRequestResponseSignatures'
          description: An array of signature objects, 1 for each signer.
        bulk_send_job_id:
          type:
            - string
            - 'null'
          description: >-
            The ID of the Bulk Send job which sent the signature request, if
            applicable.
      description: Contains information about a signature request.
      title: SignatureRequestResponse
    WarningResponse:
      type: object
      properties:
        warning_msg:
          type: string
          description: Warning message
        warning_name:
          type: string
          description: Warning name
      required:
        - warning_msg
        - warning_name
      description: A list of warnings.
      title: WarningResponse
    SignatureRequestGetResponse:
      type: object
      properties:
        signature_request:
          $ref: '#/components/schemas/SignatureRequestResponse'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/WarningResponse'
          description: A list of warnings.
      required:
        - signature_request
      title: SignatureRequestGetResponse
    ErrorResponseError:
      type: object
      properties:
        error_msg:
          type: string
          description: Message describing an error.
        error_path:
          type: string
          description: Path at which an error occurred.
        error_name:
          type: string
          description: Name of the error.
      required:
        - error_msg
        - error_name
      description: Contains information about an error that occurred.
      title: ErrorResponseError
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorResponseError'
      required:
        - error
      title: ErrorResponse
  securitySchemes:
    Basic:
      type: http
      scheme: basic
    Bearer:
      type: http
      scheme: bearer

```

## SDK Code Examples

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

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

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

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

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling SignatureRequestApi#SignatureRequestReleaseHold: " + 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";

apiCaller.signatureRequestReleaseHold(
  "fa5c8a0b0f492d768749333ad6fcc214c111e967", // signatureRequestId
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling SignatureRequestApi#signatureRequestReleaseHold:");
  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 SignatureRequestReleaseHoldExample
{
    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");

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

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

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

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling SignatureRequestApi#signature_request_release_hold: #{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:
    try:
        response = api.SignatureRequestApi(api_client).signature_request_release_hold(
            signature_request_id="fa5c8a0b0f492d768749333ad6fcc214c111e967",
        )

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

```

```go Send Signature Release Hold
package main

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

func main() {

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

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

	req.SetBasicAuth("<apiKey>", "")

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

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

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

}
```

```swift Send Signature Release Hold
import Foundation

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

let headers = ["Authorization": "Basic \(credentials)"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/signature_request/release_hold/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()
```