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

FeatureFrom TemplateFrom Public URLFrom File Upload
Primary useManage editable templates in PandaDocManage templates externally (Word, Acrobat, custom app)Manage templates externally (Word, Acrobat, custom app)
SourcePandaDoc templatePDF at a publicly accessible URLLocal PDF, DocX, or RTF file
FieldsYesYesYes
Variables (tokens)YesNoNo
Content placeholdersYesNoNo
TablesYesNoNo
Pricing tablesYesNoNo
ImagesYesNoNo
Editable in PandaDocYesPartial*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

Related