canonical: https://jentic.com/apis/pandadoc.com/pandadoc

# PandaDoc API

PandaDoc API enables document automation for proposals, quotes, contracts, and e-signature workflows. The API covers document creation from templates or PDF uploads, dynamic content placeholders, recipient configuration, sending for signature, tracking status changes, webhook subscriptions, form field data extraction, content library management, template CRUD, folder organization, analytics, and user administration. Authentication uses API keys (API-Key prefix) or OAuth 2.0 for user-delegated access. The API supports high-volume document generation with rate limits scaled by plan tier.

## For AI agents

Automate PandaDoc document creation, sending, signing, and tracking - from templates, PDFs, or dynamic content with placeholders, webhooks, and form data extraction.

## Scope

Does not provide e-signature verification infrastructure, legal compliance auditing, or identity verification services - use for document creation, sending, tracking, and data extraction only. E-signature legality and compliance are the responsibility of the customer's use case and jurisdiction.

## Capabilities

- Create documents from templates with dynamic content placeholders and variable substitution
- Upload and send local PDFs for signature with recipient roles and field positioning
- Configure recipients with signing order, authentication, and role-based field access
- Send documents for signature with email customization and expiration dates
- Track document status changes (draft, sent, viewed, completed, voided) via webhooks
- Extract form field values and signature data from completed documents
- Manage content library items, templates, and folder organization
- Download completed documents as PDFs with or without certificate of completion
- Administer workspaces, users, and role-based access control

## Use cases

### Generate and Send Contracts from CRM Data

Automate contract generation by pulling data from a CRM like Salesforce or HubSpot and creating PandaDoc documents from templates. POST /documents with template_uuid and tokens (placeholders like {Client.Name}, {Deal.Value}) generates a document, then POST /documents/{id}/send delivers it to recipients for signature. This eliminates manual copy-paste and ensures contract accuracy.

Example prompt: POST /documents with template_uuid and tokens object mapping placeholders to CRM values, then POST /documents/{id}/send with recipients and subject.

### Upload and Send Local PDFs for Signature

Upload a PDF contract or agreement that does not originate from a PandaDoc template and send it for signature. POST /documents with a multipart file upload and recipient configuration allows dynamic PDF signing workflows. This supports scenarios where legal teams provide pre-formatted PDFs that need e-signature without template redesign.

Example prompt: POST /documents with file upload and recipients, then POST /documents/{id}/send to deliver for signature.

### Real-Time Document Status Tracking via Webhooks

Subscribe to PandaDoc webhooks to receive real-time notifications when documents are viewed, completed, voided, or declined. POST /webhooks/subscriptions with event types (document_state_changed) and a callback URL enables integrations that trigger downstream workflows like updating CRM deal stages, notifying sales reps in Slack, or releasing product access when a contract is signed.

Example prompt: POST /webhooks/subscriptions with event types ['document_state_changed'] and callback URL to receive status updates.

### Extract Form Field Data from Completed Documents

After a document is completed, extract form field values and signature data for downstream processing like populating databases, generating invoices, or triggering fulfillment. GET /documents/{id}/fields returns all field names and values, including text inputs, checkboxes, dropdowns, and signature timestamps. This supports automated order processing and data capture workflows.

Example prompt: GET /documents/{id}/fields after document status is 'document.completed' to extract field names and values.

### AI Agent for Document Workflow Automation

Let an AI agent handle document lifecycle tasks like creating contracts from customer data, sending for signature, tracking status, notifying stakeholders, and extracting signed data. Through Jentic, the agent searches by intent (e.g., 'create pandadoc document from template'), loads the schema, and executes with the API key injected securely, enabling conversational document automation.

Example prompt: Use Jentic search 'create pandadoc document from template' to find POST /documents, load schema, execute with template_uuid and tokens.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /documents | Create a document from template or PDF |
| POST | /documents/{id}/send | Send a document for signature |
| GET | /documents | List documents with filters |
| GET | /documents/{id} | Get document details |
| GET | /documents/{id}/fields | Extract form field values |
| POST | /webhooks/subscriptions | Subscribe to document events |
| GET | /documents/{id}/download | Download completed document as PDF |

## Key resources

- **Documents** — Contracts, proposals, quotes, and agreements created from templates or uploaded PDFs with recipient and field configuration
- **Templates** — Reusable document blueprints with placeholders, form fields, and branding for consistent document generation
- **Recipients** — Signing parties with roles, signing order, authentication requirements, and field access permissions
- **Webhooks** — Event-driven HTTP callbacks for document status changes, form field updates, and signature completions
- **Form Fields** — Input fields, checkboxes, dropdowns, and signature boxes embedded in documents for data capture
- **Content Library** — Reusable content blocks, images, and text snippets for template assembly

## Why Jentic

- **Setup:** Wiring PandaDoc by hand means handling its API-key auth in the Authorization header against api.pandadoc.com, shaping document and webhook payloads, and building your own retry and error handling. Through Jentic you install once, import the PandaDoc API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** PandaDoc puts the document id in the URL path (/documents/{id}/send), so a rule can pin your agent to a specific document and the operations you approve. You choose the operations it may call, so sending a document for signature is not included unless you add it.
- **Credential handling:** Your PandaDoc key is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a PandaDoc document from a template' or 'send a document for signature', and Jentic returns the matching PandaDoc operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Dropbox Sign API** — A PandaDoc alternative from Dropbox for sending, signing, and tracking legally binding e-signature documents.
- **BoldSign API** — A PandaDoc alternative offering e-signature APIs to prepare, send, and manage signed documents and reusable templates.

## FAQ

### What authentication does the PandaDoc API use?

The PandaDoc API uses API key authentication with the Authorization header (format: 'API-Key <your-key>') or OAuth 2.0 for user-delegated access. Through Jentic, API keys are stored encrypted and injected at execution time.

### Can I create documents from templates with the PandaDoc API?

Yes. POST /documents with template_uuid and a tokens object containing placeholder values creates a document from a template. This supports dynamic contract and proposal generation from CRM or database data.

### How do I send a document for signature via the PandaDoc API?

After creating a document, call POST /documents/{id}/send with recipients, subject, and optional message. Recipients receive an email with a signing link, and status updates are tracked via webhooks or polling.

### Does the PandaDoc API support webhooks?

Yes. POST /webhooks/subscriptions with event types like 'document_state_changed' and a callback URL enables real-time notifications for document status changes, signature completions, and form field updates.

### Is the PandaDoc API free?

PandaDoc offers a sandbox environment for testing on Enterprise plans. Production API access is included with Business and Enterprise plans. Rate limits and features vary by plan tier. Check pandadoc.com/pricing for details.

### Can I upload a PDF and send it for signature?

Yes. POST /documents with a multipart file upload allows you to upload a local PDF, configure recipients and fields, then send for signature. This supports PDFs that do not originate from PandaDoc templates.

### Can I limit what my agent is allowed to do with the PandaDoc API?

Yes. Jentic One runs self-hosted, so your own rules decide which PandaDoc operations the agent may call, meaning read-only actions like GET /documents/{id} can be allowed while POST /documents/{id}/send stays off until you approve it. Because PandaDoc puts the document id in the URL path, such as /documents/{id}/send, a rule can pin the agent to a specific document rather than every document in the account. Your API key is held by your own instance and injected only for the operations you permit, so the agent cannot send a document for signature unless you add that operation.
