PDF Automation / API-Driven
Create document sessions from your application, prefill field values from your database, retrieve completed and signed PDFs, and receive HMAC-signed webhook events on every submission. TypeScript and Python SDKs ship with every Developer plan.
The API workflow
Step 1
POST /sessions with document package ID and prefill values
Step 2
Return the session URL — embed it, email it, or display it in your app
Step 3
Guided interview runs on Docuplete infrastructure — no frontend work
Step 4
Docuplete fills the PDF, collects the signature, applies timestamp
Step 5
Your endpoint receives field values, session ID, and PDF download URL
Step 6
GET /sessions/:id/pdf to download the completed, signed document
SDKs
@docuplete/sdkInstall: npm install @docuplete/sdk. Typed request and response objects, authentication handling, async/await throughout. Works in Node.js and edge runtimes.
docupleteInstall: pip install docuplete. Python 3.8+ support. Typed models via Pydantic. Async support via httpx. Full API coverage — sessions, documents, verification.
The full API is documented as an OpenAPI 3 spec — browse every endpoint, see request and response schemas, and test calls from the developer portal without an API key.
The Docuplete sandbox is available without an API key. Generate sessions, fill interviews, and trigger webhooks in an isolated environment — no production account required.
Every webhook event is signed with HMAC-SHA256. Verify the signature before processing. Automatic retries with exponential backoff. Delivery logs and manual retry from the dashboard.
Use headless mode to embed the interview inside your own application — prefill values from your database, show only the fields that aren't already known, and receive submissions directly.
Code sample
// TypeScript — create a session and get the interview link import { DocupleteClient } from '@docuplete/sdk'; const client = new DocupleteClient({ apiKey: process.env.DOCUPLETE_API_KEY }); const session = await client.sessions.create({ packageId: 'pkg_new_account_application', prefill: { client_name: 'Jane Smith', client_email: 'jane@example.com', account_type: 'Traditional IRA', }, expiresIn: '7d', }); console.log(session.url); // → https://docuplete.app/d/public/tok_abc123
# Python — equivalent in three lines from docuplete import DocupleteClient client = DocupleteClient(api_key="your_api_key") session = client.sessions.create( package_id="pkg_new_account_application", prefill={"client_name": "Jane Smith", "account_type": "Traditional IRA"}, expires_in="7d", ) print(session.url)
14-day free trial. Full API access on Developer plan. SDKs included.
Start free trialDeveloper plan from $499/mo.
Related