• Python SDK
    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.

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

Contracts & Agreements

Automate contract sending, signer tracking, and completion using Python SDK calls and webhooks.

HR & Employment

HR & Employment

Integrate signing into Python‑based onboarding systems for offer letters and employee agreements.

Healthcare

Healthcare

Handle compliant consent and authorization workflows using API‑driven signing with audit trails.

Financial Services

Financial Services

Automate agreement and compliance document flows with secure signing and real‑time status updates.

Real Estate

Real Estate

Power end‑to‑end property workflows by programmatically sending and tracking documents with Python.

SaaS Platforms

SaaS Platforms

Embed e-signature capabilities directly into your application for your customers.

  • key-stats
    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.

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!

  • tick-icon
    30-day free trial
  • tick-icon
    No credit card required
  • tick-icon
    30-day free trial
  • tick-icon
    No credit card required
Sign up for BoldSign free trial