Pandadoc
Catalog 暂无描述。
认证方式
| 方式 | 底层类型 | 状态 | 说明 |
|---|---|---|---|
| OAuth 2.0 | oauth2 | available | — |
调用示例
import { createClient } from "@open-connector/sdk";const oc = createClient({ baseUrl: "https://api.openconnector.dev", apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await oc.executeTool({ slug: "PANDADOC_ACCESS_TOKEN", connectedAccountId: "conn_...", arguments: { /* match this tool's input schema */ },});import Composio from "@composio/client";const composio = new Composio({ baseURL: "https://api.openconnector.dev/composio", apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await composio.tools.execute("PANDADOC_ACCESS_TOKEN", { connected_account_id: "conn_...", arguments: { /* match this tool's input schema */ },});oc tools execute PANDADOC_ACCESS_TOKEN --data '{ }'Tool 目录
可用 Tools
122 个可调用操作
Create/Refresh Access TokenPANDADOC_ACCESS_TOKENCreate or refresh an access token to make requests on behalf of a user. This endpoint is used to obtain an `access_token` and `refresh_token` for the first time, and to refresh the `access_token` when it expires. This endpoint is part of OAuth 2.0 implementation. You need to configure OAuth App to obtain `client_id` and `client_secret`. Read more about [OAuth 2.0 implementation](https://developers.pandadoc.com/reference/authentication-process). Make sure you're sending the header `Content-Type: application/x-www-form-urlencoded`. ## Create Access Token As a result of the OAuth 2.0 user authentication process, you should get a `code` that can be exchanged for an `access_token`. Use this endpoint to do this exchange, and to refresh the token later. > 🚧 Invalid Grant? > > If you receive an `invalid grant` response it is likely because you used the same `code` more than once from the [Authorize a PandaDoc User](ref:authorize-a-user) step above. The `code` parameter is generated for one-time use. A new `code` value must be generated if you wish to change API users, permissions, or simply generate a new `code` value for the same PandaDoc user. > 📘 expires_in > > `expires_in` is based in seconds. Currently, a token expires in 31535999 seconds = 1 year. ## Refresh Access Token Eventually, `access_token` expires and accessing an API method returns **401 unauthorized**. Your application needs to refresh the OAuth2 token with the stored `refresh_token` returned when initially creating an access token. Once refreshed, calls on behalf of the originally authorized user can resume immediately. Use the newly returned `access_token` for all future API requests. > 🚧 Invalid Grant? > > If you receive an `invalid grant` response, it is likely because your `refresh_token` is invalid.需要连接
Create or refresh an access token to make requests on behalf of a user. This endpoint is used to obtain an `access_token` and `refresh_token` for the first time, and to refresh the `access_token` when it expires. This endpoint is part of OAuth 2.0 implementation. You need to configure OAuth App to obtain `client_id` and `client_secret`. Read more about [OAuth 2.0 implementation](https://developers.pandadoc.com/reference/authentication-process). Make sure you're sending the header `Content-Type: application/x-www-form-urlencoded`. ## Create Access Token As a result of the OAuth 2.0 user authentication process, you should get a `code` that can be exchanged for an `access_token`. Use this endpoint to do this exchange, and to refresh the token later. > 🚧 Invalid Grant? > > If you receive an `invalid grant` response it is likely because you used the same `code` more than once from the [Authorize a PandaDoc User](ref:authorize-a-user) step above. The `code` parameter is generated for one-time use. A new `code` value must be generated if you wish to change API users, permissions, or simply generate a new `code` value for the same PandaDoc user. > 📘 expires_in > > `expires_in` is based in seconds. Currently, a token expires in 31535999 seconds = 1 year. ## Refresh Access Token Eventually, `access_token` expires and accessing an API method returns **401 unauthorized**. Your application needs to refresh the OAuth2 token with the stored `refresh_token` returned when initially creating an access token. Once refreshed, calls on behalf of the originally authorized user can resume immediately. Use the newly returned `access_token` for all future API requests. > 🚧 Invalid Grant? > > If you receive an `invalid grant` response, it is likely because your `refresh_token` is invalid.
认证
需要 Connected AccountTags
Add Document RecipientPANDADOC_ADD_DOCUMENT_RECIPIENTAdd a CC recipient to a document. > 🚧 Before you start > > To add a CC recipient, please ensure that: > > - You have the 'Can Manage Recipients' permission. > - This recipient is already created in your contacts. If not, add them using the [Create Contact](https://developers.pandadoc.com/reference/create-contact) endpoint. To add a new CC recipient to a document, two parameters must be included in the request body: - `kind`: Set this parameter to `contact` to specify an individual contact. - `id`: Input the ID of the desired contact. To retrieve the contact's ID, use the [List Contacts](https://developers.pandadoc.com/reference/list-contacts) endpoint to access a list of all contacts, and then locate the desired contact by searching using the name or email address within the returned list. ### Document status You can add CC recipients in any document status except for the 'Expired' (`document.voided`) and 'Declined' (`document.declined`). > 📘 Email notification to access the document > > **Note**: When a document is in one of the following statuses: 'Sent' (`document.sent`), 'Viewed' (`document.viewed`), 'Completed' (`document.completed`), 'Waiting for Payment' (`document.waiting_pay`), or 'Paid' (`document.paid`), any added CC recipient will receive an instant notification at their email address, allowing them access to the document.需要连接
Add a CC recipient to a document. > 🚧 Before you start > > To add a CC recipient, please ensure that: > > - You have the 'Can Manage Recipients' permission. > - This recipient is already created in your contacts. If not, add them using the [Create Contact](https://developers.pandadoc.com/reference/create-contact) endpoint. To add a new CC recipient to a document, two parameters must be included in the request body: - `kind`: Set this parameter to `contact` to specify an individual contact. - `id`: Input the ID of the desired contact. To retrieve the contact's ID, use the [List Contacts](https://developers.pandadoc.com/reference/list-contacts) endpoint to access a list of all contacts, and then locate the desired contact by searching using the name or email address within the returned list. ### Document status You can add CC recipients in any document status except for the 'Expired' (`document.voided`) and 'Declined' (`document.declined`). > 📘 Email notification to access the document > > **Note**: When a document is in one of the following statuses: 'Sent' (`document.sent`), 'Viewed' (`document.viewed`), 'Completed' (`document.completed`), 'Waiting for Payment' (`document.waiting_pay`), or 'Paid' (`document.paid`), any added CC recipient will receive an instant notification at their email address, allowing them access to the document.
认证
需要 Connected AccountTags
Add DSV Named Items to a DocumentPANDADOC_ADD_DSV_NAMED_ITEMSAdds one or more named items to the specified document by ID. These items define the document's structure and hierarchy (e.g., sections or headings) for display or navigation purposes within the Document Structure View (DSV).需要连接
Adds one or more named items to the specified document by ID. These items define the document's structure and hierarchy (e.g., sections or headings) for display or navigation purposes within the Document Structure View (DSV).
认证
需要 Connected AccountTags
Add Member to WorkspacePANDADOC_ADD_MEMBERAdd an existing user to a workspace. - You must be an organization admin or a workspace admin to add members.需要连接
Add an existing user to a workspace. - You must be an organization admin or a workspace admin to add members.
认证
需要 Connected AccountTags
Append Content Library Item to a documentPANDADOC_APPEND_CONTENT_LIBRARY_ITEM_TO_DOCUMENTAppends a Content Library Item (CLI) to a document and provides a name mapping for its content blocks.需要连接
Appends a Content Library Item (CLI) to a document and provides a name mapping for its content blocks.
认证
需要 Connected AccountTags
[Beta] Get AI Metadata for Multiple DocumentsPANDADOC_BATCH_GET_DOCUMENT_AI_METADATAReturns AI metadata for a list of documents in a single request. The batch variant of <a href="#/operations/getDocumentAiMetadata">Get AI Metadata for a Document</a>. Use this endpoint when you need AI metadata for several documents and want to avoid issuing one request per document. Each `results[]` entry mirrors the per-document outcome of the single-document endpoint. ### Partial-success model The response is always `200 OK` when the request itself is valid and the caller is authenticated. Per-document outcomes are reported inside `results[]` via a `status` discriminator. A failure for one document (not found, access denied, isolated server-side failure) does not fail the whole request — the response still returns successful entries for the rest. Per-document `status` values mirror the HTTP semantics of the single-document endpoint: | Single-document HTTP | Batch `status` | Notes | | -------------------- | -------------------------- | ---------------------------------------------------------------------------------- | | `200` | `ok` | `ai_metadata` carries the same payload as the single-document `200` body. | | `202` | `extraction_pending` | Includes `retry_after` (seconds). Retry the whole batch or just this `document_id`.| | `204` | `extraction_failed` | Terminal. Retrying will not help — contact support. | | `409` | `extraction_not_started` | Typically because the document is not yet completed. | | `404` | `not_found` | Document does not exist or is deleted. | | `403` | `access_denied` | Caller cannot access this specific document. | | _(none — batch only)_| `internal_error` | Isolated server-side failure for this document. Retrying the affected document is safe. | Top-level non-`2xx` responses (`400`, `401`, `403`, `429`) are reserved for whole-request failures — for example, request validation, missing or invalid authentication, the caller has no read scope at all, or rate limiting. > 🚧 **Beta** > > This endpoint is currently in beta and may change without notice.需要连接
Returns AI metadata for a list of documents in a single request. The batch variant of <a href="#/operations/getDocumentAiMetadata">Get AI Metadata for a Document</a>. Use this endpoint when you need AI metadata for several documents and want to avoid issuing one request per document. Each `results[]` entry mirrors the per-document outcome of the single-document endpoint. ### Partial-success model The response is always `200 OK` when the request itself is valid and the caller is authenticated. Per-document outcomes are reported inside `results[]` via a `status` discriminator. A failure for one document (not found, access denied, isolated server-side failure) does not fail the whole request — the response still returns successful entries for the rest. Per-document `status` values mirror the HTTP semantics of the single-document endpoint: | Single-document HTTP | Batch `status` | Notes | | -------------------- | -------------------------- | ---------------------------------------------------------------------------------- | | `200` | `ok` | `ai_metadata` carries the same payload as the single-document `200` body. | | `202` | `extraction_pending` | Includes `retry_after` (seconds). Retry the whole batch or just this `document_id`.| | `204` | `extraction_failed` | Terminal. Retrying will not help — contact support. | | `409` | `extraction_not_started` | Typically because the document is not yet completed. | | `404` | `not_found` | Document does not exist or is deleted. | | `403` | `access_denied` | Caller cannot access this specific document. | | _(none — batch only)_| `internal_error` | Isolated server-side failure for this document. Retrying the affected document is safe. | Top-level non-`2xx` responses (`400`, `401`, `403`, `429`) are reserved for whole-request failures — for example, request validation, missing or invalid authentication, the caller has no read scope at all, or rate limiting. > 🚧 **Beta** > > This endpoint is currently in beta and may change without notice.
认证
需要 Connected AccountTags
Delete documents (bulk)PANDADOC_BULK_DELETE_DOCUMENTSDelete multiple documents in one request by sending a JSON array. Each element must be an object with an `id` field (the document ID, same value as elsewhere in the Documents API). The caller must have permission to delete each document. Documents must belong to the authenticated workspace. This batch operation returns **200 OK** with a JSON body containing an `id` array of deleted document IDs. That differs from [Delete Document](#operation/deleteDocument) (`DELETE /public/v1/documents/{id}`), which returns **204 No Content** for a single document.需要连接
Delete multiple documents in one request by sending a JSON array. Each element must be an object with an `id` field (the document ID, same value as elsewhere in the Documents API). The caller must have permission to delete each document. Documents must belong to the authenticated workspace. This batch operation returns **200 OK** with a JSON body containing an `id` array of deleted document IDs. That differs from [Delete Document](#operation/deleteDocument) (`DELETE /public/v1/documents/{id}`), which returns **204 No Content** for a single document.
认证
需要 Connected AccountTags
Document Status ChangePANDADOC_CHANGE_DOCUMENT_STATUSPandaDoc has eight document statuses, but you can manually set your document status to only four: ### Document statuses - Completed - `document.completed` - API code `2` - Expired - `document.voided` - code `11` - Paid - `document.paid` - code `10`. **Important**: You can only set it if you have a payment app connected. - Declined - `document.declined` - code `12` > 🚧 Pass a numeric code for the corresponding document status, for example, `2` for `document.completed`. Find more details in [\[Editor 2.0\] Manually change document status](https://support.pandadoc.com/en/articles/9714842-manually-change-document-status) topic. | Current Status | To Completed: | To Expired: | To Paid: | To Declined: | |----------------|---------------|-------------|----------|--------------| | Draft | YES | NO | YES | YES | | Approved | NO | NO | NO | NO | | Sent | YES | YES | NO | YES | | Viewed | YES | YES | NO | YES | | Completed (Auto) | NO | NO | NO | YES | | Waithing for payment | NO | NO | YES | YES | | Paid | NO | NO | NO | NO | | Expired | YES | NO | YES | YES | | Declined | YES | NO | YES | NO | > ✅ - from `document.voided` to `document.paid` > > ❌ - from `document.paid` to `document.voided`需要连接
PandaDoc has eight document statuses, but you can manually set your document status to only four: ### Document statuses - Completed - `document.completed` - API code `2` - Expired - `document.voided` - code `11` - Paid - `document.paid` - code `10`. **Important**: You can only set it if you have a payment app connected. - Declined - `document.declined` - code `12` > 🚧 Pass a numeric code for the corresponding document status, for example, `2` for `document.completed`. Find more details in [\[Editor 2.0\] Manually change document status](https://support.pandadoc.com/en/articles/9714842-manually-change-document-status) topic. | Current Status | To Completed: | To Expired: | To Paid: | To Declined: | |----------------|---------------|-------------|----------|--------------| | Draft | YES | NO | YES | YES | | Approved | NO | NO | NO | NO | | Sent | YES | YES | NO | YES | | Viewed | YES | YES | NO | YES | | Completed (Auto) | NO | NO | NO | YES | | Waithing for payment | NO | NO | YES | YES | | Paid | NO | NO | NO | NO | | Expired | YES | NO | YES | YES | | Declined | YES | NO | YES | NO | > ✅ - from `document.voided` to `document.paid` > > ❌ - from `document.paid` to `document.voided`
认证
需要 Connected AccountTags
Change Member Role in WorkspacePANDADOC_CHANGE_MEMBER_ROLEChange the role of an existing workspace member. - You must be an organization admin, a workspace admin, or hold a role with permission to edit member roles to call this endpoint. - The `role` field accepts either a built-in role name (`Admin`, `Manager`, `Member`, `Collaborator`) or the name of a custom role defined for the workspace. - The role of the workspace owner cannot be changed. - The role of the last member with admin privileges in the workspace cannot be changed. - When a member with a `Guest` license is promoted to any non-`Collaborator` role, the user's license is automatically upgraded to `Full (Standard)`. If the organization has no free seats available, an additional seat is purchased.需要连接
Change the role of an existing workspace member. - You must be an organization admin, a workspace admin, or hold a role with permission to edit member roles to call this endpoint. - The `role` field accepts either a built-in role name (`Admin`, `Manager`, `Member`, `Collaborator`) or the name of a custom role defined for the workspace. - The role of the workspace owner cannot be changed. - The role of the last member with admin privileges in the workspace cannot be changed. - When a member with a `Guest` license is promoted to any non-`Collaborator` role, the user's license is automatically upgraded to `Full (Standard)`. If the organization has no free seats available, an additional seat is purchased.
认证
需要 Connected AccountTags
Create API KeyPANDADOC_CREATE_API_KEYGenerate a new API key for the workspace. Check out [API Key Authentication article](https://developers.pandadoc.com/reference/api-key-authentication-process) for detailed API Keys description. > 📘 > - Only an **Org Admin** can generate an API keys. > - To make another user a key's owner, pass `user_id` of this user. The user should has an **Admin** role in the workspace. > - Generating a new key invalidates existing key with the same type. Using this request, you can deactivate the key you're using for the request.需要连接
Generate a new API key for the workspace. Check out [API Key Authentication article](https://developers.pandadoc.com/reference/api-key-authentication-process) for detailed API Keys description. > 📘 > - Only an **Org Admin** can generate an API keys. > - To make another user a key's owner, pass `user_id` of this user. The user should has an **Admin** role in the workspace. > - Generating a new key invalidates existing key with the same type. Using this request, you can deactivate the key you're using for the request.
认证
需要 Connected AccountTags
Create Catalog ItemPANDADOC_CREATE_CATALOG_ITEMCreate a new catalog item.需要连接
Create a new catalog item.
认证
需要 Connected AccountTags
Create contactPANDADOC_CREATE_CONTACTThis method adds a contact into a contacts list.需要连接
This method adds a contact into a contacts list.
认证
需要 Connected AccountTags
Create Content Library ItemPANDADOC_CREATE_CONTENT_LIBRARY_ITEMThis API endpoint allows users to create an empty item in the content library. No actual content or data is required to be provided in the initial creation.需要连接
This API endpoint allows users to create an empty item in the content library. No actual content or data is required to be provided in the initial creation.
认证
需要 Connected AccountTags
Create DocumentPANDADOC_CREATE_DOCUMENT## Create from a template > See the [Create document from template](https://developers.pandadoc.com/docs/create-document-from-template) tutorial for details on how to use this endpoint, as well as a sample template. ## Create from a URL > See the [Create from public PDF](https://developers.pandadoc.com/docs/create-and-send-a-document-from-a-publicly-available-pdf) guide for info about roles and fields, as well as PDF examples.需要连接
## Create from a template > See the [Create document from template](https://developers.pandadoc.com/docs/create-document-from-template) tutorial for details on how to use this endpoint, as well as a sample template. ## Create from a URL > See the [Create from public PDF](https://developers.pandadoc.com/docs/create-and-send-a-document-from-a-publicly-available-pdf) guide for info about roles and fields, as well as PDF examples.
认证
需要 Connected AccountTags
Create Document AttachmentPANDADOC_CREATE_DOCUMENT_ATTACHMENTCreates an attachment for a particular document需要连接
Creates an attachment for a particular document
认证
需要 Connected AccountTags
Create Document Editing SessionPANDADOC_CREATE_DOCUMENT_EDITING_SESSIONCreates a new editing session for the Embedded Editor. The response includes an E-Token, which is required to open the document. > 🚧 **Important:** The Embedded Editor can only open documents that have a `draft` status. #### Limitations - **Single Active Session per User-Document Pair** Only one editing session can be active at a time for a specific user and document. Creating a new session for the same user-document pair will automatically invalidate the previous one. - **Weekly Session Cap** A maximum of **250** editing sessions can be created for a single document per week. Any attempt to exceed this limit will result in a `403 Forbidden` error.需要连接
Creates a new editing session for the Embedded Editor. The response includes an E-Token, which is required to open the document. > 🚧 **Important:** The Embedded Editor can only open documents that have a `draft` status. #### Limitations - **Single Active Session per User-Document Pair** Only one editing session can be active at a time for a specific user and document. Creating a new session for the same user-document pair will automatically invalidate the previous one. - **Weekly Session Cap** A maximum of **250** editing sessions can be created for a single document per week. Any attempt to exceed this limit will result in a `403 Forbidden` error.
认证
需要 Connected AccountTags
Create Document FieldsPANDADOC_CREATE_DOCUMENT_FIELDSCreates fields for a particular document. For CFR11-compliant workspaces (21 CFR Part 11), signature fields must have a minimum size of 108×33.需要连接
Creates fields for a particular document. For CFR11-compliant workspaces (21 CFR Part 11), signature fields must have a minimum size of 108×33.
认证
需要 Connected AccountTags
Create Documents FolderPANDADOC_CREATE_DOCUMENT_FOLDERCreate a new folder to store your documents. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Create a new folder to store your documents. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
Create Document Session for Embedded SignPANDADOC_CREATE_DOCUMENT_LINKCreates a document session for a recipient to view and sign a document. > 📘 How to create an Embedded Sign session > For more information on how to create an Embedded Sign session, see the [Embedded Signing](https://developers.pandadoc.com/docs/embedded-signing) documentation.需要连接
Creates a document session for a recipient to view and sign a document. > 📘 How to create an Embedded Sign session > For more information on how to create an Embedded Sign session, see the [Embedded Signing](https://developers.pandadoc.com/docs/embedded-signing) documentation.
认证
需要 Connected AccountTags
[Beta] Create DOCX Export TaskPANDADOC_CREATE_EXPORT_DOCX_TASK> ⏱️ Export as DOCX is a non-blocking (asynchronous) operation > The document generation process may take some time. > With a successful request, you receive a response with task ID, status **created** and document id. After process completes, usually in a few minutes, the task status moves to the **done** state. > You can download documents up to 300 pages. For documents of 301+ pages, you will receive an error “400: The number of pages more then limit 300”需要连接
> ⏱️ Export as DOCX is a non-blocking (asynchronous) operation > The document generation process may take some time. > With a successful request, you receive a response with task ID, status **created** and document id. After process completes, usually in a few minutes, the task status moves to the **done** state. > You can download documents up to 300 pages. For documents of 301+ pages, you will receive an error “400: The number of pages more then limit 300”
认证
需要 Connected AccountTags
Create Linked ObjectPANDADOC_CREATE_LINKED_OBJECTCreate a linked object in the document. > 🚧 > > You can only link each document to each CRM once. This ensures the consistent functionality of the [two-way CRM sync](https://support.pandadoc.com/en/articles/9714877-hubspot-crm#h_3a3344e8-2a6e-4fd8-86be-0da8c121e4ac). > > You can, however, link one document to several external systems.需要连接
Create a linked object in the document. > 🚧 > > You can only link each document to each CRM once. This ensures the consistent functionality of the [two-way CRM sync](https://support.pandadoc.com/en/articles/9714877-hubspot-crm#h_3a3344e8-2a6e-4fd8-86be-0da8c121e4ac). > > You can, however, link one document to several external systems.
认证
需要 Connected AccountTags
Send Manual ReminderPANDADOC_CREATE_MANUAL_REMINDERSends manual reminders to one or more recipients of a specified document.需要连接
Sends manual reminders to one or more recipients of a specified document.
认证
需要 Connected AccountTags
Create Member TokenPANDADOC_CREATE_MEMBER_TOKEN> 🚧 > > This endpoint is only exposed upon request. Please reach out to your Account Manager to get access. > 📘 > > Make sure you're using Public API keys generated by Org Admin, otherwise you'll receive a 403 response.需要连接
> 🚧 > > This endpoint is only exposed upon request. Please reach out to your Account Manager to get access. > 📘 > > Make sure you're using Public API keys generated by Org Admin, otherwise you'll receive a 403 response.
认证
需要 Connected AccountTags
Create Notarization RequestPANDADOC_CREATE_NOTARIZATION_REQUESTCreate a notarization request to connect with a notary and complete online notarizations for your signers within minutes. > 🚧 **Important:** This endpoint supports only documents in draft status. ## Prerequisites > 🚧 Before you start > > Ensure the following before creating a notarization request: > > - Install the Notary On-Demand or Notary add-on > - Create a document for notarization and get its `document_id`. To create a document, use the [Create Document from Template](https://developers.pandadoc.com/reference/create-document-from-pandadoc-template) or [Create Document from File Upload](https://developers.pandadoc.com/reference/create-document-from-pdf) endpoint. ## Request Details For the notarization request, include in the request body: - `document_id` - At least one `invitees`, specifying their `email`, `first_name`, and `last_name` - Optionally, include a `message` for your signers - Optionally, using `disable_invitees_notifications` you can disable all notifications for invitees including email with invitation for notarization. This is useful when you are using alternative delivery methods. - If in-house notary must be assigned to this request, include the `notary` object with the notary's `id`, `scheduled_at` timestamp, and an optional `message` for the notary After the API call is executed, your signers will receive an email invitation for notarization. Alternatively, you can directly share the `notarization_link` with your signers, which is available in the 201 response body. Upon successful notarization, you will receive an email with a link to the notarized document. ## Usage Tips > 📘 Best Practices > > - Ensure that signers are added as both invitees in the request body and recipients in the document to avoid inconveniences during notary sessions > - Signers will receive an email with a notary link upon a successful API call; this link is also in the 201 response > - In case if notary is not specified in the request, signers will use the link to connect with commissioned online notaries, available Mon-Fri, 9 AM - 9 PM Central Time, typically responding within 2 minutes > - If notary is specified, signers will use the link to connect with your in-house notary at the scheduled time ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error. ## Troubleshooting **Solutions for 4xx Response Codes:** - **403 Forbidden (Inactive Add-on)**: Ensure the Notary On-Demand or Notary add-on is installed - **403 Forbidden (Transactions Limit)**: Purchase additional transactions either through the Notary UI or by contacting the Sales team - **429 Too Many Requests**: If you hit the limit, hold your API calls, then send them after waiting for the retry time > 📘 To learn more about PandaDoc Notary On-Demand, visit our [website](https://notary.pandadoc.com/notary-on-demand/).需要连接
Create a notarization request to connect with a notary and complete online notarizations for your signers within minutes. > 🚧 **Important:** This endpoint supports only documents in draft status. ## Prerequisites > 🚧 Before you start > > Ensure the following before creating a notarization request: > > - Install the Notary On-Demand or Notary add-on > - Create a document for notarization and get its `document_id`. To create a document, use the [Create Document from Template](https://developers.pandadoc.com/reference/create-document-from-pandadoc-template) or [Create Document from File Upload](https://developers.pandadoc.com/reference/create-document-from-pdf) endpoint. ## Request Details For the notarization request, include in the request body: - `document_id` - At least one `invitees`, specifying their `email`, `first_name`, and `last_name` - Optionally, include a `message` for your signers - Optionally, using `disable_invitees_notifications` you can disable all notifications for invitees including email with invitation for notarization. This is useful when you are using alternative delivery methods. - If in-house notary must be assigned to this request, include the `notary` object with the notary's `id`, `scheduled_at` timestamp, and an optional `message` for the notary After the API call is executed, your signers will receive an email invitation for notarization. Alternatively, you can directly share the `notarization_link` with your signers, which is available in the 201 response body. Upon successful notarization, you will receive an email with a link to the notarized document. ## Usage Tips > 📘 Best Practices > > - Ensure that signers are added as both invitees in the request body and recipients in the document to avoid inconveniences during notary sessions > - Signers will receive an email with a notary link upon a successful API call; this link is also in the 201 response > - In case if notary is not specified in the request, signers will use the link to connect with commissioned online notaries, available Mon-Fri, 9 AM - 9 PM Central Time, typically responding within 2 minutes > - If notary is specified, signers will use the link to connect with your in-house notary at the scheduled time ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error. ## Troubleshooting **Solutions for 4xx Response Codes:** - **403 Forbidden (Inactive Add-on)**: Ensure the Notary On-Demand or Notary add-on is installed - **403 Forbidden (Transactions Limit)**: Purchase additional transactions either through the Notary UI or by contacting the Sales team - **429 Too Many Requests**: If you hit the limit, hold your API calls, then send them after waiting for the retry time > 📘 To learn more about PandaDoc Notary On-Demand, visit our [website](https://notary.pandadoc.com/notary-on-demand/).
认证
需要 Connected AccountTags
Create TemplatePANDADOC_CREATE_TEMPLATEThis operation allows you to create a new template by providing the necessary template details.需要连接
This operation allows you to create a new template by providing the necessary template details.
认证
需要 Connected AccountTags
Create Template Editing SessionPANDADOC_CREATE_TEMPLATE_EDITING_SESSIONCreates a new editing session for the Embedded Editor. The response includes an E-Token, which is required to open the template. #### Limitations - **Single Active Session per User-Template Pair** Only one editing session can be active at a time for a specific user and template. Creating a new session for the same user-template pair will automatically invalidate the previous one. - **Weekly Session Cap** A maximum of **250** editing sessions can be created for a single template per week. Any attempt to exceed this limit will result in a `403 Forbidden` error.需要连接
Creates a new editing session for the Embedded Editor. The response includes an E-Token, which is required to open the template. #### Limitations - **Single Active Session per User-Template Pair** Only one editing session can be active at a time for a specific user and template. Creating a new session for the same user-template pair will automatically invalidate the previous one. - **Weekly Session Cap** A maximum of **250** editing sessions can be created for a single template per week. Any attempt to exceed this limit will result in a `403 Forbidden` error.
认证
需要 Connected AccountTags
Create Templates FolderPANDADOC_CREATE_TEMPLATE_FOLDERCreate a new folder to store your templates. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Create a new folder to store your templates. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
Create UserPANDADOC_CREATE_USERCreate users, and assign them roles, licenses, and workspaces. - You must be an organization admin to create users. - We check that the user email domain matches your organization domain. - We check that the user email and phone number have a valid format.需要连接
Create users, and assign them roles, licenses, and workspaces. - You must be an organization admin to create users. - We check that the user email domain matches your organization domain. - We check that the user email and phone number have a valid format.
认证
需要 Connected AccountTags
Create Webhook SubscriptionPANDADOC_CREATE_WEBHOOK_SUBSCRIPTIONThis operation creates a new webhook subscription by specifying its details.需要连接
This operation creates a new webhook subscription by specifying its details.
认证
需要 Connected AccountTags
Create WorkspacePANDADOC_CREATE_WORKSPACECreate a workspace in your organization. - You need to be an Org Admin to create a workspace. - You will be added to the new workspace with an Admin role.需要连接
Create a workspace in your organization. - You need to be an Org Admin to create a workspace. - You will be added to the new workspace with an Admin role.
认证
需要 Connected AccountTags
Deactivate WorkspacePANDADOC_DEACTIVATE_WORKSPACEDeactivate the workspace, remove all the members from it and make it unavailable.需要连接
Deactivate the workspace, remove all the members from it and make it unavailable.
认证
需要 Connected AccountTags
Delete Catalog ItemPANDADOC_DELETE_CATALOG_ITEMDelete catalog item.需要连接
Delete catalog item.
认证
需要 Connected AccountTags
Delete ContactPANDADOC_DELETE_CONTACTThis method deletes a contact.需要连接
This method deletes a contact.
认证
需要 Connected AccountTags
Delete DocumentPANDADOC_DELETE_DOCUMENTDelete a document by ID.需要连接
Delete a document by ID.
认证
需要 Connected AccountTags
Delete Document AttachmentPANDADOC_DELETE_DOCUMENT_ATTACHMENTDeletes an attachment from the document.需要连接
Deletes an attachment from the document.
认证
需要 Connected AccountTags
Delete Document RecipientPANDADOC_DELETE_DOCUMENT_RECIPIENTRemove a recipient from a document. > 🚧 Before you start > > Please ensure that you have the 'Can Manage Recipients' permission. To remove a recipient from a document, you must specify their ID in the path parameter (note that this is different from their contact's ID). The recipient's ID can be retrieved via the [Document Details](https://developers.pandadoc.com/reference/document-details) endpoint. ### Document status - Removing a signer is only possible when the document is in the 'Draft' (`document.draft`) status and this action will unassign all fields associated with that signer. - Removing a CC recipient is allowed in any document status except for the 'Expired' (`document.voided`) and 'Declined' (`document.declined`). If a CC recipient is removed, their access will be revoked.需要连接
Remove a recipient from a document. > 🚧 Before you start > > Please ensure that you have the 'Can Manage Recipients' permission. To remove a recipient from a document, you must specify their ID in the path parameter (note that this is different from their contact's ID). The recipient's ID can be retrieved via the [Document Details](https://developers.pandadoc.com/reference/document-details) endpoint. ### Document status - Removing a signer is only possible when the document is in the 'Draft' (`document.draft`) status and this action will unassign all fields associated with that signer. - Removing a CC recipient is allowed in any document status except for the 'Expired' (`document.voided`) and 'Declined' (`document.declined`). If a CC recipient is removed, their access will be revoked.
认证
需要 Connected AccountTags
Delete Linked ObjectPANDADOC_DELETE_LINKED_OBJECTDelete a linked object associated with a document.需要连接
Delete a linked object associated with a document.
认证
需要 Connected AccountTags
Delete Notarization RequestPANDADOC_DELETE_NOTARIZATION_REQUESTUse this method to delete a notarization request. Once notarization request is deleted it cannot be restored. > 🚧 Notarization Request status > > You can only delete a notarization request in status 'SENT', 'WAITING_FOR_NOTARY' or 'INCOMPLETE'. > If the notarization request is in any other status, the request will return a 400 Bad Request error. By default all invitees will receive email notification about deletion of the notarization request. If you want to disable this notification, you can use the `disable_invitees_notifications` parameter when creating request (see [Create Notarization Request](https://developers.pandadoc.com/reference/create-notarization-request)).需要连接
Use this method to delete a notarization request. Once notarization request is deleted it cannot be restored. > 🚧 Notarization Request status > > You can only delete a notarization request in status 'SENT', 'WAITING_FOR_NOTARY' or 'INCOMPLETE'. > If the notarization request is in any other status, the request will return a 400 Bad Request error. By default all invitees will receive email notification about deletion of the notarization request. If you want to disable this notification, you can use the `disable_invitees_notifications` parameter when creating request (see [Create Notarization Request](https://developers.pandadoc.com/reference/create-notarization-request)).
认证
需要 Connected AccountTags
Delete Document SectionPANDADOC_DELETE_SECTIONRemoves selected section from the document.需要连接
Removes selected section from the document.
认证
需要 Connected AccountTags
Delete TemplatePANDADOC_DELETE_TEMPLATEDelete a template需要连接
Delete a template
认证
需要 Connected AccountTags
Delete Webhook SubscriptionPANDADOC_DELETE_WEBHOOK_SUBSCRIPTIONThis operation deletes a specific webhook subscription identified by its UUID.需要连接
This operation deletes a specific webhook subscription identified by its UUID.
认证
需要 Connected AccountTags
Contact DetailsPANDADOC_DETAILS_CONTACTReturns contact details by its ID.需要连接
Returns contact details by its ID.
认证
需要 Connected AccountTags
Content Library Item DetailsPANDADOC_DETAILS_CONTENT_LIBRARY_ITEMRetrieve detailed information about a specific content library item using its ID. The details include: - **Roles** - **All fields with values** - **All tokens with values** - **Pricing information (pricing tables, products, etc)** - **Metadata** - **Tags** - **Modification Timestamps**: note that `date_modified` means any changes associated with the CLI, while `content_date_modified` logs any changes in CLI content.需要连接
Retrieve detailed information about a specific content library item using its ID. The details include: - **Roles** - **All fields with values** - **All tokens with values** - **Pricing information (pricing tables, products, etc)** - **Metadata** - **Tags** - **Modification Timestamps**: note that `date_modified` means any changes associated with the CLI, while `content_date_modified` logs any changes in CLI content.
认证
需要 Connected AccountTags
Current Member DetailsPANDADOC_DETAILS_CURRENT_MEMBERReturns the member details of the current user (the owner of the API key). **User** - is an account with a license in the Organization. **Member** - is a User with a predefined Role in the Workspace. | Parameter | Description | |---|---| | `user_id` | A unique identifier of the `user` in the **organization** | | `membership_id` | A unique identifier of the `user` in the **workspace** | | `email` | A user email address | | `first_name` | A user's first name | | `last_name` | A user's last name | | `is_active` | A boolean value that identifies if a member is active and not blocked | | `workspace` | A unique identifier of the user's current active workspace | | `workspace_name` | A name of the user's current active workspace | | `email_verified` | A boolean value that identifies if the email is verified | | `role` | A member's role in the workspace | | `user_license` | A user license in the organization: <br/>`Full (Standard)`; <br/>`Read-only`; <br/>`eSignature`; <br/>`Guest`; <br/>`Creator` | | `date_created` | A date when a member was added to the workspace | | `date_modified` | Last modified date of a member |需要连接
Returns the member details of the current user (the owner of the API key). **User** - is an account with a license in the Organization. **Member** - is a User with a predefined Role in the Workspace. | Parameter | Description | |---|---| | `user_id` | A unique identifier of the `user` in the **organization** | | `membership_id` | A unique identifier of the `user` in the **workspace** | | `email` | A user email address | | `first_name` | A user's first name | | `last_name` | A user's last name | | `is_active` | A boolean value that identifies if a member is active and not blocked | | `workspace` | A unique identifier of the user's current active workspace | | `workspace_name` | A name of the user's current active workspace | | `email_verified` | A boolean value that identifies if the email is verified | | `role` | A member's role in the workspace | | `user_license` | A user license in the organization: <br/>`Full (Standard)`; <br/>`Read-only`; <br/>`eSignature`; <br/>`Guest`; <br/>`Creator` | | `date_created` | A date when a member was added to the workspace | | `date_modified` | Last modified date of a member |
认证
需要 Connected AccountTags
Document DetailsPANDADOC_DETAILS_DOCUMENTReturn detailed data about a document. Use Document Status for getting just a basic info and status. Get details about a document by its `id`. Details include: - Basic document information (name, document state, owner, sender, grand total, etc.) - Recipients (completion status, signing order, etc.) - Fields with values (incl. Collect Files field) - Tokens (variables) with values - Pricing information (pricing tables, products, quotes, etc.) - Content block names for table, image, and text blocks (tables, images, texts) - Metadata - Tags - Linked objects - [Approval flow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) (if present) - Active editing lock (holder and expiry), when the document is locked - Timestamps associated with a document. Note that `date_modified` means any changes associated with the recipients and document status, while `content_date_modified` reflects any changes in the document content.需要连接
Return detailed data about a document. Use Document Status for getting just a basic info and status. Get details about a document by its `id`. Details include: - Basic document information (name, document state, owner, sender, grand total, etc.) - Recipients (completion status, signing order, etc.) - Fields with values (incl. Collect Files field) - Tokens (variables) with values - Pricing information (pricing tables, products, quotes, etc.) - Content block names for table, image, and text blocks (tables, images, texts) - Metadata - Tags - Linked objects - [Approval flow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) (if present) - Active editing lock (holder and expiry), when the document is locked - Timestamps associated with a document. Note that `date_modified` means any changes associated with the recipients and document status, while `content_date_modified` reflects any changes in the document content.
认证
需要 Connected AccountTags
Document Attachment DetailsPANDADOC_DETAILS_DOCUMENT_ATTACHMENTReturns details of the specific document's attachment.需要连接
Returns details of the specific document's attachment.
认证
需要 Connected AccountTags
API Log DetailsPANDADOC_DETAILS_LOGReturns details of the specific API log event.需要连接
Returns details of the specific API log event.
认证
需要 Connected AccountTags
API Log DetailsPANDADOC_DETAILS_LOG_V2Returns details of the specific API log event.需要连接
Returns details of the specific API log event.
认证
需要 Connected AccountTags
Member DetailsPANDADOC_DETAILS_MEMBERA method to retrieve a member's details by ID. **User** - is an account with a license in the Organization. **Member** - is a User with a predefined Role in the Workspace. | Parameter | Description | |---|---| | `user_id` | A unique identifier of the `user` in the **organization** | | `membership_id` | A unique identifier of the `user` in the **workspace** | | `email` | A user email address | | `first_name` | A user's first name | | `last_name` | A user's last name | | `is_active` | A boolean value that identifies if a member is active and not blocked | | `workspace` | A unique identifier of the user's current active workspace | | `workspace_name` | A name of the user's current active workspace | | `email_verified` | A boolean value that identifies if the email is verified | | `role` | A member's role in the workspace | | `user_license` | A user license in the organization: <br/>`Full (Standard)`; <br/>`Read-only`; <br/>`eSignature`; <br/>`Guest`; <br/>`Creator` | | `date_created` | A date when a member was added to the workspace | | `date_modified` | Last modified date of a member |需要连接
A method to retrieve a member's details by ID. **User** - is an account with a license in the Organization. **Member** - is a User with a predefined Role in the Workspace. | Parameter | Description | |---|---| | `user_id` | A unique identifier of the `user` in the **organization** | | `membership_id` | A unique identifier of the `user` in the **workspace** | | `email` | A user email address | | `first_name` | A user's first name | | `last_name` | A user's last name | | `is_active` | A boolean value that identifies if a member is active and not blocked | | `workspace` | A unique identifier of the user's current active workspace | | `workspace_name` | A name of the user's current active workspace | | `email_verified` | A boolean value that identifies if the email is verified | | `role` | A member's role in the workspace | | `user_license` | A user license in the organization: <br/>`Full (Standard)`; <br/>`Read-only`; <br/>`eSignature`; <br/>`Guest`; <br/>`Creator` | | `date_created` | A date when a member was added to the workspace | | `date_modified` | Last modified date of a member |
认证
需要 Connected AccountTags
Template DetailsPANDADOC_DETAILS_TEMPLATEGet details about a template by `id`. Details include: - Basic template information (name, author, etc) - Roles - All fields with values - All tokens with values - Pricing information (pricing tables, products, quotes) - Template metadata - Template tags - Content placeholders - Modification timestamps. Note that `date_modified` means any changes associated with the template roles, while `content_date_modified` logs any changes in the template content.需要连接
Get details about a template by `id`. Details include: - Basic template information (name, author, etc) - Roles - All fields with values - All tokens with values - Pricing information (pricing tables, products, quotes) - Template metadata - Template tags - Content placeholders - Modification timestamps. Note that `date_modified` means any changes associated with the template roles, while `content_date_modified` logs any changes in the template content.
认证
需要 Connected AccountTags
Get User Details by IDPANDADOC_DETAILS_USERGet detailed information about a specific user by their ID, including contact information, license type, and workspace roles. You must be an organization admin to get user details.需要连接
Get detailed information about a specific user by their ID, including contact information, license type, and workspace roles. You must be an organization admin to get user details.
认证
需要 Connected AccountTags
Webhook Event DetailsPANDADOC_DETAILS_WEBHOOK_EVENTThis operation fetches detailed information about a specific webhook event using its unique identifier.需要连接
This operation fetches detailed information about a specific webhook event using its unique identifier.
认证
需要 Connected AccountTags
Webhook Subscription DetailsPANDADOC_DETAILS_WEBHOOK_SUBSCRIPTIONGet webhook subscription by uuid需要连接
Get webhook subscription by uuid
认证
需要 Connected AccountTags
Document eSign disclosurePANDADOC_DOCUMENT_ESIGN_DISCLOSURERetrieves the current version of eSign disclosure text for a specified document.需要连接
Retrieves the current version of eSign disclosure text for a specified document.
认证
需要 Connected AccountTags
Document move to folderPANDADOC_DOCUMENT_MOVE_TO_FOLDERThis operation allows you to move a document to a folder by specifying the document ID and folder ID.需要连接
This operation allows you to move a document to a folder by specifying the document ID and folder ID.
认证
需要 Connected AccountTags
Move Document to DraftPANDADOC_DOCUMENT_REVERT_TO_DRAFTRevert your document back to draft to continue editing it. > 📘 Returning to Draft works for any document status except Removed. ## After you move your document to the Draft status - `Signature` and `Initials` fields are cleared. All other fields stay filled in. - Recipients are **not** notified that the document is back in Draft. - You'll need to resend the document so that recipients can sign the updated version.需要连接
Revert your document back to draft to continue editing it. > 📘 Returning to Draft works for any document status except Removed. ## After you move your document to the Draft status - `Signature` and `Initials` fields are cleared. All other fields stay filled in. - Recipients are **not** notified that the document is back in Draft. - You'll need to resend the document so that recipients can sign the updated version.
认证
需要 Connected AccountTags
Get document settingsPANDADOC_DOCUMENT_SETTINGS_GETRetrieves the settings for a specified document.需要连接
Retrieves the settings for a specified document.
认证
需要 Connected AccountTags
Update document settingsPANDADOC_DOCUMENT_SETTINGS_UPDATEUpdates the settings for a specified document.需要连接
Updates the settings for a specified document.
认证
需要 Connected AccountTags
Document DownloadPANDADOC_DOWNLOAD_DOCUMENTDownload documents as a PDF. > ❗️ Downloading completed and signed documents > > To download completed and signed documents, you should use the [Download Protected Document](https://developers.pandadoc.com/reference/download-protected-document) endpoint instead. See the [How to download a completed document](https://developers.pandadoc.com/docs/how-to-download-completed-document) guide for details.需要连接
Download documents as a PDF. > ❗️ Downloading completed and signed documents > > To download completed and signed documents, you should use the [Download Protected Document](https://developers.pandadoc.com/reference/download-protected-document) endpoint instead. See the [How to download a completed document](https://developers.pandadoc.com/docs/how-to-download-completed-document) guide for details.
认证
需要 Connected AccountTags
Download Document AttachmentPANDADOC_DOWNLOAD_DOCUMENT_ATTACHMENTDownload an attachment by ID.需要连接
Download an attachment by ID.
认证
需要 Connected AccountTags
Download Completed DocumentPANDADOC_DOWNLOAD_PROTECTED_DOCUMENTDownload a completed document as a verifiable PDF (Download Protected Document) > 🚧 Production key only > > This endpoint only works with a Production key. You'll get a 401 Unauthorized error when trying to use a Sandbox key. Download a signed PDF of a completed document需要连接
Download a completed document as a verifiable PDF (Download Protected Document) > 🚧 Production key only > > This endpoint only works with a Production key. You'll get a 401 Unauthorized error when trying to use a Sandbox key. Download a signed PDF of a completed document
认证
需要 Connected AccountTags
Duplicate TemplatePANDADOC_DUPLICATE_TEMPLATE## Duplicate Template Creates a copy of a template within the same workspace. > 📘 **Permissions** > > Requires `can_read_templates` and `can_duplicate_templates` permissions. Duplicating templates owned by other users additionally requires `can_duplicate_any_template`.需要连接
## Duplicate Template Creates a copy of a template within the same workspace. > 📘 **Permissions** > > Requires `can_read_templates` and `can_duplicate_templates` permissions. Duplicating templates owned by other users additionally requires `can_duplicate_any_template`.
认证
需要 Connected AccountTags
Update Document RecipientPANDADOC_EDIT_DOCUMENT_RECIPIENTModify a recipient's personal details, or update a recipient group's name and members. > 🚧 Before you start > > To edit a recipient, please ensure that you have the 'Can Edit Document' permission. Use this endpoint to easily fix typos in a recipient's name or email, or to change any other recipient information in a sent document. ### Editing a recipient group When the `recipient_id` points to a recipient group, you can rename the group and/or change its members: - Send `name` to rename the group. - Send `members` to replace the group's membership. The list you send becomes the group's new full membership: members you omit are removed, and new entries are added. Members are matched by `email`; for a retained member, only the contact fields you include (`first_name`, `last_name`) are updated, and omitted fields keep their existing values. - At least one of `name` or `members` must be provided, and `members` (when sent) must contain at least one member. On a sent document, newly added members are notified and receive their access link, while removed members lose access. Both individual recipient and recipient group edits return `204 No Content`. > 📘 Please note that changes made to a recipient within a document will also update their `Contact` information. However, these changes will not update information about this recipient in other documents where they have already been added. ### Document status - You can edit a signer in the following document statuses: - 'Draft' (`document.draft`), - 'Waiting Approval' (`document.waiting_approval`), - 'Approved' (`document.approved`), - 'Rejected' (`document.rejected`), - 'Sent' (`document.sent`), - 'Viewed' (`document.viewed`), but only until they have signed the document. - You can edit a CC recipient in any document status **except**: - 'Expired' (`document.voided`), - 'Declined' (`document.declined`). > 📘 Updating a recipient's email after sending a document > > **Note**: If you update a recipient's email address after sending a document, they will receive an instant notification at the new email address, allowing them access to the document. Access via the previous email will be revoked. ### Restrictions for updating a recipient's email - You cannot change emails of PandaDoc users. - You cannot use the email addresses of existing contacts. If you need to use an email from an existing contact, use the [Change Signer](https://developers.pandadoc.com/reference/change-signer) endpoint to replace a signer with this contact. ### Recipient communication preferences PandaDoc honors recipient opt-outs when re-notifying a recipient on a sent document. The request will return `400 Bad Request` in the following cases: - **Email** — when changing a recipient's email or enabling email delivery, if the new email address has been marked as opted-out for your organization (for example, the recipient previously reported a PandaDoc email from your organization as spam). - **SMS** — when changing a recipient's phone number or enabling SMS delivery, if the recipient has opted out of receiving SMS messages (for example, by replying STOP). To remove a recipient from the opt-out list, contact PandaDoc Support.需要连接
Modify a recipient's personal details, or update a recipient group's name and members. > 🚧 Before you start > > To edit a recipient, please ensure that you have the 'Can Edit Document' permission. Use this endpoint to easily fix typos in a recipient's name or email, or to change any other recipient information in a sent document. ### Editing a recipient group When the `recipient_id` points to a recipient group, you can rename the group and/or change its members: - Send `name` to rename the group. - Send `members` to replace the group's membership. The list you send becomes the group's new full membership: members you omit are removed, and new entries are added. Members are matched by `email`; for a retained member, only the contact fields you include (`first_name`, `last_name`) are updated, and omitted fields keep their existing values. - At least one of `name` or `members` must be provided, and `members` (when sent) must contain at least one member. On a sent document, newly added members are notified and receive their access link, while removed members lose access. Both individual recipient and recipient group edits return `204 No Content`. > 📘 Please note that changes made to a recipient within a document will also update their `Contact` information. However, these changes will not update information about this recipient in other documents where they have already been added. ### Document status - You can edit a signer in the following document statuses: - 'Draft' (`document.draft`), - 'Waiting Approval' (`document.waiting_approval`), - 'Approved' (`document.approved`), - 'Rejected' (`document.rejected`), - 'Sent' (`document.sent`), - 'Viewed' (`document.viewed`), but only until they have signed the document. - You can edit a CC recipient in any document status **except**: - 'Expired' (`document.voided`), - 'Declined' (`document.declined`). > 📘 Updating a recipient's email after sending a document > > **Note**: If you update a recipient's email address after sending a document, they will receive an instant notification at the new email address, allowing them access to the document. Access via the previous email will be revoked. ### Restrictions for updating a recipient's email - You cannot change emails of PandaDoc users. - You cannot use the email addresses of existing contacts. If you need to use an email from an existing contact, use the [Change Signer](https://developers.pandadoc.com/reference/change-signer) endpoint to replace a signer with this contact. ### Recipient communication preferences PandaDoc honors recipient opt-outs when re-notifying a recipient on a sent document. The request will return `400 Bad Request` in the following cases: - **Email** — when changing a recipient's email or enabling email delivery, if the new email address has been marked as opted-out for your organization (for example, the recipient previously reported a PandaDoc email from your organization as spam). - **SMS** — when changing a recipient's phone number or enabling SMS delivery, if the recipient has opted out of receiving SMS messages (for example, by replying STOP). To remove a recipient from the opt-out list, contact PandaDoc Support.
认证
需要 Connected AccountTags
Catalog Item DetailsPANDADOC_GET_CATALOG_ITEMGet catalog item.需要连接
Get catalog item.
认证
需要 Connected AccountTags
[Beta] Get AI Metadata for a DocumentPANDADOC_GET_DOCUMENT_AI_METADATAReturns the AI metadata fields populated for the document. Each result combines the field definition (`id`, `key`, `field_type`, `settings`) with the extracted value (`value`, `acceptance_status`). Only fields that have an extracted value for the document are returned. The endpoint signals AI extraction state via the HTTP status code: - `202 extraction_pending` — extraction is in progress. Clients should retry after the number of seconds indicated in the `Retry-After` header. - `204 No Content` — extraction has terminally failed for this document. No body is returned; retrying will not help — contact support. - `409 not_started` — extraction has not been triggered for this document (typically because the document is not yet completed).需要连接
Returns the AI metadata fields populated for the document. Each result combines the field definition (`id`, `key`, `field_type`, `settings`) with the extracted value (`value`, `acceptance_status`). Only fields that have an extracted value for the document are returned. The endpoint signals AI extraction state via the HTTP status code: - `202 extraction_pending` — extraction is in progress. Clients should retry after the number of seconds indicated in the `Retry-After` header. - `204 No Content` — extraction has terminally failed for this document. No body is returned; retrying will not help — contact support. - `409 not_started` — extraction has not been triggered for this document (typically because the document is not yet completed).
认证
需要 Connected AccountTags
Document Auto Reminder SettingsPANDADOC_GET_DOCUMENT_AUTO_REMINDER_SETTINGSRetrieves the current auto reminder configuration for a specified document.需要连接
Retrieves the current auto reminder configuration for a specified document.
认证
需要 Connected AccountTags
[Beta] Document ContentPANDADOC_GET_DOCUMENT_CONTENTReturns the document content for the specified document. Use query parameter `format` to select the content format.需要连接
Returns the document content for the specified document. Use query parameter `format` to select the content format.
认证
需要 Connected AccountTags
[Beta] Document SummaryPANDADOC_GET_DOCUMENT_SUMMARYReturns a summary for the specified document. Use query parameter `type` to select summary granularity.需要连接
Returns a summary for the specified document. Use query parameter `type` to select summary granularity.
认证
需要 Connected AccountTags
[Beta] DOCX Export TaskPANDADOC_GET_DOCX_EXPORT_TASK> 📘 This endpoint returns the current state of a DOCX export task for a document. > The endpoint supports downloading only multiple files if the document contains several sections. Downloading as a single file in this case is not possible.需要连接
> 📘 This endpoint returns the current state of a DOCX export task for a document. > The endpoint supports downloading only multiple files if the document contains several sections. Downloading as a single file in this case is not possible.
认证
需要 Connected AccountTags
Get Template Sharing SettingsPANDADOC_GET_TEMPLATE_SHARESRetrieves template sharing settings.需要连接
Retrieves template sharing settings.
认证
需要 Connected AccountTags
List WorkspacesPANDADOC_GET_WORKSPACES_LISTGet a list of all the active workspaces in the organization.需要连接
Get a list of all the active workspaces in the organization.
认证
需要 Connected AccountTags
List contactsPANDADOC_LIST_CONTACTSThis method returns a list of contacts associated with a workspace.需要连接
This method returns a list of contacts associated with a workspace.
认证
需要 Connected AccountTags
List Content Library ItemPANDADOC_LIST_CONTENT_LIBRARY_ITEMSThe endpoint retrieves items from the content library in PandaDoc. This endpoint supports filtering options to narrow down the results, allowing users to search by query, tags, folder, and more. > ### ⚠️ Please avoid empty values for the parameters > API returns "400" error when any of the parameters has an empty value. Please remove such a parameter from the request or add a value.需要连接
The endpoint retrieves items from the content library in PandaDoc. This endpoint supports filtering options to narrow down the results, allowing users to search by query, tags, folder, and more. > ### ⚠️ Please avoid empty values for the parameters > API returns "400" error when any of the parameters has an empty value. Please remove such a parameter from the request or add a value.
认证
需要 Connected AccountTags
List Document AttachmentsPANDADOC_LIST_DOCUMENT_ATTACHMENTSReturns a list of attachments associated with a specified document.需要连接
Returns a list of attachments associated with a specified document.
认证
需要 Connected AccountTags
List Document Audit TrailPANDADOC_LIST_DOCUMENT_AUDIT_TRAILRetrieves the full audit trail for a specified document. The audit trail includes detailed user actions such as sending, viewing, signing, and editing, along with metadata like timestamps, IP addresses, and user identity. This endpoint is accessible to authorized workspace administrators only.需要连接
Retrieves the full audit trail for a specified document. The audit trail includes detailed user actions such as sending, viewing, signing, and editing, along with metadata like timestamps, IP addresses, and user identity. This endpoint is accessible to authorized workspace administrators only.
认证
需要 Connected AccountTags
List Document FieldsPANDADOC_LIST_DOCUMENT_FIELDSReturn the list of fields for a particular document.需要连接
Return the list of fields for a particular document.
认证
需要 Connected AccountTags
List Documents FoldersPANDADOC_LIST_DOCUMENT_FOLDERSGet the list of folders which contain Documents in your account. > 📘 > > The root folder is not listed in the response. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Get the list of folders which contain Documents in your account. > 📘 > > The root folder is not listed in the response. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
List DocumentsPANDADOC_LIST_DOCUMENTSThis endpoint will let you list and search for the documents. ### [Here](https://developers.pandadoc.com/docs/list-search-documents-api) you can find how to filter, search and order documents.需要连接
This endpoint will let you list and search for the documents. ### [Here](https://developers.pandadoc.com/docs/list-search-documents-api) you can find how to filter, search and order documents.
认证
需要 Connected AccountTags
List Documents by Linked ObjectPANDADOC_LIST_DOCUMENTS_BY_LINKED_OBJECTGet a list of documents connected to a linked object - an entity from an integration.需要连接
Get a list of documents connected to a linked object - an entity from an integration.
认证
需要 Connected AccountTags
List FormsPANDADOC_LIST_FORMRetrieve a paginated list of forms with optional filtering and sorting options.需要连接
Retrieve a paginated list of forms with optional filtering and sorting options.
认证
需要 Connected AccountTags
List Linked ObjectsPANDADOC_LIST_LINKED_OBJECTSGet a list of linked objects for the document.需要连接
Get a list of linked objects for the document.
认证
需要 Connected AccountTags
List API LogPANDADOC_LIST_LOGSGet the list of all logs within the selected workspace.\ Optionally filter by date, page, and `#` of items per page.需要连接
Get the list of all logs within the selected workspace.\ Optionally filter by date, page, and `#` of items per page.
认证
需要 Connected AccountTags
List API LogPANDADOC_LIST_LOGS_V2Get the list of all logs within the selected workspace.\ Optionally filter by date, page, and `#` of items per page.需要连接
Get the list of all logs within the selected workspace.\ Optionally filter by date, page, and `#` of items per page.
认证
需要 Connected AccountTags
List MembersPANDADOC_LIST_MEMBERSRetrieve all members details of the workspace implied by the OAuth token or API key.\ For each member, the `workspace` parameter shows their active workspace, that is the workspace they are currently working in.\ This means the `workspace` value can differ from the workspace implied by your API key.需要连接
Retrieve all members details of the workspace implied by the OAuth token or API key.\ For each member, the `workspace` parameter shows their active workspace, that is the workspace they are currently working in.\ This means the `workspace` value can differ from the workspace implied by your API key.
认证
需要 Connected AccountTags
List NotariesPANDADOC_LIST_NOTARIESRetrieve a list of notaries associated with your organization. ## Important Notes - At the moment, notaries can be added to organization only manually through the PandaDoc Notary UI. - Organization must have Notary addon enabled to use this endpoint需要连接
Retrieve a list of notaries associated with your organization. ## Important Notes - At the moment, notaries can be added to organization only manually through the PandaDoc Notary UI. - Organization must have Notary addon enabled to use this endpoint
认证
需要 Connected AccountTags
List Notarization RequestsPANDADOC_LIST_NOTARIZATION_REQUESTSRetrieve a paginated list of notarization requests for your organization. Results can be filtered by status, creator, or document, and sorted by status or by the request's creation or completion dates. ## Permissions > 🔒 **Requirements** > > - The **Notary On-Demand** or **Notary** add-on must be enabled for your organization. Without an active add-on, the endpoint returns `403 Forbidden`. > - The request is executed with the permissions of the API key owner. By default, the response only includes notarization requests created by the API key owner. To list notarization requests created by any user in the organization, the API key owner must have the **Can view any notarization request** permission. ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error.需要连接
Retrieve a paginated list of notarization requests for your organization. Results can be filtered by status, creator, or document, and sorted by status or by the request's creation or completion dates. ## Permissions > 🔒 **Requirements** > > - The **Notary On-Demand** or **Notary** add-on must be enabled for your organization. Without an active add-on, the endpoint returns `403 Forbidden`. > - The request is executed with the permissions of the API key owner. By default, the response only includes notarization requests created by the API key owner. To list notarization requests created by any user in the organization, the API key owner must have the **Can view any notarization request** permission. ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error.
认证
需要 Connected AccountTags
Recent SMS Opt-outPANDADOC_LIST_RECENT_SMS_OPT_OUTSRetrieves a list of the most recent SMS opt-out changes for each phone numbers used in your workspace. > 📘 You can filter results by time range using `timestamp_from` and `timestamp_to`.需要连接
Retrieves a list of the most recent SMS opt-out changes for each phone numbers used in your workspace. > 📘 You can filter results by time range using `timestamp_from` and `timestamp_to`.
认证
需要 Connected AccountTags
List Document SectionsPANDADOC_LIST_SECTIONSRetrieve information about the sections within a document.需要连接
Retrieve information about the sections within a document.
认证
需要 Connected AccountTags
List Templates FoldersPANDADOC_LIST_TEMPLATE_FOLDERSGet the list of folders that contain Templates in your account. > 📘 > > The root folder is not listed in the response. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Get the list of folders that contain Templates in your account. > 📘 > > The root folder is not listed in the response. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
List TemplatesPANDADOC_LIST_TEMPLATESRetrieves a list of templates. You can filter results by a search query, tags, or fields.需要连接
Retrieves a list of templates. You can filter results by a search query, tags, or fields.
认证
需要 Connected AccountTags
List UsersPANDADOC_LIST_USERSGet a list of all users with membership in your organization, with their contact information, license type, and workspace roles. You must be an organization admin to list users.需要连接
Get a list of all users with membership in your organization, with their contact information, license type, and workspace roles. You must be an organization admin to list users.
认证
需要 Connected AccountTags
List Webhook EventsPANDADOC_LIST_WEBHOOK_EVENTThis operation retrieves a paginated list of all webhook events.需要连接
This operation retrieves a paginated list of all webhook events.
认证
需要 Connected AccountTags
List Webhook SubscriptionsPANDADOC_LIST_WEBHOOK_SUBSCRIPTIONSThis operation fetches a paginated list of webhook subscriptions.需要连接
This operation fetches a paginated list of webhook subscriptions.
认证
需要 Connected AccountTags
Notarization Request DetailsPANDADOC_NOTARIZATION_REQUEST_DETAILSGet details about a notarization request by its `id`. Details include: - Basic notarization request information (status, creator, invitees). - Signed documents information with links for downloading. - Notarization session recording information with link for downloading. - Timestamps associated with a notarization request. - Termination reason and details when the notarization session was not completed successfully. ## Available Notarization Request Statuses The following is a complete list of all possible notarization request statuses returned: | Notarization Request Status | Status Description | | :-------------------------- | :----------------------------------------------------------------------------------------------------------------- | | SENT | Notarization request has been created. Invitees are notified and can start the process of finding a notary. | | WAITING_FOR_NOTARY | One of the invitees initialised the process of finding a notary. | | ACCEPTED | Notarization request has been accepted by the notary. At this time nobody has joined the notarization session yet. | | LIVE | Notarization session has started. | | COMPLETED | Notarization session is finished. Documents have been successfully signed and ready for downloading. | | INCOMPLETE | Notarization session has started but was not completed successfully. | ## Signed documents Signed documents are the documents that were successfully signed during the notarization session. The signed document's info is available only if the notarization request has `COMPLETED` status, otherwise the returned list will be empty. In case you uploaded several documents for notarization then the `signed_documents` list will contain links for downloading for each document separately (with `SINGLE` document type) and link for the combined document (with `COMBINED` document type accordingly). ## Recording Recording is the video of the notarization session. The recording info is available only if the notarization request has `COMPLETED` status and recording is available, otherwise the returned object will be empty. > 📘 Links expire in 1 hour > > **Note**: The signed document and recording links expire in 1 hour. After this time it will be not possible to download files using the returned urls. In this case you need to call endpoint again since each request generates a new link. ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error.需要连接
Get details about a notarization request by its `id`. Details include: - Basic notarization request information (status, creator, invitees). - Signed documents information with links for downloading. - Notarization session recording information with link for downloading. - Timestamps associated with a notarization request. - Termination reason and details when the notarization session was not completed successfully. ## Available Notarization Request Statuses The following is a complete list of all possible notarization request statuses returned: | Notarization Request Status | Status Description | | :-------------------------- | :----------------------------------------------------------------------------------------------------------------- | | SENT | Notarization request has been created. Invitees are notified and can start the process of finding a notary. | | WAITING_FOR_NOTARY | One of the invitees initialised the process of finding a notary. | | ACCEPTED | Notarization request has been accepted by the notary. At this time nobody has joined the notarization session yet. | | LIVE | Notarization session has started. | | COMPLETED | Notarization session is finished. Documents have been successfully signed and ready for downloading. | | INCOMPLETE | Notarization session has started but was not completed successfully. | ## Signed documents Signed documents are the documents that were successfully signed during the notarization session. The signed document's info is available only if the notarization request has `COMPLETED` status, otherwise the returned list will be empty. In case you uploaded several documents for notarization then the `signed_documents` list will contain links for downloading for each document separately (with `SINGLE` document type) and link for the combined document (with `COMBINED` document type accordingly). ## Recording Recording is the video of the notarization session. The recording info is available only if the notarization request has `COMPLETED` status and recording is available, otherwise the returned object will be empty. > 📘 Links expire in 1 hour > > **Note**: The signed document and recording links expire in 1 hour. After this time it will be not possible to download files using the returned urls. In this case you need to call endpoint again since each request generates a new link. ## Limits A maximum of 100 API calls per minute is permitted. Exceeding this limit triggers a 429 Too Many Requests error.
认证
需要 Connected AccountTags
Quote updatePANDADOC_QUOTE_UPDATEThis operation updates the details of a specific quote within a document by specifying the document ID and quote ID.需要连接
This operation updates the details of a specific quote within a document by specifying the document ID and quote ID.
认证
需要 Connected AccountTags
Change Signer (Reassign Document Recipient)PANDADOC_REASSIGN_DOCUMENT_RECIPIENTReassign fields to another signer. > 🚧 Before you start > > To change a signer in a document, please ensure that: > > - You have the 'Can Manage Recipients' permission. > - New signer is already created in your contacts. If not, add them using the [Create Contact](https://developers.pandadoc.com/reference/create-contact) endpoint. You can reassign fields to another signer before the original signer has signed the document. You can choose any person except those recipients who have already signed the document. The endpoint path includes the `recipient_id` of the original signer and the request body must include the following two parameters: - `kind`: Set this parameter to `contact` to specify an individual contact. - `id`: Input the ID of the contact you want to use as a replacement for the original signer. To retrieve the contact's ID, use the [List Contacts](https://developers.pandadoc.com/reference/list-contacts) endpoint to access a list of all contacts, and then locate the desired contact by searching using the name or email address within the returned list. Once you execute the call to change the signer, the original signer will be entirely removed from the document. If you wish to retain the original signer as a CC recipient, you can re-add them using the [Add CC Recipient](https://developers.pandadoc.com/reference/add-new-recipient-cc) endpoint. > 🚧 Pre-filled fields > > If you change the signer in a document that has already been sent, the signer's pre-filled fields will be completely reset. In the 'Draft' (`document.draft`) status, pre-filled fields will remain.需要连接
Reassign fields to another signer. > 🚧 Before you start > > To change a signer in a document, please ensure that: > > - You have the 'Can Manage Recipients' permission. > - New signer is already created in your contacts. If not, add them using the [Create Contact](https://developers.pandadoc.com/reference/create-contact) endpoint. You can reassign fields to another signer before the original signer has signed the document. You can choose any person except those recipients who have already signed the document. The endpoint path includes the `recipient_id` of the original signer and the request body must include the following two parameters: - `kind`: Set this parameter to `contact` to specify an individual contact. - `id`: Input the ID of the contact you want to use as a replacement for the original signer. To retrieve the contact's ID, use the [List Contacts](https://developers.pandadoc.com/reference/list-contacts) endpoint to access a list of all contacts, and then locate the desired contact by searching using the name or email address within the returned list. Once you execute the call to change the signer, the original signer will be entirely removed from the document. If you wish to retain the original signer as a CC recipient, you can re-add them using the [Add CC Recipient](https://developers.pandadoc.com/reference/add-new-recipient-cc) endpoint. > 🚧 Pre-filled fields > > If you change the signer in a document that has already been sent, the signer's pre-filled fields will be completely reset. In the 'Draft' (`document.draft`) status, pre-filled fields will remain.
认证
需要 Connected AccountTags
Remove Member from WorkspacePANDADOC_REMOVE_MEMBERThis operation removes a specified member from a workspace by providing the workspace ID and member ID.需要连接
This operation removes a specified member from a workspace by providing the workspace ID and member ID.
认证
需要 Connected AccountTags
Rename Documents FolderPANDADOC_RENAME_DOCUMENT_FOLDERRename Documents Folder. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Rename Documents Folder. For the full list of folder operations and their limitations, see [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
Rename Templates FolderPANDADOC_RENAME_TEMPLATE_FOLDERRename a templates folder. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).需要连接
Rename a templates folder. For the full list of folder operations and their limitations, see [Organize Templates and Folders](https://developers.pandadoc.com/docs/organize-folders).
认证
需要 Connected AccountTags
List Catalog Items SearchPANDADOC_SEARCH_CATALOG_ITEMSThis method searches for items in your [product catalog](https://support.pandadoc.com/en/articles/9714691-product-catalog). Use the `query` parameter to search in title, SKU, description, category name, custom fields name and value. You can also search for items by their type, billing type, and category id. Order search results, in both ascending and descending order, by these item properties: - SKU - Name - Price - Modification date Use the `exclude_uuids` parameter to exclude particular uuids from the search request.需要连接
This method searches for items in your [product catalog](https://support.pandadoc.com/en/articles/9714691-product-catalog). Use the `query` parameter to search in title, SKU, description, category name, custom fields name and value. You can also search for items by their type, billing type, and category id. Order search results, in both ascending and descending order, by these item properties: - SKU - Name - Price - Modification date Use the `exclude_uuids` parameter to exclude particular uuids from the search request.
认证
需要 Connected AccountTags
[Beta] List Documents SearchPANDADOC_SEARCH_DOCUMENTS_AIFind documents from a natural-language query. PandaDoc AI interprets the query and returns the matching documents. PandaDoc offers two document search tools: this AI-powered search and the structured <a href="#/operations/listDocuments">List Documents</a> endpoint. <details><summary><strong>Document Search Tools Guide</strong> — click to expand</summary> #### When to use AI Search (this endpoint) - The query is in natural language (e.g., "show me all completed documents from Q2 2026") - The query mentions people by name (e.g., "contracts shared with John Smith") - The query uses relative date expressions (e.g., "last week", "this quarter") - You want the system to automatically determine the best filtering strategy - You want follow-up suggestions to help refine the search #### When to use List Documents - You already have exact, structured filter parameters (specific status codes, precise ISO-8601 date ranges) - You need to paginate through a large result set (explicit page/count control) - You need faster, more predictable response times - You need deterministic, repeatable queries for automation workflows #### Comparison | Feature | AI Search | List Documents | | ------------------------ | --------------------------------------------------- | ------------------------------------------------ | | **Input** | Single natural-language query | Search query + optional structured filters | | **Date handling** | Understands relative dates ("last week", "Q2 2026") | Requires explicit ISO-8601 date range | | **Status filtering** | Interprets from query ("completed", "sent") | Requires numeric status codes | | **Contact/owner search** | Resolves people by name | Not supported | | **Pagination** | Returns top 100 results | Supports explicit page and page size (up to 100) | | **Suggestions** | Returns follow-up suggestions for refinement | No suggestions | | **Best for** | Conversational, exploratory search | Precise, structured, repeatable queries | </details> The response may return fewer items than the total matches. The search caps the returned list based on query complexity: `count` shows the number of items returned in `results`. When the query matches more documents than returned, use one of the returned `suggestions` as a stricter follow-up query to narrow the results. > 🚧 **Beta** > > This endpoint is currently in beta and may change without notice.需要连接
Find documents from a natural-language query. PandaDoc AI interprets the query and returns the matching documents. PandaDoc offers two document search tools: this AI-powered search and the structured <a href="#/operations/listDocuments">List Documents</a> endpoint. <details><summary><strong>Document Search Tools Guide</strong> — click to expand</summary> #### When to use AI Search (this endpoint) - The query is in natural language (e.g., "show me all completed documents from Q2 2026") - The query mentions people by name (e.g., "contracts shared with John Smith") - The query uses relative date expressions (e.g., "last week", "this quarter") - You want the system to automatically determine the best filtering strategy - You want follow-up suggestions to help refine the search #### When to use List Documents - You already have exact, structured filter parameters (specific status codes, precise ISO-8601 date ranges) - You need to paginate through a large result set (explicit page/count control) - You need faster, more predictable response times - You need deterministic, repeatable queries for automation workflows #### Comparison | Feature | AI Search | List Documents | | ------------------------ | --------------------------------------------------- | ------------------------------------------------ | | **Input** | Single natural-language query | Search query + optional structured filters | | **Date handling** | Understands relative dates ("last week", "Q2 2026") | Requires explicit ISO-8601 date range | | **Status filtering** | Interprets from query ("completed", "sent") | Requires numeric status codes | | **Contact/owner search** | Resolves people by name | Not supported | | **Pagination** | Returns top 100 results | Supports explicit page and page size (up to 100) | | **Suggestions** | Returns follow-up suggestions for refinement | No suggestions | | **Best for** | Conversational, exploratory search | Precise, structured, repeatable queries | </details> The response may return fewer items than the total matches. The search caps the returned list based on query complexity: `count` shows the number of items returned in `results`. When the query matches more documents than returned, use one of the returned `suggestions` as a stricter follow-up query to narrow the results. > 🚧 **Beta** > > This endpoint is currently in beta and may change without notice.
认证
需要 Connected AccountTags
Document Section Upload StatusPANDADOC_SECTION_DETAILSReceive the upload status of the document and sections by their `upload_id`. Requesting document section upload status is useful to ensure a document section upload is in the expected state before calling additional API methods. In response, you receive an array with `sections_uuid`. You can receive information about each section using the [Document Section Info](https://developers.pandadoc.com/reference/document-section-info) endpoint. ```json "section_uuids": [ "H8T8CJofGY6JwTsWsPuDEF", "8MwLaU4SaZywqLiDk26mDF" ] ``` ## Available Document Section Upload Statuses The following is a complete list of all possible document statuses returned: | Document Status | Status Description | | :----------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document_sections_upload.UPLOADED` | The document section upload process has just been created. It is in processing and will be in `document_sections_upload.PROCESSED` state momentarily. | | `document_sections_upload.PROCESSED` | The document sections upload is processed and the sections are already created in the document. All aspects of the document sections can be edited in this state. | | `document_sections_upload.ERROR` | Document section upload procces has been failed. For more information check error details in the response. |需要连接
Receive the upload status of the document and sections by their `upload_id`. Requesting document section upload status is useful to ensure a document section upload is in the expected state before calling additional API methods. In response, you receive an array with `sections_uuid`. You can receive information about each section using the [Document Section Info](https://developers.pandadoc.com/reference/document-section-info) endpoint. ```json "section_uuids": [ "H8T8CJofGY6JwTsWsPuDEF", "8MwLaU4SaZywqLiDk26mDF" ] ``` ## Available Document Section Upload Statuses The following is a complete list of all possible document statuses returned: | Document Status | Status Description | | :----------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document_sections_upload.UPLOADED` | The document section upload process has just been created. It is in processing and will be in `document_sections_upload.PROCESSED` state momentarily. | | `document_sections_upload.PROCESSED` | The document sections upload is processed and the sections are already created in the document. All aspects of the document sections can be edited in this state. | | `document_sections_upload.ERROR` | Document section upload procces has been failed. For more information check error details in the response. |
认证
需要 Connected AccountTags
Document Section DetailsPANDADOC_SECTION_INFOReceive information about each section.需要连接
Receive information about each section.
认证
需要 Connected AccountTags
Send DocumentPANDADOC_SEND_DOCUMENT> 🚧 Using the Sandbox Key > > When you use a [sandbox API key](https://developers.pandadoc.com/reference/sandbox-key) during the free trial period, the sender and recipient email addresses must be from the same organisation (email domain). ## Document State - You can only send a document in the `document.draft` status. - After creating a new document, it usually retains a `document.uploaded` status for 3-5 seconds while the document syncs across PandaDoc servers. When the document is available for further API calls, it moves to the `document.draft` state. Use [Document Status](/reference/document-status) or [Webhooks](/reference/on-document-status-change) to check document status. - Moving a document to the `document.sent` status finalizes the document structure, before recipients can complete it. - If a template used for the document creation has an approval workflow turned on, the sent document moves to the `document.waiting_approval` status. Once the document is approved, you need to make the call again to move the document to `document.sent` status. ## Send and Silence Notifications - By default, PandaDoc sends a notification email to the recipient, as well as notifications the sender has configured. You may disable all notifications for recipients by passing `silent: true`. This is useful when you are using alternative delivery methods such as linking to the document or embedding the document. - The `silent: true` parameter disables sent, viewed, comment and completed document email notifications. "Document Approval" notification won't be affected by this parameter. - If you pass `silent: false`, the document is going to be delivered by email and/or SMS.  ## Select Approver from Group If you have previously set up an approval workflow with selectable groups on the UI, you can select a particular approver from this group. Learn more about [selectable groups](https://support.pandadoc.com/en/articles/9714799-approval-workflow#h_01H4GNY5GSGG38BPYY46XV7GB4). To set an approver, we recommend to follow these steps: 1. Run the [Document Details](https://developers.pandadoc.com/reference/document-details) request. 2. Copy the `steps` part from the `approval_execution` section of the response into the `selected_approvers` field of the Send Document payload. 3. Modify your payload according to business needs: set `is_selected` to true for one approver. > 📘 **Note**: You can change the selected approver only if you revert your document back to the `document.draft` status.需要连接
> 🚧 Using the Sandbox Key > > When you use a [sandbox API key](https://developers.pandadoc.com/reference/sandbox-key) during the free trial period, the sender and recipient email addresses must be from the same organisation (email domain). ## Document State - You can only send a document in the `document.draft` status. - After creating a new document, it usually retains a `document.uploaded` status for 3-5 seconds while the document syncs across PandaDoc servers. When the document is available for further API calls, it moves to the `document.draft` state. Use [Document Status](/reference/document-status) or [Webhooks](/reference/on-document-status-change) to check document status. - Moving a document to the `document.sent` status finalizes the document structure, before recipients can complete it. - If a template used for the document creation has an approval workflow turned on, the sent document moves to the `document.waiting_approval` status. Once the document is approved, you need to make the call again to move the document to `document.sent` status. ## Send and Silence Notifications - By default, PandaDoc sends a notification email to the recipient, as well as notifications the sender has configured. You may disable all notifications for recipients by passing `silent: true`. This is useful when you are using alternative delivery methods such as linking to the document or embedding the document. - The `silent: true` parameter disables sent, viewed, comment and completed document email notifications. "Document Approval" notification won't be affected by this parameter. - If you pass `silent: false`, the document is going to be delivered by email and/or SMS.  ## Select Approver from Group If you have previously set up an approval workflow with selectable groups on the UI, you can select a particular approver from this group. Learn more about [selectable groups](https://support.pandadoc.com/en/articles/9714799-approval-workflow#h_01H4GNY5GSGG38BPYY46XV7GB4). To set an approver, we recommend to follow these steps: 1. Run the [Document Details](https://developers.pandadoc.com/reference/document-details) request. 2. Copy the `steps` part from the `approval_execution` section of the response into the `selected_approvers` field of the Send Document payload. 3. Modify your payload according to business needs: set `is_selected` to true for one approver. > 📘 **Note**: You can change the selected approver only if you revert your document back to the `document.draft` status.
认证
需要 Connected AccountTags
Content Library Item StatusPANDADOC_STATUS_CONTENT_LIBRARY_ITEMRequesting the CLI status helps verify that a CLI is in the expected state before invoking additional API methods. ## Available CLI Statuses The following is a complete list of all possible CLI statuses returned: | CLI Status | Status Description | |-----------------|--------------------| | `cli.UPLOADED` | The CLI upload process has been initiated and is currently in progress. It will soon transition to the `cli.PROCESSED` state. | | `cli.PROCESSED` | The CLI has been successfully uploaded and created. At this stage, all aspects of the CLI are editable. | | `cli.ERROR` | The CLI upload process has failed. Please refer to the error details in the response for more information. |需要连接
Requesting the CLI status helps verify that a CLI is in the expected state before invoking additional API methods. ## Available CLI Statuses The following is a complete list of all possible CLI statuses returned: | CLI Status | Status Description | |-----------------|--------------------| | `cli.UPLOADED` | The CLI upload process has been initiated and is currently in progress. It will soon transition to the `cli.PROCESSED` state. | | `cli.PROCESSED` | The CLI has been successfully uploaded and created. At this stage, all aspects of the CLI are editable. | | `cli.ERROR` | The CLI upload process has failed. Please refer to the error details in the response for more information. |
认证
需要 Connected AccountTags
Document StatusPANDADOC_STATUS_DOCUMENTIt is useful to request document status to ensure a document is in the expected state before calling additional API methods. ### Required Document Statuses Here are some common methods and the `document.status` required to proceed: | API Method | Required Document State | | :------------------- | :---------------------- | | Send A Document | `document.draft` | | Get Document Details | `document.draft` | | Embed A Document | `document.sent` | | Download A Document | `document.completed` | > 📘 Polling vs Webhooks > > If you are using the `GET` document status endpoint for [**polling**](https://en.wikipedia.org/wiki/Polling_(computer_science)), we also support and recommend using **webhooks** for event-driven needs: <https://developers.pandadoc.com/docs/listen-document-status-changes#/> ### Available Document Statuses The following is a complete list of all possible document statuses returned: | Document Status | Status Description | | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document.uploaded` | The document has just been created or uploaded. It is in processing and will be in `document.draft` state soon. | | `document.error` | The document creation has failed. This status is terminal, you should stop polling after getting it. | `document.draft` | The document is in a draft state. All aspects of the document can be edited in this state. Our API does not support edits after the document has been created, but it can still be edited manually on <https://app.pandadoc.com> | | `document.sent` | The document has been "sealed" and optionally sent. No further document edits can occur except for document recipient(s) filling out or signing the document. | | `document.viewed` | Document recipient(s) have viewed the sent document. | | `document.waiting_approval` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and has not yet been approved. | | `document.rejected` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and was rejected. | | `document.approved` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and was approved. | | `document.waiting_pay` | The document has a [Stripe payment](https://support.pandadoc.com/en/articles/9714942-stripe-checkout-payments) option and is awaiting payment. | | `document.paid` | The document has a [Stripe payment](https://support.pandadoc.com/en/articles/9714942-stripe-checkout-payments) option and was paid. | | `document.completed` | The document has been completed by all recipients. | | `document.voided` | The document expired and is no longer available for completion or signature. | | `document.declined` | The document was [manually marked](https://support.pandadoc.com/en/articles/9714842-manually-change-document-status) as "Declined" | | `document.external_review` | The document is reviewed by it's recipient using Suggest Edit feature | | `document.scheduled` | The document is a draft scheduled to be sent automatically at a future time. |需要连接
It is useful to request document status to ensure a document is in the expected state before calling additional API methods. ### Required Document Statuses Here are some common methods and the `document.status` required to proceed: | API Method | Required Document State | | :------------------- | :---------------------- | | Send A Document | `document.draft` | | Get Document Details | `document.draft` | | Embed A Document | `document.sent` | | Download A Document | `document.completed` | > 📘 Polling vs Webhooks > > If you are using the `GET` document status endpoint for [**polling**](https://en.wikipedia.org/wiki/Polling_(computer_science)), we also support and recommend using **webhooks** for event-driven needs: <https://developers.pandadoc.com/docs/listen-document-status-changes#/> ### Available Document Statuses The following is a complete list of all possible document statuses returned: | Document Status | Status Description | | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document.uploaded` | The document has just been created or uploaded. It is in processing and will be in `document.draft` state soon. | | `document.error` | The document creation has failed. This status is terminal, you should stop polling after getting it. | `document.draft` | The document is in a draft state. All aspects of the document can be edited in this state. Our API does not support edits after the document has been created, but it can still be edited manually on <https://app.pandadoc.com> | | `document.sent` | The document has been "sealed" and optionally sent. No further document edits can occur except for document recipient(s) filling out or signing the document. | | `document.viewed` | Document recipient(s) have viewed the sent document. | | `document.waiting_approval` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and has not yet been approved. | | `document.rejected` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and was rejected. | | `document.approved` | The document has an [automatic approval workflow](https://support.pandadoc.com/en/articles/9714799-approval-workflow) and was approved. | | `document.waiting_pay` | The document has a [Stripe payment](https://support.pandadoc.com/en/articles/9714942-stripe-checkout-payments) option and is awaiting payment. | | `document.paid` | The document has a [Stripe payment](https://support.pandadoc.com/en/articles/9714942-stripe-checkout-payments) option and was paid. | | `document.completed` | The document has been completed by all recipients. | | `document.voided` | The document expired and is no longer available for completion or signature. | | `document.declined` | The document was [manually marked](https://support.pandadoc.com/en/articles/9714842-manually-change-document-status) as "Declined" | | `document.external_review` | The document is reviewed by it's recipient using Suggest Edit feature | | `document.scheduled` | The document is a draft scheduled to be sent automatically at a future time. |
认证
需要 Connected AccountTags
Document Auto Reminder StatusPANDADOC_STATUS_DOCUMENT_AUTO_REMINDERRetrieves the current auto reminder status per recipient for a specified document. Recipients who could not receive reminders due to validations (recipient groups, non-signers, etc.) will be skipped and not included in the response.需要连接
Retrieves the current auto reminder status per recipient for a specified document. Recipients who could not receive reminders due to validations (recipient groups, non-signers, etc.) will be skipped and not included in the response.
认证
需要 Connected AccountTags
Template StatusPANDADOC_STATUS_TEMPLATE## Available Template Statuses The following is a complete list of all possible template statuses returned: | Template Status | Status Description | | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | | `template.UPLOADED` | The template upload process has been initiated and is currently in progress. It will soon transition to the `template.PROCESSED` state. | | `template.PROCESSED` | The template has been successfully uploaded and created. At this stage, all aspects of the template are editable. | | `template.ERROR` | The template upload process has failed. Please refer to the error details in the response for more information. |需要连接
## Available Template Statuses The following is a complete list of all possible template statuses returned: | Template Status | Status Description | | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | | `template.UPLOADED` | The template upload process has been initiated and is currently in progress. It will soon transition to the `template.PROCESSED` state. | | `template.PROCESSED` | The template has been successfully uploaded and created. At this stage, all aspects of the template are editable. | | `template.ERROR` | The template upload process has failed. Please refer to the error details in the response for more information. |
认证
需要 Connected AccountTags
Get template settingsPANDADOC_TEMPLATE_SETTINGS_GETRetrieves the settings for a specified template. Only the language field is currently supported.需要连接
Retrieves the settings for a specified template. Only the language field is currently supported.
认证
需要 Connected AccountTags
Update template settingsPANDADOC_TEMPLATE_SETTINGS_UPDATEUpdates the settings for a specified template. Only the language field is currently supported.需要连接
Updates the settings for a specified template. Only the language field is currently supported.
认证
需要 Connected AccountTags
Transfer all documents ownershipPANDADOC_TRANSFER_ALL_DOCUMENTS_OWNERSHIPThis method transfers ownership of all documents from one member to another.需要连接
This method transfers ownership of all documents from one member to another.
认证
需要 Connected AccountTags
Update document ownershipPANDADOC_TRANSFER_DOCUMENT_OWNERSHIPThis operation allows transferring the ownership of a document to another user by specifying the document ID and membership ID.需要连接
This operation allows transferring the ownership of a document to another user by specifying the document ID and membership ID.
认证
需要 Connected AccountTags
Update Catalog ItemPANDADOC_UPDATE_CATALOG_ITEMUpdate catalog item.需要连接
Update catalog item.
认证
需要 Connected AccountTags
Update ContactPANDADOC_UPDATE_CONTACTThis method updates a contact details.需要连接
This method updates a contact details.
认证
需要 Connected AccountTags
Update DocumentPANDADOC_UPDATE_DOCUMENTUse the PATCH method to update a PandaDoc document. > 🚧 Document status > > You can only update a document in the Draft status (`document.draft`). > > After creating a new document, it usually retains a `document.uploaded` status for 3-5 seconds while the document syncs across PandaDoc servers. When the document is available for further API calls, the document moves to the `document.draft` state. Use [Document Status](https://developers.pandadoc.com/reference/document-status) or Webhooks to check document status.需要连接
Use the PATCH method to update a PandaDoc document. > 🚧 Document status > > You can only update a document in the Draft status (`document.draft`). > > After creating a new document, it usually retains a `document.uploaded` status for 3-5 seconds while the document syncs across PandaDoc servers. When the document is available for further API calls, the document moves to the `document.draft` state. Use [Document Status](https://developers.pandadoc.com/reference/document-status) or Webhooks to check document status.
认证
需要 Connected AccountTags
Update Document Auto Reminder SettingsPANDADOC_UPDATE_DOCUMENT_AUTO_REMINDER_SETTINGSConfigures automatic reminders for document recipients. These reminders are sent after the document's initial dispatch. Settings include enabling reminders, delivery method (email/SMS), initial delay, and recurrence frequency.需要连接
Configures automatic reminders for document recipients. These reminders are sent after the document's initial dispatch. Settings include enabling reminders, delivery method (email/SMS), initial delay, and recurrence frequency.
认证
需要 Connected AccountTags
Update Document Fields AssignmentPANDADOC_UPDATE_DOCUMENT_FIELDS_ASSIGNMENTAssign, reassign, or unassign document fields to recipients. Supports bulk operations by accepting multiple field assignment items in a single request. > 🚧 Before you start > > - The document must be in the 'Draft' (`document.draft`) status. > - You must have the 'Can Edit Document' permission.需要连接
Assign, reassign, or unassign document fields to recipients. Supports bulk operations by accepting multiple field assignment items in a single request. > 🚧 Before you start > > - The document must be in the 'Draft' (`document.draft`) status. > - You must have the 'Can Edit Document' permission.
认证
需要 Connected AccountTags
Template UpdatePANDADOC_UPDATE_TEMPLATEUpdate a template. Currently supports updating template variables (`tokens`) and managing template roles. > 🚧 Template status > > You can only update a template in the PROCESSED status (`template.PROCESSED`). > > After creating a new template, it usually retains a `template.uploaded` status for 3-5 seconds while the template syncs across PandaDoc servers. When the template is available for further API calls, the template moves to the `template.PROCESSED` state. Use [Template Status](https://developers.pandadoc.com/reference/template-status) or Webhooks to check template status. ## Managing template roles Pass a `roles` array to replace the full set of template roles in a single request: - Items with an existing `id` update that role (`name`, `signing_order`). - Items without an `id` create a new role. - Existing roles whose `id` is not in the array are deleted. Role names must be unique within a template. Preassigned contacts and contact groups attached to roles in the template editor are preserved on updates and removed together with their role on deletion — they are not managed by this endpoint.需要连接
Update a template. Currently supports updating template variables (`tokens`) and managing template roles. > 🚧 Template status > > You can only update a template in the PROCESSED status (`template.PROCESSED`). > > After creating a new template, it usually retains a `template.uploaded` status for 3-5 seconds while the template syncs across PandaDoc servers. When the template is available for further API calls, the template moves to the `template.PROCESSED` state. Use [Template Status](https://developers.pandadoc.com/reference/template-status) or Webhooks to check template status. ## Managing template roles Pass a `roles` array to replace the full set of template roles in a single request: - Items with an existing `id` update that role (`name`, `signing_order`). - Items without an `id` create a new role. - Existing roles whose `id` is not in the array are deleted. Role names must be unique within a template. Preassigned contacts and contact groups attached to roles in the template editor are preserved on updates and removed together with their role on deletion — they are not managed by this endpoint.
认证
需要 Connected AccountTags
Update Template Sharing SettingsPANDADOC_UPDATE_TEMPLATE_SHARING_SETTINGSReplaces the full list of Workspaces this Template is shared with. The caller must be a member of every Workspace being newly shared by this call. Unsharing a Workspace only requires permission to edit the Template.需要连接
Replaces the full list of Workspaces this Template is shared with. The caller must be a member of every Workspace being newly shared by this call. Unsharing a Workspace only requires permission to edit the Template.
认证
需要 Connected AccountTags
Update Webhook SubscriptionPANDADOC_UPDATE_WEBHOOK_SUBSCRIPTIONThis operation updates the details of a webhook subscription.需要连接
This operation updates the details of a webhook subscription.
认证
需要 Connected AccountTags
Update Webhook Subscription Shared KeyPANDADOC_UPDATE_WEBHOOK_SUBSCRIPTION_SHARED_KEYThis operation regenerates the shared key for a specific webhook subscription identified by its UUID.需要连接
This operation regenerates the shared key for a specific webhook subscription identified by its UUID.
认证
需要 Connected AccountTags
Create Document SectionPANDADOC_UPLOAD_SECTIONWith this endpoint, you can add a new section to an existing PandaDoc document (create a bundle). You can upload a section to the document using a PandaDoc template or a file by URL. > ⏱️ Document Section creation is a non-blocking (asynchronous) operation > > The document creation process may take some time. > > With a successful request, you receive a response with the created upload ID and status `document_sections_upload.uploaded`. After processing completes on our servers, usually a few seconds, the document moves to the `document_sections_upload.PROCESSED` status. ## Using a PandaDoc template <details> > 🚧 Current Version Limitations > > Images in sections are currently not supported. > 📘 Pricing tables note > > Each pricing table must have a unique name to populate it with data correctly. A PandaDoc template is a document template created and edited in the PandaDoc web application. Our [help center](https://support.pandadoc.com/en/articles/9714616-save-time-with-a-reusable-template) has further information on PandaDoc templates. If you don't have any PandaDoc Template yet, you can easily create one by clicking [Copy a Sample PandaDoc template](https://app.pandadoc.com/get-this-template/?pt=public_template&pub=eiC3a6qBVfEfbw7VCYgaeN). This will open the PandaDoc application in a new tab, copy the sample template into your account, and create a new document from the template. </details> ## Using a File by URL <details> Using this endpoint you can add a section to the existing document. The section is created from a file you upload. The file can be a PDF, DocX, or RTF. > 📘 We've prepared two samples that you can use to test the request. > Download them here: > > - [Download a Sample PDF with Form Fields](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FormFields.pdf) > - [Download a Sample PDF with Field Tags](https://5132871.fs1.hubspotusercontent-na1.net/hubfs/5132871/SamplePandaDocPdf_FieldTags_updated.pdf) > ❗️ Limitations > > * This method does not support multiple documents. > * The maximum supported file size is 50 MB. API returns "413 Request entity too large" in case of bigger files. > * PandaDoc does not support creating document from a PDF with encrypted files (to check whether a file is encrypted or not, try Get info -> Secure: Password Encrypted). ### PDF Form Fields PandaDoc recognizes PDF form fields. To enable this feature, pass the optional `parse_form_fields` value as `true` when making a create document section API call. We support Text fields, Dropdowns, and Signature fields. If you would like to pass additional parameters to configure PDF form fields, use the PDF field name as an optId. You can use a PDF editor such as Adobe Acrobat, Foxit to get and edit field names in your PDF. [**Download a Sample PDF with Form Fields**](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FormFields.pdf) ### PDF/DocX/RTF Field Tags This parsing format allows a word processor such as [Microsoft Word](https://support.office.com/en-us/article/Save-as-PDF-d85416c5-7d77-4fd6-a216-6f4bf7c7c110?ui=en-US&rs=en-US&ad=US) or [Google Docs](https://support.google.com/drive/answer/2423534?co=GENIE.Platform%3DDesktop&hl=en) to prepare a document and save it in PDF, DocX or RTF format. Within the text, PandaDoc parses field tags. A field tag starts and ends with brackets. The field tag includes basic information on how to create a form field in the PandaDoc document. The request JSON object `optId` can also extend this information for even greater control. Here is an example of how the field tag in a PDF/DocX/RTF is converted to a text field in the PandaDoc document:  [**Download a Sample PDF with Field Tags**](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FieldTags.pdf) #### PDF Field Tag Key  | Number | Key | Description | Example | | :----- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- | | 1 | `fieldType` | Field type from the table documented below | `signature`, or `s` for shorthand | | 2 | `*` | Optional `*` denotes the field is not required | `*` | | 3 | `role` | Role name. Associate the field tag with a recipient role. Roles must be assigned to recipients in the request body. In this case we are using role `s1` to keep the length short and denote the concept of "signer 1". `s1` would be the value passed as role in a recipient JSON object. | `s1` | | 4 | `optId` | Optional field Id. Specify more information about the field tag within the post request by using this id. | `sigBox17` | | 5 | `_____` | Use underscores to widen the field if desired. The form fields in PandaDoc will scale to the length and size of your field tag. | `_____` | > 🚧 Role names restrictions > > Underscores are not supported in role names for a file with a Field Tag. #### PDF/DocX/RTF Field Tag Supported Types | Field Type | Short Notation | Is PandaDoc Field | | :---------- | :------------- | :---------------- | | `textfield` | `t` | Field | | `checkbox` | `c` | Field | | `signature` | `s` | Field | | `date` | `d` | Field | | `initials` | `i` | Field | | `dropdown` | `dd` | Field | ```json Field Tags Example "fields": { "textfield": { "value": "Jane", "role": "user" }, "dropdown": { "value": "opt1", "role": "user", "options":[ "opt1", "opt2", "opt3" ] }, "checkbox": { "value": true, "role": "user" }, "date":{ "value": "2022-05-20", "role": "user" }, "signature": { "value": "", "role": "user" } } ``` > 📘 Fields in PandaDoc > > The following article explains how to use Fields: [Everything you need to know about Fields](https://support.pandadoc.com/en/articles/9714583-fields) ### Signing order Set a signing order for document section sections created from a file. ```json "recipients": [ { "email": "josh@example.com", "first_name": "Josh", "last_name": "Ron", "role": "user", "signing_order": 1 } ] ``` > 📘 Signing order in PandaDoc > > The following article explains how to use signing order: [How to use signing order](https://support.pandadoc.com/en/articles/9714771-signing-order) ### Error handling | Error description | Type | Root cause | |---|---|---| | Document version 1 is not supported. | Validation errors: Form fields | The creation document section is supported only for document version 2 | | PDF content hasn't been processed: document is broken or locked | Processing errors: Failed to process document content | Document converter service can’t process PDF. This may be caused by locked PDF or if it’s broken. | | Error occurred while parsing PDF field tags. Please try PDF flattening or reach out to support | Processing errors: Field tag / Form field validation error | Doc converter managed to parse PDF and extract tags, but at least 1 of them is invalid (having negative position, for example). Usually we recommend PDF flattening and it helps | | No role='{role}' for field tag specified in `recipients` found, roles passed were {roles} | Validation errors: Field tags | Role is invalid. When the role specified in field tag is empty or wasn’t provided in a payload for any recipient | | All field tags within PDF must be declared within `fields` object of the JSON Payload. No field with optId='{optid}' found in fields object, fields passed were {optids} | Validation errors: Field tags | Label is invalid. Occurs when **optId** specified in field tag is empty or no field with **name = optId** was provided in a payload | | One of field tags in PDF with type='{field}' doesn't have a role | Validation errors: Field tags | Field tag in PDF has no role. One of field tags in PDF with type=% doesn't have a role. | | Role for form field with name='{role}' is not provided in payload | Validation errors: Form fields | Role for form field with ‘name’ is not provided. Occurs when `role` for form field with name=%s is not provided in payload | | Field for form field with name='{name}' is not specified in payload, available names are {names} | Validation errors: Form fields | Field ‘name’ is not specified in payload. Occurs when no field with name = form field name was provided in a payload | | No role='{role}' for form field specified in 'recipients' found, roles passed were {roles}" | Validation errors: Form fields | Failed to resolve field actor for `role` in form field with ‘name’. Occurs when role from the form field is not found in recipient’s from payload | | Failed to download file from link {url}. | Source errors | Error on attempt to download file. An error has occurred on an attempt to download file using the provided ‘url’ in payload | | Failed to download file from link {url} (status code: {status code}) | Source errors | Error with HTTP status code on attempt to download file. An error has occurred on an attempt to download file using the provided ‘url’ in payload - remote server responded with the HTTP status code | | Content type='{type}' is not supported, available types are {types} | Source errors | Content type is not supported. Content type should be one of the following: PDF, ZIP, doc, docx, RTF | | The maximum file size is exceeded, limit is {limit} MB | Source errors | The file size has exceeded the allowed limits. An error occurred while trying to download a file that is too large (limit is 50M) | </details>需要连接
With this endpoint, you can add a new section to an existing PandaDoc document (create a bundle). You can upload a section to the document using a PandaDoc template or a file by URL. > ⏱️ Document Section creation is a non-blocking (asynchronous) operation > > The document creation process may take some time. > > With a successful request, you receive a response with the created upload ID and status `document_sections_upload.uploaded`. After processing completes on our servers, usually a few seconds, the document moves to the `document_sections_upload.PROCESSED` status. ## Using a PandaDoc template <details> > 🚧 Current Version Limitations > > Images in sections are currently not supported. > 📘 Pricing tables note > > Each pricing table must have a unique name to populate it with data correctly. A PandaDoc template is a document template created and edited in the PandaDoc web application. Our [help center](https://support.pandadoc.com/en/articles/9714616-save-time-with-a-reusable-template) has further information on PandaDoc templates. If you don't have any PandaDoc Template yet, you can easily create one by clicking [Copy a Sample PandaDoc template](https://app.pandadoc.com/get-this-template/?pt=public_template&pub=eiC3a6qBVfEfbw7VCYgaeN). This will open the PandaDoc application in a new tab, copy the sample template into your account, and create a new document from the template. </details> ## Using a File by URL <details> Using this endpoint you can add a section to the existing document. The section is created from a file you upload. The file can be a PDF, DocX, or RTF. > 📘 We've prepared two samples that you can use to test the request. > Download them here: > > - [Download a Sample PDF with Form Fields](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FormFields.pdf) > - [Download a Sample PDF with Field Tags](https://5132871.fs1.hubspotusercontent-na1.net/hubfs/5132871/SamplePandaDocPdf_FieldTags_updated.pdf) > ❗️ Limitations > > * This method does not support multiple documents. > * The maximum supported file size is 50 MB. API returns "413 Request entity too large" in case of bigger files. > * PandaDoc does not support creating document from a PDF with encrypted files (to check whether a file is encrypted or not, try Get info -> Secure: Password Encrypted). ### PDF Form Fields PandaDoc recognizes PDF form fields. To enable this feature, pass the optional `parse_form_fields` value as `true` when making a create document section API call. We support Text fields, Dropdowns, and Signature fields. If you would like to pass additional parameters to configure PDF form fields, use the PDF field name as an optId. You can use a PDF editor such as Adobe Acrobat, Foxit to get and edit field names in your PDF. [**Download a Sample PDF with Form Fields**](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FormFields.pdf) ### PDF/DocX/RTF Field Tags This parsing format allows a word processor such as [Microsoft Word](https://support.office.com/en-us/article/Save-as-PDF-d85416c5-7d77-4fd6-a216-6f4bf7c7c110?ui=en-US&rs=en-US&ad=US) or [Google Docs](https://support.google.com/drive/answer/2423534?co=GENIE.Platform%3DDesktop&hl=en) to prepare a document and save it in PDF, DocX or RTF format. Within the text, PandaDoc parses field tags. A field tag starts and ends with brackets. The field tag includes basic information on how to create a form field in the PandaDoc document. The request JSON object `optId` can also extend this information for even greater control. Here is an example of how the field tag in a PDF/DocX/RTF is converted to a text field in the PandaDoc document:  [**Download a Sample PDF with Field Tags**](https://cdn2.hubspot.net/hubfs/2127247/public-templates/SamplePandaDocPdf_FieldTags.pdf) #### PDF Field Tag Key  | Number | Key | Description | Example | | :----- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- | | 1 | `fieldType` | Field type from the table documented below | `signature`, or `s` for shorthand | | 2 | `*` | Optional `*` denotes the field is not required | `*` | | 3 | `role` | Role name. Associate the field tag with a recipient role. Roles must be assigned to recipients in the request body. In this case we are using role `s1` to keep the length short and denote the concept of "signer 1". `s1` would be the value passed as role in a recipient JSON object. | `s1` | | 4 | `optId` | Optional field Id. Specify more information about the field tag within the post request by using this id. | `sigBox17` | | 5 | `_____` | Use underscores to widen the field if desired. The form fields in PandaDoc will scale to the length and size of your field tag. | `_____` | > 🚧 Role names restrictions > > Underscores are not supported in role names for a file with a Field Tag. #### PDF/DocX/RTF Field Tag Supported Types | Field Type | Short Notation | Is PandaDoc Field | | :---------- | :------------- | :---------------- | | `textfield` | `t` | Field | | `checkbox` | `c` | Field | | `signature` | `s` | Field | | `date` | `d` | Field | | `initials` | `i` | Field | | `dropdown` | `dd` | Field | ```json Field Tags Example "fields": { "textfield": { "value": "Jane", "role": "user" }, "dropdown": { "value": "opt1", "role": "user", "options":[ "opt1", "opt2", "opt3" ] }, "checkbox": { "value": true, "role": "user" }, "date":{ "value": "2022-05-20", "role": "user" }, "signature": { "value": "", "role": "user" } } ``` > 📘 Fields in PandaDoc > > The following article explains how to use Fields: [Everything you need to know about Fields](https://support.pandadoc.com/en/articles/9714583-fields) ### Signing order Set a signing order for document section sections created from a file. ```json "recipients": [ { "email": "josh@example.com", "first_name": "Josh", "last_name": "Ron", "role": "user", "signing_order": 1 } ] ``` > 📘 Signing order in PandaDoc > > The following article explains how to use signing order: [How to use signing order](https://support.pandadoc.com/en/articles/9714771-signing-order) ### Error handling | Error description | Type | Root cause | |---|---|---| | Document version 1 is not supported. | Validation errors: Form fields | The creation document section is supported only for document version 2 | | PDF content hasn't been processed: document is broken or locked | Processing errors: Failed to process document content | Document converter service can’t process PDF. This may be caused by locked PDF or if it’s broken. | | Error occurred while parsing PDF field tags. Please try PDF flattening or reach out to support | Processing errors: Field tag / Form field validation error | Doc converter managed to parse PDF and extract tags, but at least 1 of them is invalid (having negative position, for example). Usually we recommend PDF flattening and it helps | | No role='{role}' for field tag specified in `recipients` found, roles passed were {roles} | Validation errors: Field tags | Role is invalid. When the role specified in field tag is empty or wasn’t provided in a payload for any recipient | | All field tags within PDF must be declared within `fields` object of the JSON Payload. No field with optId='{optid}' found in fields object, fields passed were {optids} | Validation errors: Field tags | Label is invalid. Occurs when **optId** specified in field tag is empty or no field with **name = optId** was provided in a payload | | One of field tags in PDF with type='{field}' doesn't have a role | Validation errors: Field tags | Field tag in PDF has no role. One of field tags in PDF with type=% doesn't have a role. | | Role for form field with name='{role}' is not provided in payload | Validation errors: Form fields | Role for form field with ‘name’ is not provided. Occurs when `role` for form field with name=%s is not provided in payload | | Field for form field with name='{name}' is not specified in payload, available names are {names} | Validation errors: Form fields | Field ‘name’ is not specified in payload. Occurs when no field with name = form field name was provided in a payload | | No role='{role}' for form field specified in 'recipients' found, roles passed were {roles}" | Validation errors: Form fields | Failed to resolve field actor for `role` in form field with ‘name’. Occurs when role from the form field is not found in recipient’s from payload | | Failed to download file from link {url}. | Source errors | Error on attempt to download file. An error has occurred on an attempt to download file using the provided ‘url’ in payload | | Failed to download file from link {url} (status code: {status code}) | Source errors | Error with HTTP status code on attempt to download file. An error has occurred on an attempt to download file using the provided ‘url’ in payload - remote server responded with the HTTP status code | | Content type='{type}' is not supported, available types are {types} | Source errors | Content type is not supported. Content type should be one of the following: PDF, ZIP, doc, docx, RTF | | The maximum file size is exceeded, limit is {limit} MB | Source errors | The file size has exceeded the allowed limits. An error occurred while trying to download a file that is too large (limit is 50M) | </details>
认证
需要 Connected AccountTags