BoldSign AI Assistant
Chat with the BoldSign AI AssistantSend document to multiple recipients
Sending a single document to multiple recipients can be essential when you need to share the same document with various individuals. BoldSign simplifies this process by enabling you to include multiple recipients all at once.
Send a document to multiple recipients
To send a document to multiple recipients using the BoldSign API, you can follow these steps
Utilize the provided codes as an example to construct your request. The following code snippets demonstrate how to send a document with multiple signers via the API.
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 'Message=' \
-F 'Signers=
{
"name": "Hanky",
"emailAddress": "[email protected]",
"signerType": "Signer",
"formFields":
[
{
"id": "string",
"name": "string",
"fieldType": "Signature",
"pageNumber": 1,
"bounds":
{
"x": 50,
"y": 50,
"width": 1,
"height": 1
},
"isRequired": true
}
],
"locale": "EN"
}'
-F 'Signers=
{
"name": "Cilian",
"emailAddress": "[email protected]",
"signerType": "Signer",
"formFields":
[
{
"id": "sign_1",
"name": "sign_1",
"fieldType": "Signature",
"pageNumber": 2,
"bounds": {
"x": 50,
"y": 50,
"width": 1,
"height": 1
},
"isRequired": true
}
],
"locale": "EN"
}' \
-F 'Files={your file}' \
-F 'Title={title}' \
var apiClient = new ApiClient("https://api.boldsign.com", "{Your API key}");
var documentClient = new DocumentClient(apiClient);
var documentFilePath = new DocumentFilePath
{
ContentType = "application/pdf",
FilePath = "{Your file path}"
};
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 signatureField1 = new FormField(
id: "sign_1",
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 formFieldCollections1 = new List<FormField>()
{
signatureField1
};
var signer = new DocumentSigner(
signerName: "David",
signerType: SignerType.Signer,
signerEmail: "[email protected]",
formFields: formFieldCollections,
locale: Locales.EN);
var signer1 = new DocumentSigner(
signerName: "Cilian",
signerType: SignerType.Signer,
signerEmail: "[email protected]",
formFields: formFieldCollections1,
locale: Locales.EN);
var documentSigners = new List<DocumentSigner>()
{
signer,
signer1
};
var sendForSign = new SendForSign()
{
Message = "please sign this",
Title = "Agreement",
Signers = documentSigners,
Files = filesToUpload
};
var documentCreated = documentClient.SendDocument(sendForSign);
Console.WriteLine(documentCreated.DocumentId);
import boldsign
configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")
with boldsign.ApiClient(configuration) as api_client:
document_api = boldsign.DocumentApi(api_client)
send_for_sign = boldsign.SendForSign(
title = "Document SDK API",
document_title = "SDK Document Test case",
description = "Testing document from SDK integration test case",
files = ["YOUR_FILE_PATH"],
signers = [
boldsign.DocumentSigner(
name = "Hanky",
emailAddress = "[email protected]",
signerOrder = 1,
signerType = "Signer",
formFields = [
boldsign.FormField(
name = "Sign",
fieldType = "Signature",
font = "Helvetica",
pageNumber = 1,
isRequired = True,
bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150)
)
],
privateMessage = "This is private message for signer"
),
boldsign.DocumentSigner(
name = "Cilian",
emailAddress = "[email protected]",
signerOrder = 1,
signerType = "Signer",
formFields = [
boldsign.FormField(
name = "Sign",
fieldType = "Signature",
font = "Helvetica",
pageNumber = 1,
isRequired = True,
bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150)
),
],
privateMessage = "This is private message for signer"
)
]
)
document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";
use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign, DocumentInfo, FileInfo};
$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');
$document_api = new DocumentApi($config);
$first_signature_field = new FormField();
$first_signature_field->setName('Sign');
$first_signature_field->setFieldType('Signature');
$first_signature_field->setPageNumber(1);
$first_signature_field->setFont('Helvetica');
$first_signature_field->setIsRequired(true);
$bounds = new Rectangle([50, 50, 100, 150]);
$first_signature_field->setBounds($bounds);
$second_signature_field = new FormField();
$second_signature_field->setName('Sign');
$second_signature_field->setFieldType('Signature');
$second_signature_field->setPageNumber(1);
$second_signature_field->setFont('Helvetica');
$second_signature_field->setIsRequired(true);
$signature_field_bounds = new Rectangle([50, 50, 100, 150]);
$second_signature_field->setBounds($signature_field_bounds);
$hanky_signer = new DocumentSigner();
$hanky_signer->setName('Hanky');
$hanky_signer->setEmailAddress('[email protected]');
$hanky_signer->setSignerOrder(1);
$hanky_signer->setSignerType('Signer');
$hanky_signer->setFormFields([$first_signature_field]);
$hanky_signer->setPrivateMessage('This is private message for signer');
$cilian_signer = new DocumentSigner();
$cilian_signer->setName('Cilian');
$cilian_signer->setEmailAddress('[email protected]');
$cilian_signer->setSignerOrder(1);
$cilian_signer->setSignerType('Signer');
$cilian_signer->setFormFields([$second_signature_field]);
$cilian_signer->setPrivateMessage('This is private message for signer');
$send_for_sign = new SendForSign();
$documentInfo = new DocumentInfo();
$documentInfo->setTitle('Document SDK API');
$documentInfo->setDescription('Testing document from SDK integration test case');
$send_for_sign->setDocumentInfo([$documentInfo]);
$files = new FileInfo();
$files = 'YOUR_FILE_PATH';
$send_for_sign->setFiles([$files]);
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setSigners([$hanky_signer, $cilian_signer]);
$document_created = $document_api->sendDocument($send_for_sign);
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);
FormField firstSignatureField = new FormField();
firstSignatureField.setName("Sign");
firstSignatureField.setFieldType(FormField.FieldTypeEnum.SIGNATURE);
firstSignatureField.setPageNumber(1);
firstSignatureField.setFont(FormField.FontEnum.HELVETICA);
firstSignatureField.setIsRequired(true);
Rectangle bounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
firstSignatureField.setBounds(bounds);
FormField secondSignatureField = new FormField();
secondSignatureField.setName("Sign");
secondSignatureField.setFieldType(FormField.FieldTypeEnum.SIGNATURE);
secondSignatureField.setPageNumber(1);
secondSignatureField.setFont(FormField.FontEnum.HELVETICA);
secondSignatureField.setIsRequired(true);
Rectangle signatureFieldBounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
secondSignatureField.setBounds(signatureFieldBounds);
DocumentSigner hankySigner = new DocumentSigner();
hankySigner.setName("Hanky");
hankySigner.setEmailAddress("[email protected]");
hankySigner.setSignerOrder(1);
hankySigner.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
hankySigner.setFormFields(Arrays.asList(firstSignatureField));
hankySigner.setPrivateMessage("This is private message for signer");
DocumentSigner cilianSigner = new DocumentSigner();
cilianSigner.setName("Cilian");
cilianSigner.setEmailAddress("[email protected]");
cilianSigner.setSignerOrder(1);
cilianSigner.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
cilianSigner.setFormFields(Arrays.asList(secondSignatureField));
cilianSigner.setPrivateMessage("This is private message for signer");
SendForSign sendForSign = new SendForSign();
File file = new File("YOUR_FILE_PATH");
sendForSign.setFiles(Arrays.asList(file));
ArrayList<DocumentSigner> signers = new ArrayList<>();
signers.add(hankySigner);
signers.add(cilianSigner);
sendForSign.setSigners(signers);
sendForSign.setTitle("Document SDK API");
DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
import { DocumentApi, DocumentSigner, DocumentInfo, FormField, Rectangle, SendForSign } from "boldsign";
import * as fs from 'fs';
const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");
const bounds = new Rectangle();
bounds.x = 100;
bounds.y = 50;
bounds.width = 100;
bounds.height = 100;
const signatureFieldBounds = new Rectangle();
signatureFieldBounds.x = 100;
signatureFieldBounds.y = 50;
signatureFieldBounds.width = 100;
signatureFieldBounds.height = 100;
const firstSignatureField = new FormField();
firstSignatureField.name = "CheckBox";
firstSignatureField.fieldType = FormField.FieldTypeEnum.CheckBox;
firstSignatureField.font = FormField.FontEnum.Helvetica;
firstSignatureField.pageNumber = 1;
firstSignatureField.value = "on";
firstSignatureField.isReadOnly = true;
firstSignatureField.bounds = bounds;
const secondSignatureField = new FormField();
secondSignatureField.name = "CheckBox";
secondSignatureField.fieldType = FormField.FieldTypeEnum.CheckBox;
secondSignatureField.font = FormField.FontEnum.Helvetica;
secondSignatureField.pageNumber = 1;
secondSignatureField.value = "on";
secondSignatureField.isReadOnly = true;
secondSignatureField.bounds = signatureFieldBounds;
const davidSigner = new DocumentSigner();
davidSigner.name = "David";
davidSigner.emailAddress = "[email protected]";
davidSigner.signerOrder = 1;
davidSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
davidSigner.formFields = [firstSignatureField];
davidSigner.privateMessage = "This is private message for signer";
const cilianSigner = new DocumentSigner();
cilianSigner.name = "Cilian";
cilianSigner.emailAddress = "[email protected]";
cilianSigner.signerOrder = 1;
cilianSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
cilianSigner.formFields = [secondSignatureField];
cilianSigner.privateMessage = "This is private message for signer";
const files = fs.createReadStream("YOUR_FILE_PATH");
const sendForSign = new SendForSign();
const documentInfo = new DocumentInfo();
documentInfo.title = "SDK Document Test case";
documentInfo.description = "Testing document from SDK integration test case";
sendForSign.documentInfo = [documentInfo];
sendForSign.title = "Document SDK API";
sendForSign.signers = [davidSigner, cilianSigner];
sendForSign.files = [files];
const documentCreated = documentApi.sendDocument(sendForSign);
Replace placeholders (Title, Message, etc.) within the snippet with your specific inputs. Adjust values in the Signers array to match your custom recipients.
Executing this code will send the document to the specified recipients as provided in the snippet.