Document details endpoint and Webhooks now return document's expiration date.

API example:

{
    "id": "g2wE9fJikvJTPaeyYDe82J",
    ...
    "expiration_date": "2028-06-16T09:27:01.219415Z",
    "metadata": {},
    "tokens": [],
    ...
}

Webhook example:

[
  {
    "event": "document_state_changed",
    "data": {
      "id": "g2wE9fJikvJTPaeyYDe82J",
      "name": "Integration test",
      "date_created": "2018-08-08T11:39:56.871553Z",
      "date_modified": "2018-08-08T11:39:57.180209Z",
      "expiration_date": "2028-06-16T09:27:01.219415Z",
      ...
    }
  }
]

PandaDoc API allows creating documents from PDF.
There is 50 MB limit on file attachment size.

Now API returns a specific error in case of bigger files - HTTP status "413 Request entity too large".

JSON response example:

{
  "type": "request_error",
  "detail": "Attached file is too big. Maximum file size is 50 MB"
}

Document details endpoint and Webhooks now return information about document's Grand Total.

API example:

{
    ...
    "id": "WHT7fGF2QeWSTZEsg6un75",
    "grand_total": {
        "amount": "29.99",
        "currency": "USD"
    },
    ...
}

Webhook example:

{
    "data": {
        ...
        "id": "WHT7fGF2QeWSTZEsg6un75",
        "grand_total": {
        "amount": "29.99",
        "currency": "USD"
        },
        ...
    },
    "event": "document_state_changed"
}

PandaDoc API and Webhooks now return information about document's expiration date.

Please, take a note that the expiration date may be null as this property only makes sense for documents in Sent, Viewed, Waiting for Payment, and Paid statuses.

List of endpoints that return expiration date:

  1. Create document. The expiration date will always be null here as there is no expiration date for documents in Uploaded and Draft.
  2. Document status.
  3. Document details.
  4. Send document.

API example:

{
    "id": "dvEnR6iJ8pVSEssbQoEshT",
    "name": "API Sample Document from PandaDoc Template",
    "status": "document.waiting_approval",
    "date_created": "2018-06-18T12:07:17.721482Z",
    "date_modified": "2018-06-18T12:07:46.108405Z",
    "expiration_date": null,
    "uuid": "dvEnR6iJ8pVSEssbQoEshT"
}

Webhook example:

{
    "data": {
        ...
        "date_created": "2018-06-18T12:06:54.389089Z",
        "date_modified": "2018-06-18T12:31:24.920614Z",
        "expiration_date": "2018-08-17T12:31:24.833779Z",
        ...
    },
    "event": "document_state_changed"
}

Our API Reference documentation now contains the list of (limitations):

  1. Request size is limited to 2.5 MB.
  2. The number of API requests per minute may be limited by PandaDoc.
  3. Webhook subscription may be deactivated if a significant number of consequent requests to endpoint URL ends up with HTTP 4xx and 5xx responses.

PandaDoc API (Document Details endpoint) and Webhooks now returns information about optional line items.

Both optional and exclusive items (Multiple Choice Selection) are supported. You can find additional info about them here: https://support.pandadoc.com/hc/en-us/articles/360049576814-Pricing-table-2-0-Optional-items-and-editable-quantity.

"items": [
    {
        "id": "QpjVZugmvZGtDtJuCchLsc",
        "sku": "001",
        "qty": 1,
        "name": "Painting",
        "cost": "450",
        "price": "500",
        "description": "A painting",
        "custom_fields": {
            "custom": "custom text"
        },
        "custom_columns": {},
        "subtotal": "500",
        "options": {
            "optional": true,
            "optional_selected": true,
            "multichoice_enabled": false
        }
    },
    {
        "id": "Bgf9UuwPZ9gSojgaGUh6rE",
        "sku": "002",
        "qty": 3,
        "name": "Basket",
        "cost": "85",
        "price": "100",
        "description": "A basket",
        "custom_fields": {},
        "custom_columns": {},
        "subtotal": "300",
        "options": {
            "optional": true,
            "optional_selected": false,
            "multichoice_enabled": false
        }
    }
]
"items": [
    {
        "id": "QpjVZugmvZGtDtJuCchLsc",
        "sku": "001",
        "qty": 1,
        "name": "Painting",
        "cost": "450",
        "price": "500",
        "description": "A painting",
        "custom_fields": {
            "custom": "custom text"
        },
        "custom_columns": {},
        "subtotal": "500",
        "options": {
            "optional": false,
            "multichoice_enabled": true,
            "multichoice_selected": true
        }
    },
    {
        "id": "Bgf9UuwPZ9gSojgaGUh6rE",
        "sku": "002",
        "qty": 3,
        "name": "Basket",
        "cost": "85",
        "price": "100",
        "description": "A basket",
        "custom_fields": {},
        "custom_columns": {},
        "subtotal": "300",
        "options": {
            "optional": false,
            "multichoice_enabled": true,
            "multichoice_selected": false
        }
    }
]

PandaDoc API (Document Details endpoint) and Webhooks now return information about line item taxes.

"pricing": {
    "tables": [
        {
            "id": "pxD8Z2NHnwvYT449Lxy3wN",
            "name": "PricingTable1",
            "total": "33.0000000000",
            "is_included_in_total": true,
            "summary": {
                "subtotal": "33.00",
                "total": "33.00",
                "discount": "0",
                "tax": "0"
            },
            "items": [
                {
                    "qty": 3,
                    "name": "Toy Panda",
                    "cost": "0",
                    "price": "10",
                    "description": "Fluffy!",
                    "custom_fields": {
                        "Fluffiness": "5 / 5"
                    },
                    "custom_columns": {
                        "Fluffiness": ""
                    },
                    "tax_first": {
                        "value": "10",
                        "type": "percent"
                    },
                    "subtotal": "33.00"
                }
            ]
        }
    ],
    "total": "33.0000000000"
}

We’d like to inform you that preparations are being made to disable the use of TLS 1.0 encryption protocol. This is part of our constant security improvements.
TLS 1.0 is being depreciated on June 30th 2018 and will no longer be PCI compliant. PandaDoc and our partners such as Salesforce are removing TLS 1.0 in preparation for this event.

❗️

Unexpected behavior of API

If you see any strange behaviour with our API, it most likely means that your integration is impacted and you need to update it and enable TLS 1.1 or greater support.
This article by Salesforce provides great details on how your integration can be impacted (language dependencies, version of web browsers, version of libraries that used in your integration) and steps how you can fix it.

What can be affected

Browser

Versions

Internet Explorer

7 and below

Firefox

22 and below

Google Chrome

21 and below

Android

4.3 (Jelly Bean) OS Browser and below

Safari

6 and below

Language

Versions

Java

6

.Net

3.5 and below

Python

2.7.8 and below

Ruby

1.9.3 and below

More information can be found here.