Send document from template
post/v1/template/sendTemplates are created in the same way as regular documents, but instead of associating signature fields with people, we simply associate fields with roles. For more information, please refer to the Create template article.
When you need to send the same contracts out for signature to different groups of people repeatedly, you can use templates to save time. This section demonstrates how to send a document for signature by using an existing template.
Code snippet
curl -X 'POST' \ 'https://api.boldsign.com/v1/template/send?templateId=b8085b47-63b3-47f8-8d5e-cb0acfe2d916' \ -H 'accept: application/json' \ -H 'X-API-KEY: {your API key}' \ -H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \ -d '{ "title": "Invitation form", "message": "Kindly review and sign this.", "roles": [ { "roleIndex": 50, "signerName": "Richard", "signerOrder": 1, "signerEmail": "richard@cubeflakes.com", "privateMessage": "Please check and sign the document.", "authenticationCode": "281028", "enableEmailOTP": false, "signerType": "Signer", "signerRole": "Manager", "formFields": [ { "id": "SignField", "fieldType": "Signature", "pageNumber": 1, "bounds": { "x": 100, "y": 100, "width": 100, "height": 50 }, "isRequired": true }, ], "locale": "EN" } ], "brandId": "8208b6d3-7ee0-4a1a-b597-1bbe41018107", "labels": [ "Invitation" ], "disableEmails": false, "hideDocumentId": true, "reminderSettings": { "enableAutoReminder": true, "reminderDays": 3, "reminderCount": 10 }, "cc": [ { "emailAddress": "alexgayle@cubeflakes.com" } ], "expiryDays": 180, "expiryDateType": "Days", "expiryValue": 60, "disableExpiryAlert": true, "enablePrintAndSign": true, "enableReassign": true, "enableSigningOrder": true, "useTextTags": true, "roleRemovalIndices": [1, 2], }`
var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}"); var templateClient = new TemplateClient(apiClient); var signatureField = new FormField( id: "sign_id", type: FieldType.Signature, pageNumber: 1, bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50)); var formFieldsCollections = new List<FormField> { signatureField, }; var templateRole = new Roles( roleIndex:3, signerName:"David", signerEmail:"david@cubeflakes.com", formFields: formFieldsCollections); var roles = new List<Roles> { templateRole, }; var sendForSignFromTemplate = new SendForSignFromTemplate() { TemplateId = "01c19aef-2dad-476d-b801-7178ef2e1036", Roles = roles, RoleRemovalIndices = new [] {1, 2} }; var documentCreated = templateClient.SendUsingTemplate(sendForSignFromTemplate);
import requests url = "https://api.boldsign.com/v1/template/send?templateId=b67e6933-xxxx-xxxx-xxxx-a613cd83b5cd" payload = "{\n \"roles\": [\n {\n \"roleIndex\": 3,\n \"signerName\": \"David\",\n \"signerEmail\": \"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 }\n ]\n }\n ]\n, \n \"roleRemovalIndices\" : [\n 1, \n 2] \n}" headers = { 'accept': 'application/json', 'X-API-KEY': '{your API key}', 'Content-Type': 'application/json;odata.metadata=minimal;odata.streaming=true' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
const axios = require('axios'); const response = await axios.post( 'https://api.boldsign.com/v1/template/send', { 'roles': [ { 'roleIndex': 3, 'signerName': 'David', 'signerEmail': 'david@cubeflakes.com', 'formFields': [ { 'fieldType': 'Signature', 'pageNumber': 1, 'bounds': { 'x': 100, 'y': 100, 'width': 100, 'height': 50 } } ] } ], 'roleRemovalIndices': [1, 2] }, { params: { 'templateId': 'b67e6933-xxxx-xxxx-xxxx-a613cd83b5cd' }, headers: { 'accept': 'application/json', 'X-API-KEY': '{your API key}', 'Content-Type': 'application/json;odata.metadata=minimal;odata.streaming=true' } } );
Query parameters
templateIdstringRequired | The ID of the existing template to be used for sending the document. |
Request body
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rolesarray | A role is simply a placeholder for a real person. For example, if we have a purchase order that will always be signed by two people, one from the company and one from the customer, we can create a template with two roles,
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
labelsarray | Labels (tags) are added to the documents to categorize and filter them. One or more labels can be added. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
disableEmailsboolean | Disables the sending of document related emails to all the recipients. The default value is false . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hideDocumentIdboolean | Decides whether the document ID should be hidden or not. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
reminderSettingsboolean | Options to customize the auto-reminder settings.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ccarray | Mail ID of the CC recipients. One or more CC recipients can be specified.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
expiryDaysinteger | The number of days after which the document expires. The default value is 60 days. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enablePrintAndSignboolean | Allows the signer to print the document, sign, and upload it. The default value is false . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableReassignboolean | Allows the signer to reassign the signature request to another person. The default value is true . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableSigningOrderboolean | Enables or disables the signing order. If this option is enabled, then the signers can only sign the document in the specified order and cannot sign parallelly. The default value is false . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
disableExpiryAlertboolean | Disables the alert, which was shown one day before the expiry of the document. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
documentInfoarray | Options to customize the information like title and description of the document for a particular signer.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onBehalfOfstring | Mail ID of the user to send the document on behalf of them. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
roleRemovalIndicesarray | Removes the roles present in the template with their indices given in this property. |
Example response
200 Success
{ "documentId": "755195d8-xxxx-xxxx-xxxx-88ff77d35419" }