PandaDoc API

Varies by plan (check documentation)

Overview

PandaDoc API lets you create, send, and track documents and e-signature requests programmatically. You can generate proposals, contracts, and quotes by merging templates with dynamic data, then track their status in real time. It is commonly used by sales teams to automate document workflows.

💡

Beginner Tip

PandaDoc uses a sandbox environment (api.pandadoc.com with a test API key) where you can create and sign documents without real recipients — start there to understand the document lifecycle before going live.

Available Data

Use case: Integrate docgen and esignatures api data into web and mobile applications
PandaDoc data via REST API
JSON-formatted response data
Requires API key authentication

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from PandaDoc",
    "description": "DocGen and eSignatures API",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

id Unique identifier for the document.
name Human-readable name of the document.
status Current state of the document: draft, sent, viewed, waiting_approval, approved, rejected, or completed.
date_created ISO 8601 timestamp of when the document was created.
recipients List of recipient objects with their signing status and email.

Implementation Example

const url = "https://developers.pandadoc.com/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized The Authorization header format is wrong — PandaDoc expects "API-Key YOUR_KEY" not "Bearer YOUR_KEY".
Use the header Authorization: API-Key YOUR_API_KEY exactly as shown in the PandaDoc documentation.
400 on document creation The recipients array is missing or email addresses are not valid.
Ensure every recipient object includes both a first_name and email field in the request body.
Document stuck in draft The document was created but not sent, so it remains in draft status indefinitely.
Call POST /documents/{id}/send after creation to move the document to sent status.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 10/20
🔒 Security 15/15
🛠 Developer XP 9/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS NO
Difficulty Intermediate
Verified: 2026-04-04

Similar APIs

View All →