Authenticate with an API key (set as Authorization: API-Key <key> header) or OAuth 2.0 Bearer token.
POST to /public/v1/documents with content_placeholders and tokens arrays referencing your template_uuid, and a recipients array with each recipient's email, first_name, last_name, and role.
Poll GET /public/v1/documents/{id} until status transitions from document.uploaded to document.draft, indicating the document has been built.
POST to /public/v1/documents/{id}/send with a message and subject to dispatch email notifications to all recipients.
Use GET /public/v1/documents/{id}/download to retrieve the signed PDF once status reaches document.completed.
Known gotchas
Document creation is asynchronous; attempting to send before status reaches document.draft returns a 409 conflict error.
Token field names in the API call must match the token variable names configured inside the PandaDoc template, including underscores and casing.
Sandbox (API sandbox environment) documents are watermarked; switch to the production API key for real sends.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp