PandaDoc · Capability

PandaDoc REST API

The PandaDoc REST API provides programmatic access to PandaDoc's document automation platform, enabling developers to create, send, track, and manage documents within their own applications. The API supports the full document lifecycle including generating documents from templates with dynamic data, collecting e-signatures, managing recipients, and tracking document status. Authentication is handled via API keys or OAuth 2.0, and a free sandbox environment is available for testing integrations before moving to production. An active Enterprise plan is required to access the production API.

Run with Naftiko PandadocAPI

What You Can Do

GET
Listdocuments — List Documents
/documents
POST
Createdocument — Create Document
/documents
GET
Getdocumentdetails — Get Document Details
/documents/{id}
DELETE
Deletedocument — Delete Document
/documents/{id}
GET
Getdocumentstatus — Get Document Status
/documents/{id}/status
POST
Senddocument — Send Document
/documents/{id}/send
GET
Downloaddocument — Download Document
/documents/{id}/download
POST
Createdocumentsession — Create Document Session
/documents/{id}/session
GET
Listdocumentrecipients — List Document Recipients
/documents/{id}/recipients
POST
Adddocumentrecipient — Add Document Recipient
/documents/{id}/recipients
PATCH
Updatedocumentrecipient — Update Document Recipient
/documents/{id}/recipients/{recipient_id}
DELETE
Deletedocumentrecipient — Delete Document Recipient
/documents/{id}/recipients/{recipient_id}
GET
Listdocumentfields — List Document Fields
/documents/{id}/fields
PATCH
Updatedocumentfields — Update Document Fields
/documents/{id}/fields
GET
Listdocumentattachments — List Document Attachments
/documents/{id}/attachments
GET
Downloaddocumentattachment — Download Document Attachment
/documents/{id}/attachments/{attachment_id}/download
GET
Getdocumentautoreminders — Get Document Auto-Reminders
/documents/{document_id}/auto-reminders
GET
Listlinkedobjects — List Linked Objects
/documents/linked-objects
GET
Listtemplates — List Templates
/templates
GET
Gettemplatedetails — Get Template Details
/templates/{id}/details
DELETE
Deletetemplate — Delete Template
/templates/{id}
GET
Listforms — List Forms
/forms
GET
Listdocumentfolders — List Document Folders
/documents/folders
POST
Createdocumentfolder — Create Document Folder
/documents/folders
GET
Listcontacts — List Contacts
/contacts
POST
Createcontact — Create Contact
/contacts
GET
Getcontact — Get Contact
/contacts/{id}
PATCH
Updatecontact — Update Contact
/contacts/{id}
DELETE
Deletecontact — Delete Contact
/contacts/{id}
GET
Listmembers — List Members
/members
GET
Getcurrentmember — Get Current Member
/members/current
GET
Getmember — Get Member
/members/{id}
GET
Listwebhooksubscriptions — List Webhook Subscriptions
/webhook-subscriptions
POST
Createwebhooksubscription — Create Webhook Subscription
/webhook-subscriptions
GET
Getwebhooksubscription — Get Webhook Subscription
/webhook-subscriptions/{id}
PATCH
Updatewebhooksubscription — Update Webhook Subscription
/webhook-subscriptions/{id}
DELETE
Deletewebhooksubscription — Delete Webhook Subscription
/webhook-subscriptions/{id}
PATCH
Updatewebhooksubscriptionsharedkey — Regenerate Webhook Shared Key
/webhook-subscriptions/{id}/shared-key
GET
Listwebhookevents — List Webhook Events
/webhook-events
GET
Getwebhookevent — Get Webhook Event Details
/webhook-events/{id}
GET
Listapilogs — List API Logs
/logs
GET
Listworkspaces — List Workspaces
/workspaces
POST
Createworkspace — Create Workspace
/workspaces

MCP Tools

listdocuments

List Documents

read-only idempotent
createdocument

Create Document

getdocumentdetails

Get Document Details

read-only idempotent
deletedocument

Delete Document

idempotent
getdocumentstatus

Get Document Status

read-only idempotent
senddocument

Send Document

downloaddocument

Download Document

read-only idempotent
createdocumentsession

Create Document Session

listdocumentrecipients

List Document Recipients

read-only idempotent
adddocumentrecipient

Add Document Recipient

updatedocumentrecipient

Update Document Recipient

deletedocumentrecipient

Delete Document Recipient

idempotent
listdocumentfields

List Document Fields

read-only idempotent
updatedocumentfields

Update Document Fields

listdocumentattachments

List Document Attachments

read-only idempotent
downloaddocumentattachment

Download Document Attachment

read-only idempotent
getdocumentautoreminders

Get Document Auto-Reminders

read-only idempotent
listlinkedobjects

List Linked Objects

read-only idempotent
listtemplates

List Templates

read-only idempotent
gettemplatedetails

Get Template Details

read-only idempotent
deletetemplate

Delete Template

idempotent
listforms

List Forms

read-only idempotent
listdocumentfolders

List Document Folders

read-only idempotent
createdocumentfolder

Create Document Folder

listcontacts

List Contacts

read-only idempotent
createcontact

Create Contact

getcontact

Get Contact

read-only idempotent
updatecontact

Update Contact

deletecontact

Delete Contact

idempotent
listmembers

List Members

read-only idempotent
getcurrentmember

Get Current Member

read-only idempotent
getmember

Get Member

read-only idempotent
listwebhooksubscriptions

List Webhook Subscriptions

read-only idempotent
createwebhooksubscription

Create Webhook Subscription

getwebhooksubscription

Get Webhook Subscription

read-only idempotent
updatewebhooksubscription

Update Webhook Subscription

deletewebhooksubscription

Delete Webhook Subscription

idempotent
updatewebhooksubscriptionsharedkey

Regenerate Webhook Shared Key

listwebhookevents

List Webhook Events

read-only idempotent
getwebhookevent

Get Webhook Event Details

read-only idempotent
listapilogs

List API Logs

read-only idempotent
listworkspaces

List Workspaces

read-only idempotent
createworkspace

Create Workspace

Capability Spec

pandadoc-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PandaDoc REST API
  description: The PandaDoc REST API provides programmatic access to PandaDoc's document automation platform, enabling developers
    to create, send, track, and manage documents within their own applications. The API supports the full document lifecycle
    including generating documents from templates with dynamic data, collecting e-signatures, managing recipients, and tracking
    document status. Authentication is handled via API keys or OAuth 2.0, and a free sandbox environment is available for
    testing integrations before moving to production. An active Enterprise plan is required to access the production API.
  tags:
  - Pandadoc
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: pandadoc
    baseUri: https://api.pandadoc.com/public/v1
    description: PandaDoc REST API HTTP API.
    authentication:
      type: apikey
      in: header
      name: Authorization
      value: '{{PANDADOC_TOKEN}}'
    resources:
    - name: documents
      path: /documents
      operations:
      - name: listdocuments
        method: GET
        description: List Documents
        inputParameters:
        - name: template_id
          in: query
          type: string
          description: Filter by the parent template identifier.
        - name: form_id
          in: query
          type: string
          description: Filter by the parent form identifier.
        - name: folder_uuid
          in: query
          type: string
          description: Filter by the folder where documents are stored.
        - name: contact_id
          in: query
          type: string
          description: Filter by recipient or approver contact identifier.
        - name: status
          in: query
          type: string
          description: Filter by document status.
        - name: tag
          in: query
          type: string
          description: Filter by document tag (exact match).
        - name: q
          in: query
          type: string
          description: Search by document name substring.
        - name: id
          in: query
          type: string
          description: Filter by a specific document identifier.
        - name: owner_id
          in: query
          type: string
          description: Filter by the document owner member identifier.
        - name: order_by
          in: query
          type: string
          description: Sort field for results.
        - name: asc
          in: query
          type: boolean
          description: Set to true for ascending order, false for descending.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdocument
        method: POST
        description: Create Document
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id
      path: /documents/{id}
      operations:
      - name: getdocumentdetails
        method: GET
        description: Get Document Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedocument
        method: DELETE
        description: Delete Document
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-status
      path: /documents/{id}/status
      operations:
      - name: getdocumentstatus
        method: GET
        description: Get Document Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-send
      path: /documents/{id}/send
      operations:
      - name: senddocument
        method: POST
        description: Send Document
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-download
      path: /documents/{id}/download
      operations:
      - name: downloaddocument
        method: GET
        description: Download Document
        inputParameters:
        - name: watermark_color
          in: query
          type: string
          description: Hex color code for watermark text applied to the downloaded PDF.
        - name: watermark_font_size
          in: query
          type: integer
          description: Font size for watermark text in points.
        - name: watermark_opacity
          in: query
          type: number
          description: Opacity of the watermark from 0.0 to 1.0.
        - name: watermark_text
          in: query
          type: string
          description: Text to render as a watermark on every page of the PDF.
        - name: separate_files
          in: query
          type: boolean
          description: If true, returns a ZIP archive containing each document section as a separate PDF file.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-session
      path: /documents/{id}/session
      operations:
      - name: createdocumentsession
        method: POST
        description: Create Document Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-recipients
      path: /documents/{id}/recipients
      operations:
      - name: listdocumentrecipients
        method: GET
        description: List Document Recipients
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: adddocumentrecipient
        method: POST
        description: Add Document Recipient
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-recipients-recipient-id
      path: /documents/{id}/recipients/{recipient_id}
      operations:
      - name: updatedocumentrecipient
        method: PATCH
        description: Update Document Recipient
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedocumentrecipient
        method: DELETE
        description: Delete Document Recipient
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-fields
      path: /documents/{id}/fields
      operations:
      - name: listdocumentfields
        method: GET
        description: List Document Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatedocumentfields
        method: PATCH
        description: Update Document Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-attachments
      path: /documents/{id}/attachments
      operations:
      - name: listdocumentattachments
        method: GET
        description: List Document Attachments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-id-attachments-attachment-id-download
      path: /documents/{id}/attachments/{attachment_id}/download
      operations:
      - name: downloaddocumentattachment
        method: GET
        description: Download Document Attachment
        inputParameters:
        - name: attachment_id
          in: path
          type: string
          required: true
          description: Unique identifier of the document attachment.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-document-id-auto-reminders
      path: /documents/{document_id}/auto-reminders
      operations:
      - name: getdocumentautoreminders
        method: GET
        description: Get Document Auto-Reminders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-linked-objects
      path: /documents/linked-objects
      operations:
      - name: listlinkedobjects
        method: GET
        description: List Linked Objects
        inputParameters:
        - name: provider
          in: query
          type: string
          required: true
          description: CRM provider name (e.g., salesforce, hubspot).
        - name: entity_type
          in: query
          type: string
          required: true
          description: CRM entity type (e.g., contact, deal, account).
        - name: entity_id
          in: query
          type: string
          required: true
          description: Unique identifier of the CRM entity.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: templates
      path: /templates
      operations:
      - name: listtemplates
        method: GET
        description: List Templates
        inputParameters:
        - name: q
          in: query
          type: string
          description: Search by template name substring.
        - name: tag
          in: query
          type: string
          description: Filter by template tag (exact match).
        - name: folder_uuid
          in: query
          type: string
          description: Filter by folder identifier.
        - name: deleted
          in: query
          type: boolean
          description: If true, include deleted templates in the results.
        - name: id
          in: query
          type: string
          description: Filter by specific template identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: templates-id-details
      path: /templates/{id}/details
      operations:
      - name: gettemplatedetails
        method: GET
        description: Get Template Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: templates-id
      path: /templates/{id}
      operations:
      - name: deletetemplate
        method: DELETE
        description: Delete Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: forms
      path: /forms
      operations:
      - name: listforms
        method: GET
        description: List Forms
        inputParameters:
        - name: name
          in: query
          type: string
          description: Filter forms by name substring.
        - name: status
          in: query
          type: string
          description: Filter forms by status.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: documents-folders
      path: /documents/folders
      operations:
      - name: listdocumentfolders
        method: GET
        description: List Document Folders
        inputParameters:
        - name: parent_uuid
          in: query
          type: string
          description: Filter by parent folder UUID to retrieve sub-folders. Omit to retrieve root-level folders.
        - name: name
          in: query
          type: string
          description: Filter folders by name substring.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdocumentfolder
        method: POST
        description: Create Document Folder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts
      path: /contacts
      operations:
      - name: listcontacts
        method: GET
        description: List Contacts
        inputParameters:
        - name: q
          in: query
          type: string
          description: Search contacts by name, email, or company substring.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontact
        method: POST
        description: Create Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-id
      path: /contacts/{id}
      operations:
      - name: getcontact
        method: GET
        description: Get Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecontact
        method: PATCH
        description: Update Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecontact
        method: DELETE
        description: Delete Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: members
      path: /members
      operations:
      - name: listmembers
        method: GET
        description: List Members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: members-current
      path: /members/current
      operations:
      - name: getcurrentmember
        method: GET
        description: Get Current Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: members-id
      path: /members/{id}
      operations:
      - name: getmember
        method: GET
        description: Get Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhook-subscriptions
      path: /webhook-subscriptions
      operations:
      - name: listwebhooksubscriptions
        method: GET
        description: List Webhook Subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createwebhooksubscription
        method: POST
        description: Create Webhook Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhook-subscriptions-id
      path: /webhook-subscriptions/{id}
      operations:
      - name: getwebhooksubscription
        method: GET
        description: Get Webhook Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatewebhooksubscription
        method: PATCH
        description: Update Webhook Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletewebhooksubscription
        method: DELETE
        description: Delete Webhook Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhook-subscriptions-id-shared-key
      path: /webhook-subscriptions/{id}/shared-key
      operations:
      - name: updatewebhooksubscriptionsharedkey
        method: PATCH
        description: Regenerate Webhook Shared Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhook-events
      path: /webhook-events
      operations:
      - name: listwebhookevents
        method: GET
        description: List Webhook Events
        inputParameters:
        - name: count
          in: query
          type: integer
          required: true
          description: Number of results to return per page.
        - name: page
          in: query
          type: integer
          required: true
          description: Page number to retrieve.
        - name: since
          in: query
          type: string
          description: Return events created on or after this timestamp.
        - name: to
          in: query
          type: string
          description: Return events created before this timestamp.
        - name: type
          in: query
          type: array
          description: Filter by event trigger type.
        - name: http_status_code
          in: query
          type: array
          description: Filter by HTTP response status code group.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhook-events-id
      path: /webhook-events/{id}
      operations:
      - name: getwebhookevent
        method: GET
        description: Get Webhook Event Details
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: Unique identifier of the webhook event.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: logs
      path: /logs
      operations:
      - name: listapilogs
        method: GET
        description: List API Logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces
      path: /workspaces
      operations:
      - name: listworkspaces
        method: GET
        description: List Workspaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createworkspace
        method: POST
        description: Create Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: pandadoc-rest
    description: REST adapter for PandaDoc REST API.
    resources:
    - path: /documents
      name: listdocuments
      operations:
      - method: GET
        name: listdocuments
        description: List Documents
        call: pandadoc.listdocuments
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents
      name: createdocument
      operations:
      - method: POST
        name: createdocument
        description: Create Document
        call: pandadoc.createdocument
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}
      name: getdocumentdetails
      operations:
      - method: GET
        name: getdocumentdetails
        description: Get Document Details
        call: pandadoc.getdocumentdetails
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}
      name: deletedocument
      operations:
      - method: DELETE
        name: deletedocument
        description: Delete Document
        call: pandadoc.deletedocument
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/status
      name: getdocumentstatus
      operations:
      - method: GET
        name: getdocumentstatus
        description: Get Document Status
        call: pandadoc.getdocumentstatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/send
      name: senddocument
      operations:
      - method: POST
        name: senddocument
        description: Send Document
        call: pandadoc.senddocument
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/download
      name: downloaddocument
      operations:
      - method: GET
        name: downloaddocument
        description: Download Document
        call: pandadoc.downloaddocument
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/session
      name: createdocumentsession
      operations:
      - method: POST
        name: createdocumentsession
        description: Create Document Session
        call: pandadoc.createdocumentsession
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/recipients
      name: listdocumentrecipients
      operations:
      - method: GET
        name: listdocumentrecipients
        description: List Document Recipients
        call: pandadoc.listdocumentrecipients
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/recipients
      name: adddocumentrecipient
      operations:
      - method: POST
        name: adddocumentrecipient
        description: Add Document Recipient
        call: pandadoc.adddocumentrecipient
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/recipients/{recipient_id}
      name: updatedocumentrecipient
      operations:
      - method: PATCH
        name: updatedocumentrecipient
        description: Update Document Recipient
        call: pandadoc.updatedocumentrecipient
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/recipients/{recipient_id}
      name: deletedocumentrecipient
      operations:
      - method: DELETE
        name: deletedocumentrecipient
        description: Delete Document Recipient
        call: pandadoc.deletedocumentrecipient
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/fields
      name: listdocumentfields
      operations:
      - method: GET
        name: listdocumentfields
        description: List Document Fields
        call: pandadoc.listdocumentfields
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/fields
      name: updatedocumentfields
      operations:
      - method: PATCH
        name: updatedocumentfields
        description: Update Document Fields
        call: pandadoc.updatedocumentfields
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/attachments
      name: listdocumentattachments
      operations:
      - method: GET
        name: listdocumentattachments
        description: List Document Attachments
        call: pandadoc.listdocumentattachments
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{id}/attachments/{attachment_id}/download
      name: downloaddocumentattachment
      operations:
      - method: GET
        name: downloaddocumentattachment
        description: Download Document Attachment
        call: pandadoc.downloaddocumentattachment
        with:
          attachment_id: rest.attachment_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/{document_id}/auto-reminders
      name: getdocumentautoreminders
      operations:
      - method: GET
        name: getdocumentautoreminders
        description: Get Document Auto-Reminders
        call: pandadoc.getdocumentautoreminders
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/linked-objects
      name: listlinkedobjects
      operations:
      - method: GET
        name: listlinkedobjects
        description: List Linked Objects
        call: pandadoc.listlinkedobjects
        outputParameters:
        - type: object
          mapping: $.
    - path: /templates
      name: listtemplates
      operations:
      - method: GET
        name: listtemplates
        description: List Templates
        call: pandadoc.listtemplates
        outputParameters:
        - type: object
          mapping: $.
    - path: /templates/{id}/details
      name: gettemplatedetails
      operations:
      - method: GET
        name: gettemplatedetails
        description: Get Template Details
        call: pandadoc.gettemplatedetails
        outputParameters:
        - type: object
          mapping: $.
    - path: /templates/{id}
      name: deletetemplate
      operations:
      - method: DELETE
        name: deletetemplate
        description: Delete Template
        call: pandadoc.deletetemplate
        outputParameters:
        - type: object
          mapping: $.
    - path: /forms
      name: listforms
      operations:
      - method: GET
        name: listforms
        description: List Forms
        call: pandadoc.listforms
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/folders
      name: listdocumentfolders
      operations:
      - method: GET
        name: listdocumentfolders
        description: List Document Folders
        call: pandadoc.listdocumentfolders
        outputParameters:
        - type: object
          mapping: $.
    - path: /documents/folders
      name: createdocumentfolder
      operations:
      - method: POST
        name: createdocumentfolder
        description: Create Document Folder
        call: pandadoc.createdocumentfolder
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: listcontacts
      operations:
      - method: GET
        name: listcontacts
        description: List Contacts
        call: pandadoc.listcontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: createcontact
      operations:
      - method: POST
        name: createcontact
        description: Create Contact
        call: pandadoc.createcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{id}
      name: getcontact
      operations:
      - method: GET
        name: getcontact
        description: Get Contact
        call: pandadoc.getcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{id}
      name: updatecontact
      operations:
      - method: PATCH
        name: updatecontact
        description: Update Contact
        call: pandadoc.updatecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{id}
      name: deletecontact
      operations:
      - method: DELETE
        name: deletecontact
        description: Delete Contact
        call: pandadoc.deletecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /members
      name: listmembers
      operations:
      - method: GET
        name: listmembers
        description: List Members
        call: pandadoc.listmembers
        outputParameters:
        - type: object
          mapping: $.
    - path: /members/current
      name: getcurrentmember
      operations:
      - method: GET
        name: getcurrentmember
        description: Get Current Member
        call: pandadoc.getcurrentmember
        outputParameters:
        - type: object
          mapping: $.
    - path: /members/{id}
      name: getmember
      operations:
      - method: GET
        name: getmember
        description: Get Member
        call: pandadoc.getmember
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions
      name: listwebhooksubscriptions
      operations:
      - method: GET
        name: listwebhooksubscriptions
        description: List Webhook Subscriptions
        call: pandadoc.listwebhooksubscriptions
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions
      name: createwebhooksubscription
      operations:
      - method: POST
        name: createwebhooksubscription
        description: Create Webhook Subscription
        call: pandadoc.createwebhooksubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions/{id}
      name: getwebhooksubscription
      operations:
      - method: GET
        name: getwebhooksubscription
        description: Get Webhook Subscription
        call: pandadoc.getwebhooksubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions/{id}
      name: updatewebhooksubscription
      operations:
      - method: PATCH
        name: updatewebhooksubscription
        description: Update Webhook Subscription
        call: pandadoc.updatewebhooksubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions/{id}
      name: deletewebhooksubscription
      operations:
      - method: DELETE
        name: deletewebhooksubscription
        description: Delete Webhook Subscription
        call: pandadoc.deletewebhooksubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-subscriptions/{id}/shared-key
      name: updatewebhooksubscriptionsharedkey
      operations:
      - method: PATCH
        name: updatewebhooksubscriptionsharedkey
        description: Regenerate Webhook Shared Key
        call: pandadoc.updatewebhooksubscriptionsharedkey
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-events
      name: listwebhookevents
      operations:
      - method: GET
        name: listwebhookevents
        description: List Webhook Events
        call: pandadoc.listwebhookevents
        outputParameters:
        - type: object
          mapping: $.
    - path: /webhook-events/{id}
      name: getwebhookevent
      operations:
      - method: GET
        name: getwebhookevent
        description: Get Webhook Event Details
        call: pandadoc.getwebhookevent
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /logs
      name: listapilogs
      operations:
      - method: GET
        name: listapilogs
        description: List API Logs
        call: pandadoc.listapilogs
        outputParameters:
        - type: object
          mapping: $.
    - path: /workspaces
      name: listworkspaces
      operations:
      - method: GET
        name: listworkspaces
        description: List Workspaces
        call: pandadoc.listworkspaces
        outputParameters:
        - type: object
          mapping: $.
    - path: /workspaces
      name: createworkspace
      operations:
      - method: POST
        name: createworkspace
        description: Create Workspace
        call: pandadoc.createworkspace
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: pandadoc-mcp
    transport: http
    description: MCP adapter for PandaDoc REST API for AI agent use.
    tools:
    - name: listdocuments
      description: List Documents
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pandadoc.listdocuments
      with:
        template_id: tools.template_id
        form_id: tools.form_id
        folder_uuid: tools.folder_uuid
        contact_id: tools.contact_id
        status: tools.status
        tag: tools.tag
        q: tools.q
        id: tools.id
        owner_id: tools.owner_id
        order_by: tools.order_by
        asc: tools.asc
      inputParameters:
      - name: template_id
        type: string
        description: Filter by the parent template identifier.
      - name: form_id
        type: string
        description: Filter by the parent form identifier.
      - name: folder_uuid
        type: string
        description: Filter by the folder where documents are stored.
      - name: contact_id
        type: string
        description: Filter by recipient or approver contact identifier.
      - name: status
        type: string
        description: Filter by document status.
      - name: tag
        type: string
        description: Filter by document tag (exact match).
      - name: q
        type: string
        description: Search by document name substring.
      - name: id
        type: string
        description: Filter by a specific document identifier.
      - name: owner_id
        type: string
        description: Filter by the document owner member identifier.
      - name: order_by
        type: string
        description: Sort field for results.
      - name: asc
        type: boolean
        description: Set to true for ascending order, false for descending.
      outp

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pandadoc/refs/heads/main/capabilities/pandadoc-capability.yaml