Send Signature Request

post/signature_request/send

Creates and sends a new 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.

Securityapi_key or oauth2
Request
Request Body schema:
required
Array of objects (SubSignatureRequestSigner)

Add Signers to your Signature Request.

file
Array of strings <binary>

Use file[] to indicate the uploaded file(s) to send for signature.

This endpoint requires either file or file_url[], but not both.

file_url
Array of strings

Use file_url[] to have HelloSign download the file(s) to send for signature.

This endpoint requires either file or file_url[], but not both.

allow_decline
boolean
Default: false

Allows signers to decline to sign a document if true. Defaults to false.

allow_reassign
boolean
Default: false

Allows signers to reassign their signature requests to other signers if set to true. Defaults to false.

Note: Only available for Premium plan and higher.

Array of objects (SubAttachment)

A list describing the attachments

cc_email_addresses
Array of strings <email>

The email addresses that should be CCed.

client_id
string

The client id of the API App you want to associate with this request. Used to apply the branding and callback url defined for the app.

Array of objects (SubCustomField)

When used together with merge fields, custom_fields allows users to add pre-filled data to their signature requests.

Pre-filled data can be used with "send-once" signature requests by adding merge fields with form_fields_per_document or Text Tags while passing values back with custom_fields together in one API call.

For using pre-filled on repeatable signature requests, merge fields are added to templates in the HelloSign UI or by calling /template/create_embedded_draft and then passing custom_fields on subsequent signature requests referencing that template.

object (SubFieldOptions)

This allows the requester to specify field options for a signature request.

Array of objects (SubFormFieldGroup)

Group information for fields defined in form_fields_per_document. String-indexed JSON array with group_label and requirement keys. form_fields_per_document must contain fields referencing a group defined in form_field_groups.

Array of objects (SubFormFieldRule)

Conditional Logic rules for fields defined in form_fields_per_document.

Array of objects (SubFormFieldsPerDocumentBase)

The fields that should appear on the document, expressed as an array of objects. (We're currently fixing a bug where this property only accepts a two-dimensional array. You can read about it here: Using Form Fields per Document.)

NOTE: Fields like text, dropdown, checkbox, radio, and hyperlink have additional required and optional parameters. Check out the list of additional parameters for these field types.

  • Text Field use SubFormFieldsPerDocumentText
  • Dropdown Field use SubFormFieldsPerDocumentDropdown
  • Hyperlink Field use SubFormFieldsPerDocumentHyperlink
  • Checkbox Field use SubFormFieldsPerDocumentCheckbox
  • Radio Field use SubFormFieldsPerDocumentRadio
  • Signature Field use SubFormFieldsPerDocumentSignature
  • Date Signed Field use SubFormFieldsPerDocumentDateSigned
  • Initials Field use SubFormFieldsPerDocumentInitials
  • Text Merge Field use SubFormFieldsPerDocumentTextMerge
  • Checkbox Merge Field use SubFormFieldsPerDocumentCheckboxMerge
hide_text_tags
boolean
Default: false

Enables automatic Text Tag removal when set to true.

NOTE: Removing text tags this way can cause unwanted clipping. We recommend leaving this setting on false and instead hiding your text tags using white text or a similar approach. See the Text Tags Walkthrough for more information.

is_qualified_signature
boolean
Default: false

Send with a value of true if you wish to enable Qualified Electronic Signatures (QES), which requires a face-to-face call to verify the signer's identity.
Note: QES is only available on the Premium API plan as an add-on purchase. Cannot be used in test_mode. Only works on requests with one signer.

message
string <= 5000 characters

The custom message in the email that will be sent to the signers.

object <= 10 items

Key-value data that should be attached to the signature request. This metadata is included in all API responses and events involving the signature request. For example, use the metadata field to store a signer's order number for look up when receiving events for the signature request.

Each request can include up to 10 metadata keys (or 50 nested metadata keys), with key names up to 40 characters long and values up to 1000 characters long.

object (SubSigningOptions)

This allows the requester to specify the types allowed for creating a signature.

Note: If signing_options are not defined in the request, the allowed types will default to those specified in the account settings.

signing_redirect_url
string

The URL you want signers redirected to after they successfully sign.

subject
string <= 255 characters

The subject in the email that will be sent to the signers.

test_mode
boolean
Default: false

Whether this is a test, the signature request will not be legally binding if set to true. Defaults to false.

title
string <= 255 characters

The title you want to assign to the SignatureRequest.

use_text_tags
boolean
Default: false

Send with a value of true if you wish to enable Text Tags parsing in your document. Defaults to disabled, or false.

Responses
200

successful operation

4XX

failed_operation

Request samples
{
  • "title": "NDA with Acme Co.",
  • "subject": "The NDA we talked about",
  • "message": "Please sign this NDA and then we can discuss more. Let me know if you\nhave any questions.",
  • "signers": [
    ],
  • "cc_email_addresses": [
    ],
  • "metadata": {
    },
  • "signing_options": {
    },
  • "field_options": {
    },
  • "test_mode": true
}
Response samples
application/json
{
  • "signature_request": {
    }
}