PandaDoc Node.js SDK

6.2.0 · active · verified Sun Apr 19

The `pandadoc-node-client` is the official Node.js SDK for interacting with the PandaDoc API. It provides a comprehensive set of functionalities to programmatically manage documents, templates, content library items, webhooks, and other core PandaDoc resources directly from a Node.js environment. The current stable major version is 6.2.0, with version 7.x actively under development in release candidate stages, which introduces significant new features like a Content Library API and improved document section management. The SDK is generated to align with the PandaDoc OpenAPI Specification, ensuring it remains up-to-date with underlying API changes. Its release cadence is primarily driven by API updates and the introduction of new platform features rather than a fixed schedule. As an official SDK, it offers a reliable, type-safe experience for TypeScript users, providing robust auto-completion and compile-time checks, positioning it as a well-supported integration tool.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates initializing the PandaDoc client with an API key and fetching a list of existing documents.

import { Configuration, DocumentsApi } from 'pandadoc-node-client';

const PANDADOC_API_KEY = process.env.PANDADOC_API_KEY ?? '';

async function listPandaDocDocuments() {
  if (!PANDADOC_API_KEY) {
    console.error('PANDADOC_API_KEY environment variable is not set.');
    process.exit(1);
  }

  const config = new Configuration({
    apiKey: PANDADOC_API_KEY,
    basePath: 'https://api.pandadoc.com'
  });

  const documentsApi = new DocumentsApi(config);

  try {
    console.log('Fetching PandaDoc documents...');
    const response = await documentsApi.listDocuments();
    console.log(`Successfully retrieved ${response.results?.length ?? 0} documents.`);
    if (response.results && response.results.length > 0) {
      console.log('First document ID:', response.results[0].id);
      console.log('First document Name:', response.results[0].name);
    }
    return response.results;
  } catch (error) {
    console.error('Failed to fetch documents:', error);
    if (error.response?.data) {
      console.error('API Error Details:', error.response.data);
    }
    throw error;
  }
}

listPandaDocDocuments();

view raw JSON →