Ever wanted to add or remove a recipient, edit a recipient's personal details, or reassign fields to another signer after sending a document? It's all possible now through our API. Explore the Manage Document Recipients to get even more eSigning flexibility.

We have added 4 new endpoints that allow you to manage recipients in any document status, not just Draft, like the Update Document endpoint does.

  • Add CC Recipient – use this endpoint to add a CC recipient to a document. You can add now a CC recipient even when the document is completed.
  • Remove Recipient – use this endpoint to remove a recipient from a document. Once a CC recipient is removed, their access will be revoked.
  • Edit Recipient – use this endpoint to edit a recipient's personal details. This is useful when you want to fix typos or update a recipient's name, email, or other information.
  • Change Signer – use this endpoint to reassign fields from one signer to another one. This is useful when a recipient is designated to perform the signing on behalf of their business changes or you need to replace a signer with another one due to other reasons.

Field Tags for Radio Buttons

by Maryia Yermakovich

You can now assign field tags to radio buttons when creating a document from file. Note that you must you use the field tags in the file, not the request body, and be mindful of the limitations.

Update Document

by Yurii Losinets

We're thrilled to announce that PandaDoc API starting to support Update Document.

Here are what exactly you can update in the already existing document (draft status only):

  • Recipients - update already existing recipient (email, first name, last name) using recipient ID from Document Details or add new recipients in CC
  • Tags - add new tags
  • Tokens (variables) - update already existing tokens or add new tokens
  • Fields - update field values
  • Metadata - update already existing metadata or add new metadata
  • Pricing table - replace pricing table items with new ones and update the pricing table configuration
{
     "recipients": [
          {
               "id": "MiySpPNiyhhmFXnDDrrawC",
               "email": "[email protected]",
               "first_name": "New",
               "last_name": "Recipient"
          }
     ],
     "tokens": [
          {
               "name": "Favorite.Pet",
               "value": "New Panda"
          }
     ],
     "fields": {
          "Favorite.Color": {
               "value": "PandaDoc red"
          },
          "Delivery": {
               "value": "Pick Up"
          },
          "Like": {
               "value": false
          },
          "Date": {
               "value": "2022-08-24T00:00:00.000Z"
          }
     },
     "metadata": {
          "my_favorite_pet": "New Panda"
     },
     "tags": [
          "created_via_api",
          "test_document"
     ],
     "pricing_tables": [
          {
               "name": "Pricing Table 1",
               "data_merge": true,
               "options": {
                    "Tax": {
                         "is_global": true,
                         "type": "absolute",
                         "name": "Tax",
                         "value": 11
                    }
               },
               "sections": [
                    {
                         "title": "Sample Section",
                         "default": true,
                         "rows": [
                              {
                                   "options": {
                                        "optional": true,
                                        "optional_selected": true,
                                        "qty_editable": true
                                   },
                                   "data": {
                                        "Name": "New Toy Panda",
                                        "Description": "New Fluffy!",
                                        "Price": 11,
                                        "QTY": 4,
                                        "Tax": {
                                             "value": 21,
                                             "type": "percent"
                                        }
                                   },
                                   "custom_fields": {
                                        "Fluffiness": "4 / 5"
                                   }
                              }
                         ]
                    }
               ]
          }
     ]
}

204 - Result

We've improved our Send a Document request by adding the possibility to set a sender. You can set a sender with an email address or membership_id.

{
  "sender":{
    "membership_id":"QMDSzwabfFzTgjW6KijHyu"
  },
  "message": "Hello! This document was sent from the PandaDoc API.",
  "subject": "Please check this test API document from PandaDoc",
  "silent": false
}
{
  "sender":{
    "email":"[email protected]"
  },
  "message": "Hello! This document was sent from the PandaDoc API.",
  "subject": "Please check this test API document from PandaDoc",
  "silent": false
}

Link Service

by Yurii Losinets

We've improved our Link to CRM and from now on it's called Link Service. The main difference is the possibility to link your documents to any provider/entity type.

Webhooks

by Maryia Yermakovich

We've added new endpoints for webhooks actions. With webhooks, your integration can subscribe to the events happening in PandaDoc. You can list your subscriptions and events, as well as manage (create, read, update, and delete) individual subscriptions.

Shared Links

by Yurii Losinets

Please be informed that we've added shared links for each recipient to Send Document, Document Details, and On Document Status Change responses.

Now you don't need to send documents via email ("silent": true) to provide all functionality of the recipient's view.

"recipients": [
        {
            "id": 118590764,
            "first_name": "Josh",
            "last_name": "Ron",
            "email": "[email protected]",
            "recipient_type": "signer",
            "signing_order": null,
            "shared_link": "https://app.pandadoc.com/document/f7ea21ae675b1712db7b942da65de3b828a4a43c"
        }
    ]

We're pleased to announce that we've delivered data merge feature for pricing tables via API. Now you can work with pricing tables via API in a more flexible way and prefill all types of columns.

Frequently, our customers need to name columns in the pricing table according to names in their system and that's where data merge may help. The data merge feature is available by default and the only thing you need to do is enable it in API as well.

Here is how you can check what names your columns have with the data merge feature by default and change them.

2868

Template -> Pricing Table Settings -> Set up data merge

1900

Column names for API are presented on the left

To use these column names instead of default ones you need to add the data_merge boolean parameter as true (false by default) into the pricing table object of the Create Document from PandaDoc Template request body and use them in the data section.

"pricing_tables": [
        {
            "name": "Pricing Table 1",
            "data_merge":true,
            "options": {
                "discount": {
                    "type": "absolute",
                    "name": "Discount",
                    "value": 2.26
                }
            },
            "sections": [
                {
                    "title": "Sample Section",
                    "default": true,
                    "rows": [
                        {
                            "options": {
                                "optional": true,
                                "optional_selected": true,
                                "qty_editable": true
                            },
                            "data": {
                                "Name": "Toy Panda",
                                "Description": "Fluffy!",
                                "Price": 10,
                                "QTY": 3,
                                "SKU":"TEST1",
                                "Tax": {
                                    "value": 7.5,
                                    "type": "percent"
                                },
                                "CustomText":"testcolumn"
                            },
                            "custom_fields": {
                                "Fluffiness": "5 / 5"
                            }
                        }
                    ]
                }
            ]
        }
    ]

As a result, all values from the document creation request will be properly matched with columns in the pricing table of the newly created document.

2854

Document -> Pricing Table

For more information on how to add and set your pricing table, visit our help center. You will also discover ways your recipients can interact with the pricing table. This is a fun feature you’ll want to explore more!