Added
Enhanced quote update functionality with new summary fields, allowing you to include overall and section-specific summary details when updating a quote.
PUT /public/v1/documents/{document_id}/quotes/{quote_id}
- added the new optional request property 'sections/items/summary'
- added the new optional request property 'summary'
Added
Added endpoints to retrieve API logs: list all logs or fetch a single log by ID for auditing and debugging.
GET /public/v2/logs
- endpoint added
GET /public/v2/logs/{id}
- endpoint added
Deprecated
The /public/v1/logs and /public/v1/logs/{id} endpoints have been deprecated. Please update your integrations to use alternative methods for accessing log data before the sunset date.
GET /public/v1/logs
- endpoint deprecated
GET /public/v1/logs/{id}
- endpoint deprecated
Full Changelog: https://github.com/PandaDoc/pandadoc-openapi-specification/compare/v7.16.2...v7.17.0
Added
Document details now include approval execution info, folder UUID, and document version.
GET /public/v1/documents/{id}/details
- added the optional property 'approval_execution' to the response with the '200' status
- added the optional property 'folder_uuid' to the response with the '200' status
- added the optional property 'version' to the response with the '200' status
Changed
Send-reminder email customization now supports longer subject lines (up to 300 characters instead of 78) in both the request and the response.
POST /public/v1/documents/{document_id}/send-reminder
- the 'result/items/email_customization/subject' response property's maxLength was increased from '78' to '300' for the response status '200'
- the 'reminders/items/email_customization/subject' request property's maxLength was increased from '78' to '300'
Document details: the text field merge field can now be null.
GET /public/v1/documents/{id}/details
- the response property 'fields/items/anyOf[subschema #10: Text]/allOf[subschema #2]/merge_field' became nullable for the status '200'
- the 'fields/items/anyOf[subschema #10: Text]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #1: Checkbox]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #2: Collect File]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #3: Date]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #4: Dropdown]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #5: Initials]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #6: Payment Details]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #7: Radio Buttons]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #8: Signature]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
- the 'fields/items/anyOf[subschema #9: Stamp]/allOf[#/components/schemas/BaseField]/assigned_to/anyOf[subschema #1: Recipient]/allOf[subschema #2]/phone' response's property pattern '^+[1-9]\d4\d14$' was removed for the status '200'
Full Changelog: https://github.com/PandaDoc/pandadoc-openapi-specification/compare/v7.16.1...v7.16.2
Changed
Simplified currency specification for quote updates. The currency property is now a top-level optional request property, replacing the previously nested sections/items/currency property. This streamlines how you update currency for specific quotes.
PUT /public/v1/documents/{document_id}/quotes/{quote_id}
- ⚠️ removed the request property 'sections/items/currency'
- added the new optional request property 'currency'
POST /public/v1/content-library-items
/public/v1/content-library-items- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/content-library-items/{id}
/public/v1/content-library-items/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/content-library-items/{id}/details
/public/v1/content-library-items/{id}/details- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/content-library-items?upload
/public/v1/content-library-items?upload- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents
/public/v1/documents- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents
/public/v1/documents- ⚠️ removed 'subschema #1, subschema #2' from the request body 'oneOf' list
- added 'subschema #1, subschema #2' to the request body 'oneOf' list
- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/linked-objects
/public/v1/documents/linked-objects- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/ownership
/public/v1/documents/ownership- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/auto-reminders
/public/v1/documents/{document_id}/auto-reminders- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{document_id}/auto-reminders
/public/v1/documents/{document_id}/auto-reminders- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/auto-reminders/status
/public/v1/documents/{document_id}/auto-reminders/status- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/esign-disclosure
/public/v1/documents/{document_id}/esign-disclosure- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PUT /public/v1/documents/{document_id}/quotes/{quote_id}
/public/v1/documents/{document_id}/quotes/{quote_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/sections
/public/v1/documents/{document_id}/sections- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/sections/uploads/{upload_id}
/public/v1/documents/{document_id}/sections/uploads/{upload_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/documents/{document_id}/sections/{section_id}
/public/v1/documents/{document_id}/sections/{section_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{document_id}/sections/{section_id}
/public/v1/documents/{document_id}/sections/{section_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{document_id}/send-reminder
/public/v1/documents/{document_id}/send-reminder- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{id}
/public/v1/documents/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{id}
/public/v1/documents/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/append-content-library-item
/public/v1/documents/{id}/append-content-library-item- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{id}/details
/public/v1/documents/{id}/details- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{id}/download
/public/v1/documents/{id}/download- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{id}/download-protected
/public/v1/documents/{id}/download-protected- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/editing-sessions
/public/v1/documents/{id}/editing-sessions- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/documents/{id}/linked-objects
/public/v1/documents/{id}/linked-objects- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/linked-objects
/public/v1/documents/{id}/linked-objects- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/documents/{id}/linked-objects/{linked_object_id}
/public/v1/documents/{id}/linked-objects/{linked_object_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/move-to-folder/{folder_id}
/public/v1/documents/{id}/move-to-folder/{folder_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{id}/ownership
/public/v1/documents/{id}/ownership- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/recipients
/public/v1/documents/{id}/recipients- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{id}/recipients/recipient/{recipient_id}
/public/v1/documents/{id}/recipients/recipient/{recipient_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/documents/{id}/recipients/{recipient_id}
/public/v1/documents/{id}/recipients/{recipient_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/recipients/{recipient_id}/reassign
/public/v1/documents/{id}/recipients/{recipient_id}/reassign- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/send
/public/v1/documents/{id}/send- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/documents/{id}/session
/public/v1/documents/{id}/session- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{id}/status
/public/v1/documents/{id}/status- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/documents/{id}/status?upload
/public/v1/documents/{id}/status?upload- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/forms
/public/v1/forms- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/members/{id}
/public/v1/members/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/members/{member_id}/token
/public/v1/members/{member_id}/token- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/sms-opt-outs
/public/v1/sms-opt-outs- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/templates/{id}
/public/v1/templates/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/templates/{id}
/public/v1/templates/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/templates/{id}
/public/v1/templates/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/templates/{id}/details
/public/v1/templates/{id}/details- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/templates/{id}/editing-sessions
/public/v1/templates/{id}/editing-sessions- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/users
/public/v1/users- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/webhook-subscriptions
/public/v1/webhook-subscriptions- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/webhook-subscriptions/{id}
/public/v1/webhook-subscriptions/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/webhook-subscriptions/{id}
/public/v1/webhook-subscriptions/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/webhook-subscriptions/{id}
/public/v1/webhook-subscriptions/{id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
PATCH /public/v1/webhook-subscriptions/{id}/shared-key
/public/v1/webhook-subscriptions/{id}/shared-key- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v1/workspaces
/public/v1/workspaces- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/workspaces
/public/v1/workspaces- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/workspaces/{workspace_id}/api-keys
/public/v1/workspaces/{workspace_id}/api-keys- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/workspaces/{workspace_id}/deactivate
/public/v1/workspaces/{workspace_id}/deactivate- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
POST /public/v1/workspaces/{workspace_id}/members
/public/v1/workspaces/{workspace_id}/members- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
DELETE /public/v1/workspaces/{workspace_id}/members/{member_id}
/public/v1/workspaces/{workspace_id}/members/{member_id}- added the optional property 'info_message' to the response with the '403' status
- added the optional property 'links' to the response with the '403' status
GET /public/v2/documents/{document_id}/settings
/public/v2/documents/{document_id}/settings- added the required property 'expires_in' to the response with the '200' status
PATCH /public/v2/documents/{document_id}/settings
/public/v2/documents/{document_id}/settings- added the new optional request property 'expires_in'
- added the required property 'expires_in' to the response with the '200' status
GET /public/v2/templates/{template_id}/settings
/public/v2/templates/{template_id}/settings- ⚠️ removed the required property 'qualified_electronic_signature' from the response with the '200' status
PATCH /public/v2/templates/{template_id}/settings
/public/v2/templates/{template_id}/settings- ⚠️ removed the required property 'qualified_electronic_signature' from the response with the '200' status
- ⚠️ removed the request property 'qualified_electronic_signature'
Added
Document settings now support the expires_in field (in days). You can retrieve the current expiration when getting document settings and set or update it when updating document settings, giving you programmatic control over when documents expire.
GET /public/v2/documents/{document_id}/settings
- added the required property 'expires_in' to the response with the '200' status
PATCH /public/v2/documents/{document_id}/settings
- added the new optional request property 'expires_in'
- added the required property 'expires_in' to the response with the '200' status
Added
Document settings now support qualified electronic signature (QES). You can retrieve the current QES setting when getting document settings and enable or update it when updating document settings, giving you programmatic control over whether documents require a qualified electronic signature.
GET /public/v2/documents/{document_id}/settings
- added the required property 'qualified_electronic_signature' to the response with the '200' status
PATCH /public/v2/documents/{document_id}/settings
- added the new optional request property 'qualified_electronic_signature'
- added the required property 'qualified_electronic_signature' to the response with the '200' status
