-
PYTHON SDK
Python SDK for Secure eSignature Integration
Integrate legally binding e-signatures into your Python applications in minutes with a production-ready SDK and clear developer documentation.
import boldsign
#Send document for signing
with boldsign.ApiClient(boldsign.Configuration(api_key="YOUR_API_KEY")) as client:
boldsign.DocumentApi(client).send_document(
boldsign.SendForSign(
title="Service Agreement",
files=["contract.pdf"],
signers=[boldsign.DocumentSigner(
name="John Doe",
emailAddress="john@example.com",
formFields=[boldsign.FormField(
fieldType="Signature",
pageNumber=1,
bounds=boldsign.Rectangle(x=100, y=500, width=200, height=50)
)]
)]
)
)
pip install boldsign
Built for Python Applications
Build secure, compliant e‑signing workflows for Python applications using a production‑ready SDK designed for scale.
Secure Signer Authentication
Set AccessCode, Email OTP, SMS OTP, or identity verification directly in Python SDK calls.
Reliable Webhooks
Receive real‑time document and signing events with guaranteed delivery retries up to 8 hours.
Templates & Text Tags
Create reusable templates and auto‑place fields using text tags to simplify document preparation.
Embedded Sending & Signing
Embed document sending and end‑to‑end signing flows directly within your Python applications.
SaaS & Multi-Tenant Ready
Send on behalf of users with team management, custom branding, and multi‑tenant scalability.
Enterprise-Grade Compliance
ESIGN, UETA, and eIDAS compliant with encryption, audit trails, and reliable webhook retries.
Code Examples
import boldsign
# Authenticate with your BoldSign API key
configuration = boldsign.Configuration(api_key="YOUR_API_KEY")
# Create an API client
with boldsign.ApiClient(configuration) as api_client:
document_api = boldsign.DocumentApi(api_client)
# Create a signature form field
signature_field = boldsign.FormField(
fieldType="Signature",
pageNumber=1,
bounds=boldsign.Rectangle(x=50, y=50, width=200, height=25),
isRequired=True,
id="signature1"
)
# Configure the signer
signer = boldsign.DocumentSigner(
name="Hanky",
emailAddress="hankyWhites@boldsign.dev",
signerType="Signer",
formFields=[signature_field],
locale="EN"
)
# Create the SendForSign request
send_for_sign = boldsign.SendForSign(
title="python-brand",
brandId="0d3da1f4-baa5-4b8d-a0fd-8c460073c4e9",
signers=[signer],
files=["YOUR_FILE_PATH"]
)
# Send the document for signing
document_created = document_api.send_document(send_for_sign=send_for_sign)
print(document_created.documentId)
import boldsign
# Create an API client using your BoldSign API key
with boldsign.ApiClient(
boldsign.Configuration(api_key="YOUR_API_KEY")
) as client:
# Create the embedded signing request
response = boldsign.DocumentApi(client).create_embedded_request_url_document(
boldsign.EmbeddedDocumentRequest(
title="Sent from API Python SDK",
showToolbar=True,
files=["YOUR_FILE_PATH"],
signers=[
boldsign.DocumentSigner(
name="Signer_Name",
emailAddress="signer@boldsign.dev",
formFields=[
boldsign.FormField(
fieldType="Signature",
pageNumber=1,
bounds=boldsign.Rectangle(
x=50,
y=50,
width=200,
height=30
)
)
]
)
]
)
)
# The embedded signing URL
print(response.signingUrl)
import boldsign
# Create an API client using your BoldSign API key
with boldsign.ApiClient(boldsign.Configuration(api_key="YOUR_API_KEY")) as client:
# Generate embedded signing link for a specific signer
sign_link = boldsign.DocumentApi(client).get_embedded_sign_link(
document_id="YOUR_DOCUMENT_ID",
signer_email="john@example.com"
)
import boldsign
# Configure BoldSign with your API key
configuration = boldsign.Configuration(api_key="YOUR_API_KEY")
with boldsign.ApiClient(configuration) as api_client:
# Initialize the Template API
template_api = boldsign.TemplateApi(api_client)
# Create a signature form field
form_field = boldsign.FormField(
fieldType="Signature",
pageNumber=1,
bounds=boldsign.Rectangle(
x=50, y=100, width=100, height=60
)
)
# Configure the template role
role = boldsign.TemplateRole(
index=1,
name="Hr",
defaultSignerName="Alex Gayle",
defaultSignerEmail="alexgayle@boldsign.dev",
signerType="Signer",
formFields=[form_field]
)
# Create the template request
create_template_request = boldsign.CreateTemplateRequest(
title="title of the template",
documentTitle="title of the document",
roles=[role],
files=["YOUR_FILE_PATH"]
)
# Create the template
template_created = template_api.create_template(
create_template_request=create_template_request
)
print(template_created.templateId)
import boldsign
# Configure BoldSign with your API key
configuration = boldsign.Configuration(api_key="YOUR_API_KEY")
with boldsign.ApiClient(configuration) as api_client:
document_api = boldsign.DocumentApi(api_client)
# Create a signature form field
signature_field = boldsign.FormField(
id="Signature1",
field_type="Signature",
page_number=1,
bounds=boldsign.Rectangle(x=100, y=100, width=100, height=50),
is_required=True
)
# Configure identity verification settings
idVerification = boldsign.IdentityVerificationSettings(
type="EveryAccess",
maximum_retry_count=10,
require_live_capture=True,
require_matching_selfie=True,
name_matcher="Strict",
allowed_document_types=["Passport", "IDCard", "DriverLicense"]
)
# Configure the signer
signer = boldsign.DocumentSigner(
name="Jenny Rosen",
email_address="alexgayle@cubeflakes.com",
signer_type="Signer",
authentication_type="IdVerification",
identity_verification_settings=idVerification,
form_fields=[signature_field],
locale="EN"
)
# Create the SendForSign request
send_for_sign = boldsign.SendForSign(
title="DOCUMENT_TITLE",
signers=[signer],
files=["FILE_PATH"]
)
document_created = document_api.send_document(send_for_sign=send_for_sign)
Common Workflows
Built to support application workflows that require fast, secure, and automated e‑signature integration through the Python SDK.
Contracts & Agreements
Automate contract sending, signer tracking, and completion using Python SDK calls and webhooks.
HR & Employment
Integrate signing into Python‑based onboarding systems for offer letters and employee agreements.
Healthcare
Handle compliant consent and authorization workflows using API‑driven signing with audit trails.
Financial Services
Automate agreement and compliance document flows with secure signing and real‑time status updates.
Real Estate
Power end‑to‑end property workflows by programmatically sending and tracking documents with Python.
SaaS Platforms
Embed e-signature capabilities directly into your application for your customers.
-
Key stats
Why BoldSign?
24+
Years in business
120+
Countries
50,000+
Customers
99.999%
Uptime reliability
Ready to Get Started?
Install the BoldSign Python SDK and start building secure e‑signature workflows in Python applications in minutes.
Explore more articles on this topic
Discover additional articles, implementation guides, and best practices related to the BoldSign Python SDK.
Introducing BoldSign Python SDK eSignature Integration
Add secure eSignature capabilities to your Python applications using the official BoldSign SDK.
Embed the eSignature Solution into Your Python Application
Embed BoldSign eSignatures into your Python app and let users sign securely without leaving it.
Frequently asked questions
You can send a document by creating a SendForSign request, adding signers and files, and calling the send_document method from the Document API. The Python SDK handles document delivery, signer notifications, and status tracking automatically.
Yes. You can generate embedded signing links using the Python SDK and integrate the signing experience directly into your application using an iFrame or a custom user interface.
Yes. The Python SDK works seamlessly with BoldSign webhooks to notify your application in real time when events occur, such as when a document is sent, viewed, signed, or completed.
You can authenticate API requests using your BoldSign API key or OAuth 2.0 by configuring authentication in the SDK. This ensures secure communication between your Python application and BoldSign APIs.
Yes. The Python SDK supports multi-tenant SaaS scenarios, allowing you to send documents on behalf of users, manage teams, and apply tenant‑level branding.
For more details, see the guide on Integrating eSignature Capabilities into Your SaaS Applications.
Yes. You can create reusable templates and use them to send documents quickly without redefining signer details and fields each time, improving efficiency and consistency.
BoldSign supports commonly used file formats such as PDF, JPG, PNG, DOCX, and Excel (.xlsx) for document signing workflows.
For more details, refer to the guide on supported file formats.
Webhook events are automatically retried for upto 24 hours to ensure your application receives important updates, even if there are temporary network or server failures.
You can access detailed API documentation, Python SDK references, and additional examples in the BoldSign developer documentation.
Sign up for your free trial today!
-
30-day free trial
-
No credit card required
-
30-day free trial
-
No credit card required