Constants
Field types
These are the options you can specify for the type
field.
Type | Description |
---|---|
text |
A text input field |
checkbox |
A yes/no checkbox |
date_signed |
A date when a document was signed |
dropdown |
An input field for dropdowns |
initials |
An input field for initials |
radio |
An input field for radios |
signature |
A signature input field |
text-merge |
A text field that has default text set by the api |
checkbox-merge |
A checkbox field that has default value set by the api |
Form fields per document
Different field types may have different options available to them within the form_fields_per_document
parameter.
Field type | Description |
---|---|
text |
placeholder: String (optional) Placeholder value for text field. "placeholder": "First Name" auto_fill_type: String (optional) Auto fill type for populating fields automatically. "auto_fill_type": "email" Checkout the list of auto fill types to learn more about the possible values. link_id: String (optional) Link two or more text fields. Enter data into one linked text field, which automatically fill all other linked text fields. "link_id": "linked_fields_id_1" masked: Integer(optional) Masks entered data. For more information see Masking sensitive information. 1 for masking the data in a text field, otherwise 0 ."masked": 0 |
dropdown |
options: String[] (required) Array of string values representing dropdown values. "options": ["Option 1","Option 2"] content: String (optional) Selected value in options array. Value must exist in array."content": "Option 2" |
hyperlink |
content: String (required) Link Text. "content": "Click me!" content_url: String (required) Link URL. "content_url": "http://example.com" |
checkbox |
group: String (optional) String referencing group defined in form_field_groups parameter."group": "group_1" checked: Integer (required) 1 for checking the checkbox field by default, otherwise 0 "checked": 1 |
radio |
group: String (required) String referencing group defined in form_field_groups parameter."group": "group_1" checked: Integer (required) 1 for checking the radio field by default, otherwise 0 "checked": 1 |
Checkbox field grouping
Checkbox field groups accept an optional validation rule, which must be met before the user can submit the signed document. These are the options you can specify for validation rule.
Rule | Description |
---|---|
require_0-1 |
Requires at most one checkbox within the group to be checked (radio button functionality) |
require_1 |
Requires only one checkbox within the group to be checked |
require_1-ormore |
Requires at least one checkbox within the group to be checked |
Radio field grouping
Radio field groups must define a validation rule, which must be met before the user can submit the signed document. These are the options you can specify for validation rule.
Rule | Description |
---|---|
require_0-1 |
Makes group optional (signer does not have to select any radio option) |
require_1 |
Makes group required (signer has to select one radio option) |
Conditional logic
Conditional logic allows adding an "if this, then that" flow to signature requests.
Field type | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id String |
Unique across all defined rules."id": "rule_id_1" |
||||||||||||||||||
trigger_operator String |
Currently only AND is supported."id": "rule_id_1" |
||||||||||||||||||
triggers Array |
An array of trigger definitions, the "if this" part of "if this, then that". Currently only a single trigger per rule is allowed.
|
||||||||||||||||||
actions Array |
An array of action definitions, the "then that" part of "if this, then that". Any number of actions may be attached to a single rule.
|
Notes about conditional logic:
-
Conditional logic can only be set up for
one
trigger field, not a combination of fields. For example, you can't specify
IF dropdown = option1 **AND** textbox = "cat"
, then show these selected fields. - Conditional logic, both triggered and selected fields, must be limited to a specific signer. You can't set up a trigger field that, when complete by one signer, triggers fields for another signer.
- A field can act as a trigger field for multiple conditions. However, a field can only act as a selected field once.
- See our Adding conditional logic to documents page for more information on how conditional logic works within the Editor.
Signature status codes
The Signature Request response object contains a list of associated signatures
. Each signature entry includes a status_code
field that describes its current state. The table below lists all possible codes.
Status | Description |
---|---|
success | Signature request successfully completed |
on_hold | On hold. This could be because the sending account needs to confirm its email address, or because of insufficient funds. |
signed | Signature completed but signature request still in progress |
awaiting_signature | Awaiting signature |
declined | Signature was declined |
error_unknown | Unknown error |
error_file | File could not be converted |
error_component_position | Invalid form fields placement |
error_text_tag | File contained invalid text tags |
on_hold_by_requester | Request was prepared for signature but has not been sent to signers. Requester must release the request from hold when ready to send. |
error_invalid_email | Invalid email |
expired | Signature expired and is no longer signable. See Signature Request Expiration Date |
Data validation types
Text fields accept an optional validation type, which must be met before the user can submit the signed document. This value can be specified in form fields, text tags, or on the web. These are the options you can specify for validation type.
Type | Description |
---|---|
numbers_only |
Numbers only (negative and decimal values included) |
letters_only |
Letters only (non-English letters included) |
phone_number |
10- or 11-digit number |
bank_routing_number |
9-digit number |
bank_account_number |
Minimum 6-digit number |
email_address |
Email address |
zip_code |
5- or 9-digit number |
social_security_number |
9-digit number |
employer_identification_number |
9-digit number |
custom_regex |
Custom regular expression (See note below) |
Notes about data validation types:
When using custom_regex
you are required to pass a second parameter, validation_custom_regex
, and you can optionally provide validation_custom_regex_format_label
for the error message the user will see in case of an invalid value. Here's an example:
"validation_type": "custom_regex",
"validation_custom_regex": "A[0-9]{3}",
"validation_custom_regex_format_label": "A000",
Populate Auto-Fill Fields
populate_auto_fill_fields
is a new parameter we introduced to Dropbox Sign embedded API endpoints to give users more flexibility to choose which signature requests have auto-fill.
This parameter enables auto-populating (Auto-Fill) fields for your signature requests. This feature pulls information from your signers, provided from either their own Dropbox Sign profile or from the name and email address entered in by the requester, and populates the information into the corresponding fields.
Field | Description | Supported Endpoints |
---|---|---|
populate_auto_fill_fields |
Type: boolean Default: false Controls whether auto fill fields can automatically populate a signer's information during signing. ⚠️ Note ⚠️: Keep your signer's information safe by ensuring that the signer on your signature request is the intended party before using this feature. Auto-fill fields are only able to be assigned to signers. |
signature_request/create_embedded signature_request/create_embedded_with_template unclaimed_draft/create_embedded unclaimed_draft/create_embedded_with_template |
Here's an example using cURL:
curl -X POST 'https://api.hellosign.com/v3/signature_request/create_embedded' \
-u 'YOUR_API_KEY:' \
-F 'client_id=YOUR_CLIENT_ID' \
-F 'files[0]=@mutual-NDA-example.pdf' \
-F 'signers[0][email_address]=jack@example.com' \
-F 'signers[0][name]=Jack' \
-F 'test_mode=1' \
-F 'populate_auto_fill_fields=1'
The available Auto-Fill fields are listed in the next section below.
Auto Fill types
Text fields accept an optional auto fill type. This value can be specified in form fields, text tags, or on the web. Below are the options you can specify for auto fill type.
Type | Description |
---|---|
firstName |
Text Tag example: [text|req|signer1|Label|UniqueId|letters_only|firstName] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "First Name", "auto_fill_type": "firstName", "name": "firstname", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
lastName |
Text Tag example: [text|req|signer1|Label|UniqueId|letters_only|lastName] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "Last Name", "auto_fill_type": "lastName", "name": "lastname", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
name |
Text Tag example: [text|req|signer1|Label|UniqueId|letters_only|name] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "Full Name", "auto_fill_type": "name", "name": "fullname", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
email |
Text Tag example: [text|req|signer1|Label|UniqueId|email_address|email] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "email", "auto_fill_type": "email", "name": "email", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
company |
Text Tag example: [text|req|signer1|Label|UniqueId|letters_only|company] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "company", "auto_fill_type": "company", "name": "company", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
title |
Text Tag example: [text|req|signer1|Label|UniqueId|letters_only|title] form_fields_per_document example:[ [ { "api_id": "field1", "placeholder": "title", "auto_fill_type": "title", "name": "title", "type": "text", "x": 160, "y": 80, "page": 1, "width": 206, "height": 32, "required": true, "signer": 0 } ] ] |
Notes about auto fill types: Label, id, or validation can be skipped with the following example: [text|req|signer1||||firstName]
Date formats
Format | Example |
---|---|
MM / DD / YYYY | 02 / 24 / 2022 |
MM - DD - YYYY | 02 - 24 - 2022 |
DD / MM / YYYY | 24 / 02 / 2022 |
DD - MM - YYYY | 24 - 02 - 2022 |
YYYY / MM / DD | 2022 / 02 / 24 |
YYYY - MM - DD | 2022 - 02 - 24 |
Supported locales
These are the locales you can specify for the locale
field. They're case-sensitive. Note that this only affects locale preference in the settings page.
Locale | Name |
---|---|
en-US | English US |
en-GB | English (United Kingdom) |
da-DK | Dansk |
de-DE | Deutsch |
es-LA | Español (Latinoamérica) |
es-ES | Español (España) |
fr-FR | Français |
id-ID | Bahasa Indonesia |
it-IT | Italiano |
ja-JP | 日本語 |
ko-KR | 한국어 |
ms-MY | Bahasa Malaysia |
nb-NO | Norsk bokmål |
nl-NL | Nederlands |
pl-PL | Polski |
pt-BR | Português (Brasil) |
ru-RU | Pусский |
sv-SE | Svenska |
th-TH | ไทย |
uk-UA | Українська |
zh-CN | 中文(简体) |
zh-TW | 中文(繁體) |