Node.js SDK

Easily integrate BoldSign's e-signature features into your Node.js applications. This SDK simplifies sending documents for signature, embedding signing ceremonies, tracking document status, downloading signed documents, and managing e-signature workflows.

The Node SDK is available on npmjs and the source code can be found in the GitHub repository.

Install the package

Install the BoldSign Node SDK package in your project using the below command.

npm install boldsign 

Authentication

You can authenticate and configure the BoldSign Node SDK using either an API Key or a Bearer Token. Depending on your authentication method, you can set up with one of the two configurations outlined below.

API Key

To authenticate using an API Key, you'll need to first generate your API key. You can refer to the API-Key for more details .

Once you have your API key, you can configure as follows:

const templateApi = new TemplateApi();
templateApi.setApiKey("Your-API-Key-Here");

Replace "Your-API-Key-Here" with the actual API key you generated. After setting this up, the SDK will use this API key for authenticating all API requests.

OAuth 2.0

To authenticate using an Bearer Token(Access Token), you'll need to first generate your Bearer Token. You can refer to the OAuth 2.0 for more details .

Once you have your Bearer Token, you can configure as follows:

const templateApi = new TemplateApi();
templateApi.setDefaultAuthentication("Your-Bearer-Token-Here");

Replace "Your-Bearer-Token-Here" with the actual Bearer Token you generated. After setting this up, the SDK will use this Bearer Token for authenticating all API requests.

Getting started

To prepare for sending a document for signing, you can authenticate using an API key after importing the BoldSign SDK. This example demonstrates the authentication process using an API key.

import { DocumentApi } from 'boldsign';
import { DocumentSigner, FormField, Rectangle, SendForSign } from 'boldsign';
import * as fs from 'fs';

// Create an instance of the DocumentApi class
const documentApi = new DocumentApi();
// Configure API key authorization: X-API-KEY
documentApi.setApiKey('YOUR_API_KEY_HERE');

Now, define the signature field that will be added to your document. This involves specifying the field type (Signature), page number, and the bounds (position and size) of the field on the page.

const bounds = new Rectangle();
bounds.x = 100;
bounds.y = 50;
bounds.width = 100;
bounds.height = 100;

// Define the signature field to be added to the document
const formField = new FormField();
formField.fieldType = FormField.FieldTypeEnum.Signature;
formField.pageNumber = 1;
formField.bounds = bounds;

The document and its form fields require signing. So, specify the signer to sign the form fields, including their name and email address.

// Define the signer with a name and email address
const documentSigner = new DocumentSigner();
documentSigner.name = "David";
documentSigner.emailAddress = "david@example.com";
documentSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
documentSigner.formFields = [formField];

Now, prepare the document you want to send for signature. Specify the title of the document, the signers involved, and the file(s) to be signed. In this case, we are sending a PDF document.

// Prepare the request body for sending the document for signature
var files = fs.createReadStream("agreement.pdf");

const sendForSign = new SendForSign();
sendForSign.title = "Agreement";
sendForSign.signers = [documentSigner];
sendForSign.files = [files];

The last step is to send the document for signing with the defined document, form fields and signer.

// Send the document for signature and capture the response
const sendDocumentResponse = await documentApi.sendDocument(sendForSign);

The return type sendDocumentResponse will contain the document ID of the document created, which can be used in later stages to get the particular document related operations.

Examples

You can find the Node.js example application in the official GitHub repository. Additional code examples are available in this GitHub repository.

Class reference

Refer to the Node.js SDK class reference documentation here.