E-Signature API

E-Signature API
for Your Application

TurboDocx's e-signature API sends a document for legally binding signature in a single REST call, with a 99.9% uptime SLA and a free tier of 5 signatures a month. It returns real-time webhook events like signature.document.completed the moment a recipient signs, so you automate what happens next instead of polling for status.

10K+signatures sent
99.9%uptime SLA
5published SDKs

Key Takeaways

  • 1 call sends a document for signature: POST /turbosign/single/prepare-for-signing takes a file, recipients, and field positions, and returns a document ID.
  • 99.9% uptime SLA backs the API.
  • 5 free signatures a month on the $0 Free plan; the $10/mo Team plan raises that to 15/mo, and the $20/mo Pro plan is unlimited for named users (60/mo via API key).
  • 5 published SDKs (JavaScript/TypeScript, Python, Go, PHP, Java) wrap the same REST API, each installable from its language's standard package registry, including Java on Maven Central.
  • 7 webhook event types push real-time status instead of requiring you to poll.

RESTful API

Send a document, check status, void, resend, and pull the audit trail over simple HTTP endpoints.

Real-time Webhooks

7 event types notify your app when a document is sent, viewed, signed, completed, or voided.

Legally Binding

ESIGN Act and UETA compliant signatures with a full audit trail and PAdES-sealed, RFC 3161 timestamped PDFs.

Template Anchors

Position signature fields using text anchors like {signature1}, no manual coordinate mapping required.

5 Published SDKs

JavaScript/TypeScript, Python, Go, PHP, and Java SDKs, all built on the same REST API.

Flexible Scheduling

Configurable reminders and expiration windows per document, on top of your org defaults.

Send for Signature in One API Call

Straight from the official SDK examples

Production Ready
send-signature.ts
// npm install @turbodocx/sdk
import { TurboSign } from '@turbodocx/sdk';

TurboSign.configure({
  apiKey: process.env.TURBODOCX_API_KEY,
  orgId: process.env.TURBODOCX_ORG_ID,
  senderEmail: 'support@yourcompany.com', // required: reply-to + audit trail
});

const result = await TurboSign.sendSignature({
  file: pdfBuffer,
  documentName: 'Partnership Agreement',
  recipients: [
    { name: 'Sarah Johnson', email: 'sarah@company.com', signingOrder: 1 }
  ],
  fields: [
    {
      type: 'signature',
      recipientEmail: 'sarah@company.com',
      template: { anchor: '{signature1}', placement: 'replace', size: { width: 100, height: 30 } }
    }
  ]
});

// Signing links are emailed to recipients.
console.log(result.documentId);

Core Endpoints

9 REST endpoints cover the full signature lifecycle, from send to signed PDF. Base URL: https://api.turbodocx.com

Sending accepts a deliverableId in place of a file, so a document generated with the Deliverable module can go straight to signing without a re-upload.

POST/turbosign/single/prepare-for-signing
GET/turbosign/documents/:id/status
GET/turbosign/documents/:documentId/recipients
POST/turbosign/documents/:documentId/void
POST/turbosign/documents/:documentId/resend-email
POST/turbosign/documents/:documentId/send-reminder
GET/turbosign/documents/:documentId/audit-trail
GET/turbosign/documents/:documentId/download
POST/api/webhooks
Real-Time Status

Webhooks, Not Polling

7 webhook event types cover the signature lifecycle. Subscribe once with POST /api/webhooks and TurboDocx pushes an HMAC-signed payload to your endpoint on every status change.

  • signature.document.sent
  • signature.document.viewed
  • signature.document.recipient_signed
  • signature.document.signed
  • signature.document.completed
  • signature.document.finalization_failed
  • signature.document.voided
Security & Compliance

Legally Binding, Independently Verifiable

Every signature is ESIGN Act and UETA compliant. 1 audit trail entry is logged per action (viewed, signed, completed) with IP address and timestamp. Completed PDFs are sealed with a PAdES-compliant certificate and an RFC 3161 timestamp, so the signed document's integrity holds up independently after delivery.

White Label & SaaS Platforms

Built for SaaS Platforms

1 API key sends and tracks signature requests programmatically, no per-seat TurboDocx login required. For a fully embedded, white label signing experience under your own brand, see embedded and white label e-signatures, a separate layer built on this same API.

Send documents for signature via API key, not a UI login
Template-based field positioning with text anchors
Real-time status via webhooks instead of polling
Embedded, white label signing available as an add-on
For Enterprises

Need a Tailored Integration?

Most teams self-serve with the API and SDKs above. If your Salesforce, SharePoint, or legacy ERP setup needs a custom signing flow built and maintained for you, our team delivers that as a tailored integration, at software pricing, not agency rates.

ESIGN Act and UETA compliant signatures
PAdES-sealed, RFC 3161 timestamped PDFs
Dedicated support and custom API rate limits
99.9% uptime SLA
Book a Demo

API Pricing

Free
$0
5/mo signatures
Team
$10/user/mo
15/mo signatures, shared in-app + API
Pro
$20/user/mo
Unlimited in-app; 60/mo via API key
Enterprise
Contact us
Custom API rate limits

Full pricing details

Frequently Asked Questions

How much does the TurboDocx e-signature API cost?

$0 to start: the Free plan includes 5 signatures a month through the API or the app, no credit card required. The $10/user/month Team plan raises that to 15 signatures a month, shared between in-app and API-key usage. The $20/user/month Pro plan gives named users unlimited signatures in the app; programmatic API-key access on Pro is capped at 60 signatures a month. Enterprise plans negotiate custom API rate limits.

Does the TurboDocx e-signature API support webhooks?

7 webhook event types cover the signature lifecycle: sent, viewed, recipient_signed, signed, completed, finalization_failed, and voided. Subscribe once with a POST to /api/webhooks and TurboDocx pushes a signed HTTP payload to your endpoint the moment a status changes, so your app reacts in real time instead of polling. Each payload carries an HMAC signature you verify server-side.

Is there a PHP SDK for the TurboDocx e-signature API?

1 command installs it: composer require turbodocx/sdk. The official PHP SDK wraps the same REST endpoints as the JavaScript/TypeScript, Python, Go, and Java SDKs, including sending a document for signature, checking its status, voiding, resending, and pulling the audit trail. The step-by-step PHP guide at /guides/sign-documents-with-php walks through a working send-for-signature example.

Are e-signatures sent through the TurboDocx API legally binding?

1 audit trail entry is logged for every action on a document: viewed, signed, completed, each with an IP address and timestamp, retrievable through the audit trail endpoint. Signatures are ESIGN Act and UETA compliant, and completed PDFs are sealed with a PAdES-compliant certificate plus an RFC 3161 timestamp, so a signed document's integrity holds up independently after delivery.

Can I white label the e-signature API for my SaaS platform?

1 API key is what a SaaS platform needs to send and track signature requests programmatically, no per-seat TurboDocx login required. For a fully embedded, white label signing experience under your own brand, with no redirect to a TurboDocx-hosted page, see /embed-electronic-signature, a separate embedding layer built on top of this same signing API.

Start Free Today

Ready to Add E-Signatures?

Get your API key in minutes. 5 free signatures a month, no credit card required.

Need a tailored integration into your existing stack instead of a self-serve API? Book a demo and our team scopes it with you.

5 min setup
No credit card required
5 free signatures/mo