Document
A document is also known as an envelope. It acts as an overall container for BoldSign transactions. A document in BoldSign contains one or more files in which the signature will be added electronically, details about the sender and signers, status, history, etc. Each document has a unique ID, and you can use that for identifying or fetching the document.
Using BoldSign, you can send documents to others for eSignatures. In addition, you can perform various operations like self-sign, sign the document as a recipient, send document on behalf of another user, add authentication, remind signers, delete document, get document details, get document list, etc.
Send documents
post/v1/document/sendYou can request signatures from others by sending the documents for signing. It is not mandatory for the signers to have a BoldSign account. Thus, the signer can sign a document sent by another user with or without a BoldSign account. If required, you can also add yourself as one of the signers. To self-sign a document, you can send a signature request to yourself alone.
Code snippet
curl -X 'POST' \ 'https://api.boldsign.com/v1/document/send' \ -H 'accept: application/json' \ -H 'X-API-KEY: {your API key}' \ -H 'Content-Type: multipart/form-data' \ -F 'DisableExpiryAlert=false' \ -F 'ReminderSettings.ReminderDays=5' \ -F 'BrandId=' \ -F 'ReminderSettings.ReminderCount=3' \ -F 'EnableReassign=true' \ -F 'Message=' \ -F 'Signers={ "name": "sdc", "emailAddress": "alexgayle@cubeflakes.com", "signerType": "Signer", "formFields": [ { "id": "string", "name": "string", "fieldType": "Signature", "pageNumber": 1, "bounds": { "x": 50, "y": 50, "width": 1, "height": 1 }, "isRequired": true } ], "language": 1 }' \ -F 'ExpiryDays=30' \ -F 'EnablePrintAndSign=false' \ -F 'AutoDetectFields=false' \ -F 'OnBehalfOf=' \ -F 'EnableSigningOrder=false' \ -F 'UseTextTags=false' \ -F 'SendLinkValidTill=' \ -F 'Files=@BoldSign test.pdf;type=application/pdf' \ -F 'Title=dcsd' \ -F 'HideDocumentId=false' \ -F 'EnableEmbeddedSigning=false' \ -F 'ExpiryDateType=Days' \ -F 'ReminderSettings.EnableAutoReminder=true' \ -F 'ExpiryValue=60' \ -F 'DisableEmails=false'
var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}"); var documentClient = new DocumentClient(apiClient); var documentFilePath = new DocumentFilePath { ContentType = "application/pdf", FilePath = "agreement.pdf", }; var filesToUpload = new List<IDocumentFile> { documentFilePath, }; var signatureField = new FormField( id: "sign", isRequired: true, type:FieldType.Signature, pageNumber: 1, bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50)); var formFieldCollections = new List<FormField>() { signatureField }; var signer = new DocumentSigner( name: "David", emailAddress: "david@cubeflakes.com", formFields: formFieldCollections); var documentSigners = new List<DocumentSigner>() { signer }; var sendForSign = new SendForSign() { Message = "please sign this", Title = "Agreement", HideDocumentId = false, Signers = documentSigners, Files = filesToUpload }; var documentCreated = documentClient.SendDocument(sendForSign);
import requests url = "https://api.boldsign.com/v1/document/send" payload={'DisableExpiryAlert': 'false', 'ReminderSettings.ReminderDays': '3', 'BrandId': '', 'ReminderSettings.ReminderCount': '5', 'EnableReassign': 'true', 'Message': 'Please sign this.', 'Signers': '{ "name": "David", "emailAddress": "david@cubeflakes.com", "formFields": [ { "fieldType": "Signature", "pageNumber": 1, "bounds": { "x": 100, "y": 100, "width": 100, "height": 50 }, "isRequired": true } ] }', 'ExpiryDays': '10', 'EnablePrintAndSign': 'false', 'AutoDetectFields': 'false', 'OnBehalfOf': '', 'EnableSigningOrder': 'false', 'UseTextTags': 'false', 'SendLinkValidTill': '', 'Title': 'Agreement', 'HideDocumentId': 'false', 'EnableEmbeddedSigning': 'false', 'ExpiryDateType': 'Days', 'ReminderSettings.EnableAutoReminder': 'false', 'ExpiryValue': '60', 'DisableEmails': 'false'} files=[ ('Files',('file',open('{file path}','rb'),'application/octet-stream')) ] headers = { 'accept': 'application/json', 'X-API-KEY': '{your API key}' } response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)
const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('DisableExpiryAlert', 'false'); form.append('ReminderSettings.ReminderDays', '3'); form.append('BrandId', ''); form.append('ReminderSettings.ReminderCount', '5'); form.append('EnableReassign', 'true'); form.append('Message', 'Please sign this.'); form.append('Signers', '{\n "name": "David",\n "emailAddress": "david@cubeflakes.com",\n "formFields": [\n {\n "fieldType": "Signature",\n "pageNumber": 1,\n "bounds": {\n "x": 100,\n "y": 100,\n "width": 100,\n "height": 50\n },\n "isRequired": true\n }\n ]\n}'); form.append('ExpiryDays', '10'); form.append('EnablePrintAndSign', 'false'); form.append('AutoDetectFields', 'false'); form.append('OnBehalfOf', ''); form.append('EnableSigningOrder', 'false'); form.append('UseTextTags', 'false'); form.append('SendLinkValidTill', ''); form.append('Files', fs.readFileSync('agreement.pdf;type=application/pdf'), 'agreement.pdf;type=application/pdf'); form.append('Title', 'Agreement'); form.append('HideDocumentId', 'false'); form.append('EnableEmbeddedSigning', 'false'); form.append('ExpiryDateType', 'Days'); form.append('ReminderSettings.EnableAutoReminder', 'false'); form.append('ExpiryValue', '60'); form.append('DisableEmails', 'false'); const response = await axios.post( 'https://api.boldsign.com/v1/document/send', form, { headers: { ...form.getHeaders(), 'accept': 'application/json', 'X-API-KEY': '{your API key}', 'Content-Type': 'multipart/form-data' } } );
Request body
Field, Data Type | Description |
---|---|
filesarray | The files to be uploaded for sending signature request. .pdf , .png , .jpg , and .docx are supported file formats. The preferred file format is .pdf . You can upload up to 25 files. Each document may have a maximum of 1000 pages and must be no larger than 25 MB in size. |
titlestring | This is the title of the document that will be displayed in the BoldSign user interface as well as in the signature request email. |
messagestring | A message for all the recipients. You can include the instructions that the signer should know before signing the document. |
signersarray | Details of the signers. One or more signers can be specified. DocumentSigner properties are available here. |
ccarray | Mail ID of the CC recipients. One or more CC recipients can be specified. DocumentCC properties are available here. |
enableSigningOrderboolean | Enables or disables the signing order. If this is enabled, then the signers can sign the document in the specified order and will not be able to sign parallel. The default value is false . |
expiryDaysinteger | The number of days after which the document expires. The default value is 60 days. |
ReminderSettings.EnableAutoReminderboolean | Enables or disables the auto reminder. |
ReminderSettings.ReminderDaysinteger | The number of days between each automatic reminder. |
ReminderSettings.ReminderCountinteger | The number of times the auto reminder should be sent. |
disableEmailsboolean | Disables the sending of document related emails to all the recipients. The default value is false . |
brandIdstring | You can customize the logo, colors and other elements of the signature request emails and document signing pages to match your company branding. The ID of the existing brand can be obtained from the branding API and from the web app. |
hideDocumentIdboolean | Decides whether the document ID should be hidden or not. |
labelsarray | Labels(tags) are added to the document to categorize and filter the documents. One or more labels can be added. |
fileUrlsarray | The URL of the files to be uploaded for sending signature request. .pdf , .png , .jpg , and .docx are supported file formats. The preferred file format is .pdf . You can upload up to 25 files. Each document may have a maximum of 1000 pages and must be no larger than 25 MB in size. |
sendLinkValidTillstring | Configures the expiration for the generated URL. A maximum of 180 days can be assigned. The string should be in date-time format. |
useTextTagsBoolean | When enabled, it will convert all the tags defined in the document to BoldSign form fields. The default value is false . |
textTagDefinitionarray | This can be used for long text tag handling. TextTagDefinition properties are available here. |
enablePrintAndSignboolean | Allows the signer to reassign the signature request to another person. The default value is true . |
disableExpiryAlertarray | Disables the alert, which was shown one day before the expiry of the document. |
documentInfoarray | Options to customize the information, like the title and description of the document for a particular signer. DocumentInfo properties are available here. |
onBehalfOfstring | Mail ID of the user to send the document on behalf of them. |
DocumentSigner properties
Field, Data Type | Description |
---|---|
namestring | Name of the signer. This name will appear on all the emails, notifications, and the audit file. |
emailAddressstring | Mail ID of the signer. This ID will appear on all the emails, notifications, and the audit file. |
privateMessagestring | When the specified signer proceeds to sign the document, a message appears. You can include the instructions that the signer should know before signing the document. |
authenticationCodestring | The authentication access code that must be entered by the signer to access the document. This should be shared with the signer. |
signerOrderinteger | Signing order of the signer. This is applicable when the signing order option is enabled. |
enableEmailOTPboolean | Enables email OTP authentication. If this is enabled, the signer must enter the OTP that was received in the email to access the document. |
signerTypestring | Type of the signer. The values are Signer , Reviewer , and InPersonSigner . |
hostEmailstring | Mail ID of the host. It is applicable when the signerType is set to InPersonSigner . |
signerRolestring | The role of the signer. |
formFieldsarray | List of form fields associated with the signer. FormField properties are available here. |
languageinteger | Index of the language in which the document signing pages and emails for the signer should render. The supported languages are 1-English , 2-Spanish , 3-German , 4-French , and 5-Romanian . |
FormField properties
Field, DataType | Description |
---|---|
idstring | The ID of the form field. |
namestring | Name of the form field. |
fieldTypestring | Type of the form field. The available values are Signature , Initial , CheckBox , TextBox , Label , DateSigned , RadioButton , Image , Attachment , EditableDate , Hyperlink , and Dropdown . |
pageNumberinteger | Page number in the document in which the form field has to be placed. |
boundsRectangle | Position and size values of the form field to be placed. Bounds properties are available here. |
isRequiredboolean | Decides whether this form field is required to be filled or not. |
valuestring | Value to be displayed on the label form field. |
fontSizefloat | Size of the font. |
font string | Font family. The values are Courier , Helvetica , and TimesNewRoman . |
fontHexColorstring | Color of the font. The value should be hex color code. Example - #035efc . |
isBoldFontboolean | Decides whether the font should be in bold or not. |
isItalicFontboolean | Decides whether the font should be in italic or not. |
isUnderLineFontboolean | Decides whether the font should be underlined or not. |
lineHeightinteger | Height of a line in the text. |
characterLimitinteger | Limits the number of characters in the text. |
groupNamestring | The group name of the form field. This field is required when the fieldType is set to RadioButton . |
placeHolderstring | A hint text to be displayed on the text form field by default. |
validationTypestring | Type of validation for the text box form field. The values are Only Numbers , Regex , Currency , Email , and None . |
validationCustomRegexstring | Value for regex validation. This is applicable when the validationType is set to Regex . |
validationCustomRegexMessagestring | Description for regex validation. This message is displayed when the signer enters an invalid regex format value in the text box form field. |
dateFormatstring | Format of the date to be displayed on the date signed form field. The default value is MM/dd/yyyy . |
imageInfoobject | Options to customize the image form field. ImageInfo properties are available here. |
attachmentInfoobject | Options to customize the attachment form field. AttachmentInfo properties are available here. |
editableDateFieldSettingsobject | Options to customize the editable date form field. EditableDateFieldSettings properties are available here. |
hyperLinkTextstring | Text to be displayed for the hyperlink. |
dataSyncTagstring | The value that can be specified on two or more textbox form fields to sync them. |
dropDownOptionsarray | The values that have to be displayed on the dropdown form field. One or more values can be specified. |
Bound properties
Field, DataType | Description |
---|---|
xfloat | X coordinate value to place the form field. |
yfloat | Y coordinate value to place the form field. |
widthfloat | Width of the form field. |
heightfloat | Height of the form field. |
ImageInfo properties
Field, DataType | Description |
---|---|
titlestring | Title of the image form field. |
descriptionstring | Description of the image form field. |
allowedFileExtensionsstring | Controls the image formats that are allowed to upload on the image form field. The values are .jpg or .jpeg , .svg , .png , and .bmp . |
AttachmentInfo properties
Field, DataType | Description |
---|---|
titlestring | Title of the attachment form field. |
descriptionstring | Description of the image form field. |
allowedFileTypesstring | Controls the file formats that are allowed to upload on the attachment form field. The values are PDF , Document , and Image . |
EditableDateFieldSettings properties
Field, DataType | Description |
---|---|
dateFomatstring | Format of the date to be displayed on the date signed form field. The default value is MM/dd/yyyy . |
minDatestring | The minimum date that can be selected. The string should be in date-time format. |
maxDate string | The maximum date that can be selected. The string should be in date-time format. |
DocumentCC properties
Field, DataType | Description |
---|---|
emailAddressstring | Mail ID of the CC recipients. |
TextTagDefinition properties
Field, DataType | Description |
---|---|
definitionIdstring | The definition id of the text tag. |
typeFieldType | The type of the form field. |
signerIndexinteger | The signer index of the form field. |
isRequiredboolean | When disabled, the signer is not required to fill out the specific form field. The default value is true . |
placeHolderstring | The placeholder of the form field. |
fieldIdstring | The field id of the form field. |
fontobject | The font of the form field. Font properties are available here. |
validationobject | When we select the type as TextBox , the validation of the form field is required. Validation properties are available here. |
sizeobject | This can be used to specify the form field's height and width. Size properties are available here. |
dateFormatstring | The date format of the form field. |
radioGroupNamestring | The form field's group name, which is required when we set the type as RadioButton . |
valuestring | The value of the form field. |
dropDownOptionsarray | The options of the dropdown form field. |
Font properties
Field, DataType | Description |
---|---|
nameFontFamily | Font family. The values are Courier , Helvetica , and TimesNewRoman . |
colorstring | Color of the font. The value should be hex color code. Example - #035efc . |
sizefloat | Size of the font. |
styleFontStyle | Style of the font. The values are Regular , Bold , Italic , and Underline . |
lineHeightinteger | Height of a line in the text. |
Validation properties
Field, DataType | Description |
---|---|
typestring | The validation type of the text box form field. The available values are None , NumbersOnly , EmailAddress , Currency , and CustomRegex . The default value is None . |
regexstring | The custom regex of the text box form filed. When we set the ValidationType to CustomRegex , it will be required. |
Size properties
Field, DataType | Description |
---|---|
widthfloat | The width of the form field. |
heightfloat | The height of the form field. |
DocumentInfo properties
Field, DataType | Description |
---|---|
languageinteger | Language in which the document signing pages and emails for the signer should be rendered. The supported languages are 1-English , 2-Spanish , 3-German , 4-French , and 5-Romanian . |
titlestring | Title of the document. |
descriptionstring | A message for the singer. You can include the instructions that the signer should know before signing the document. |
Example response
201 Created
{ "documentId": "8f59295d-xxxx-xxxx-xxxx-e7dc88cfff2c" }