Understanding Document Creation Methods
Compare the three ways to create PandaDoc documents via API and choose the right approach for your integration.
Overview
The PandaDoc API offers three methods to create documents. Each method has different capabilities depending on where your source content lives and what features you need. Understanding these differences helps you choose the right approach for your integration.
Comparison
| Feature | From Template | From Public URL | From File Upload |
|---|---|---|---|
| Primary use | Manage editable templates in PandaDoc | Manage templates externally (Word, Acrobat, custom app) | Manage templates externally (Word, Acrobat, custom app) |
| Source | PandaDoc template | PDF at a publicly accessible URL | Local PDF, DocX, or RTF file |
| Fields | Yes | Yes | Yes |
| Variables (tokens) | Yes | No | No |
| Content placeholders | Yes | No | No |
| Tables | Yes | No | No |
| Pricing tables | Yes | No | No |
| Images | Yes | No | No |
| Editable in PandaDoc | Yes | Partial* | Partial* |
*Fields can be arranged but document content cannot be edited.
When to use each method
From Template
Use when you want the richest feature set: variables, content placeholders, pricing tables, images, and full editing in PandaDoc. Templates are created and maintained in the PandaDoc web app, and your API integration populates them with dynamic data at creation time.
This method is also significantly faster than file-based creation because PandaDoc doesn't need to download, parse, and convert an external file.
Best for: recurring documents with consistent structure (contracts, proposals, quotes).
From Public URL
Use when your PDF is generated or stored externally and accessible via URL. This avoids uploading a file with each request -- PandaDoc downloads it directly. You can still use native PDF form fields or field tags for interactive elements.
Best for: PDFs generated by another system (CRM, billing platform) and hosted on S3, a CDN, or a web server.
From File Upload
Use when you have a local file that isn't publicly accessible. You upload the file as multipart/form-data with each request. Supports PDF, DocX, and RTF. Like the URL method, you can use form fields or field tags.
Best for: files generated on-the-fly or stored in a private system without public URLs.
Key considerations
- All three methods are asynchronous. The document starts in
document.uploadedstatus and transitions todocument.draftwhen ready. See Understanding Asynchronous Document Creation. - Form fields and field tags work with all three methods for adding interactive elements. See How to Use Native PDF Form Fields and How to Add Field Tags to Documents.
- File uploads are not stored. Unlike templates, files uploaded via URL or multipart are not saved in your PandaDoc account -- you must provide them with every request.
Related
Updated about 12 hours ago