### Get Template Settings Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Retrieves the settings for a specific template. ```APIDOC ## GET /public/v2/templates/{template_id}/settings ### Description Retrieves the settings for a specific template. ### Method GET ### Endpoint /public/v2/templates/{template_id}/settings ### Parameters #### Path Parameters - **template_id** (string) - Required - The ID of the template. ``` -------------------------------- ### Get Document Settings Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentSettingsApi.md Retrieves the current settings for a specified document. Ensure you have your API key configured. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentSettingsApi(configuration); const body:pd_api.DocumentSettingsApiDocumentSettingsGetRequest = { // string | Unique identifier of the document to retrieve settings for. documentId: "BhVzRcxH9Z2LgfPPGXFUBa", }; apiInstance.documentSettingsGet(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create Content Library Item Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md Use this method to create an empty item in the content library. No content is required during initial creation. Ensure you have your API key and have installed the pandadoc-node-client. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.ContentLibraryItemsApi(configuration); const body:pd_api.ContentLibraryItemsApiCreateContentLibraryItemRequest = { // ContentLibraryItemCreateFromUrlRequest contentLibraryItemCreateFromUrlRequest: null, }; apiInstance.createContentLibraryItem(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create Notarization Request Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/NotaryApi.md Creates a notarization request for a document. Ensure the document is in draft status and the Notary add-on is installed. This snippet demonstrates setting up the API client, defining the request body with document ID, invitee details, and optional notary information, and then calling the API. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.NotaryApi(configuration); const body:pd_api.NotaryApiCreateNotarizationRequestRequest = { // CreateNotarizationRequest createNotarizationRequest: { documentId: "8DstGmLJDBXBKrh3wnqzpe", disableInviteesNotifications: true, invitation: { message: "Some message", invitees: [ { email: "email@gmail.com", firstName: "John", lastName: "Smith", }, ], }, notary: { id: "nyAnVpY7pZ23FBve8s9xgk", scheduledAt: new Date('2025-09-01T11:00:00Z'), message: "Please review the document before the scheduled session", }, }, }; apiInstance.createNotarizationRequest(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create User with Roles and Workspaces Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/UserAndWorkspaceManagementApi.md Use this method to create new users, assign them to workspaces with specific roles, and grant licenses. Ensure you have organization admin privileges and that the user's email domain matches your organization's domain. The user's email and phone number must also be in a valid format. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.UserAndWorkspaceManagementApi(configuration); const body:pd_api.UserAndWorkspaceManagementApiCreateUserRequest = { // CreateUserRequest createUserRequest: { user: { email: "email@example.com", firstName: "John", lastName: "Doe", phoneNumber: "+14842634627", }, workspaces: [ { workspaceId: "2eWSKSvVqmuVCnuUK3iWwD", role: "Member", }, ], license: "Full", }, // boolean | Send a confirmation email to the user that was added to workspace(s). (optional) notifyUser: true, // boolean | Send a confirmation email to all workspace admins indicating that the user has been added to the workspace. (optional) notifyWsAdmins: false, }; apiInstance.createUser(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Install PandaDoc Node Client SDK Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Install the PandaDoc Node.js client SDK using npm. You can install it from a package manager or directly from the repository. ```sh npm install pandadoc-node-client ``` ```sh npm install git+https://github.com/PandaDoc/pandadoc-api-node-client.git ``` -------------------------------- ### Create User Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates a new user. ```APIDOC ## POST /public/v1/users ### Description Creates a new user. ### Method POST ### Endpoint /public/v1/users ``` -------------------------------- ### statusContentLibraryItem Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md Get the status of a Content Library Item. ```APIDOC ## GET /public/v1/content-library-items/{id} ### Description Get the status of a Content Library Item. ### Method GET ### Endpoint /public/v1/content-library-items/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the content library item to get the status for. ### Request Example There is no request example provided in the source. ### Response #### Success Response (200) - **ContentLibraryResponse** - Description of the response body. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Initialize PandaDoc API Client and List Templates Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Initialize the PandaDoc API client with your API key and list templates. Ensure you replace 'YOUR_API_KEY' with your actual API key. ```typescript import * as pd_api from "pandadoc-node-client"; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.TemplatesApi(configuration); apiInstance.listTemplates({ deleted: false, tag: ["doe-inc-proposals"] }).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### listLogsV2 Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Lists API log events using GET /public/v2/logs. ```APIDOC ## GET /public/v2/logs ### Description Lists API log events. ### Method GET ### Endpoint /public/v2/logs ### Response #### Success Response (200) - **APILogListResponse** - A list of API log events. #### Error Responses - **401** - Authentication error - **429** - Too Many Requests ``` -------------------------------- ### Create Workspace Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates a new workspace. ```APIDOC ## POST /public/v1/workspaces ### Description Creates a new workspace. ### Method POST ### Endpoint /public/v1/workspaces ``` -------------------------------- ### listLogs Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Lists API log events using GET /public/v1/logs. ```APIDOC ## GET /public/v1/logs ### Description Lists API log events. ### Method GET ### Endpoint /public/v1/logs ### Response #### Success Response (200) - **APILogListResponse** - A list of API log events. #### Error Responses - **401** - Authentication error - **429** - Too Many Requests ``` -------------------------------- ### createExportDocxTask Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md [Beta] Creates a task to export a document as DOCX. ```APIDOC ## POST /public/beta/documents/{document_id}/docx-export-tasks ### Description [Beta] Creates a DOCX export task for a document. ### Method POST ### Endpoint /public/beta/documents/{document_id}/docx-export-tasks ``` -------------------------------- ### detailsLogV2 Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Returns details of the specific API log event using GET /public/v2/logs/{id}. ```APIDOC ## GET /public/v2/logs/{id} ### Description Returns details of the specific API log event. ### Method GET ### Endpoint /public/v2/logs/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Log event id. ### Response #### Success Response (200) - **APILogDetailsResponse** - Details of the API log event. #### Error Responses - **401** - Authentication error - **404** - Not found - **429** - Too Many Requests ``` -------------------------------- ### Create API Key Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates an API key for a workspace. ```APIDOC ## POST /public/v1/workspaces/{workspace_id}/api-keys ### Description Creates an API key for a workspace. ### Method POST ### Endpoint /public/v1/workspaces/{workspace_id}/api-keys ### Parameters #### Path Parameters - **workspace_id** (string) - Required - The ID of the workspace. ``` -------------------------------- ### detailsLog Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Returns details of the specific API log event using GET /public/v1/logs/{id}. ```APIDOC ## GET /public/v1/logs/{id} ### Description Returns details of the specific API log event. ### Method GET ### Endpoint /public/v1/logs/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Log event id. ### Response #### Success Response (200) - **APILogDetailsResponse** - Details of the API log event. #### Error Responses - **401** - Authentication error - **404** - Not found - **429** - Too Many Requests ``` -------------------------------- ### Create Template Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates a new template. ```APIDOC ## POST /public/v1/templates ### Description Creates a new template. ### Method POST ### Endpoint /public/v1/templates ``` -------------------------------- ### createContentLibraryItem Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md 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. ```APIDOC ## POST /public/v1/content-library-items ### Description Create an empty item in the content library. No actual content or data is required to be provided in the initial creation. ### Method POST ### Endpoint /public/v1/content-library-items ### Parameters #### Request Body - **contentLibraryItemCreateFromUrlRequest** (ContentLibraryItemCreateFromUrlRequest) - Required - Description of the request body. ### Request Example ```json { "contentLibraryItemCreateFromUrlRequest": null } ``` ### Response #### Success Response (201) - **ContentLibraryResponse** - Description of the response body. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Template Status Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/TemplatesApi.md Use this snippet to retrieve the status of a specific template by its ID. Ensure you have your API key and the template ID. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.TemplatesApi(configuration); const body:pd_api.TemplatesApiStatusTemplateRequest = { // string | Template ID id: "vibuun3DXG8QDDLfXm27Ne", }; apiInstance.statusTemplate(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createExportDocxTask Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentsApi.md Initiates an asynchronous task to export a document as a DOCX file. 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'. ```APIDOC ## POST /documents/{document_id}/docx ### Description Initiates an asynchronous task to export a document as a DOCX file. 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'. ### Method POST ### Endpoint /documents/{document_id}/docx ### Parameters #### Path Parameters - **document_id** (string) - Required - The ID of the document to export. #### Request Body This endpoint does not explicitly define a request body in the provided documentation, but the example shows a `documentId` field which might be implicitly used or passed via path parameter. ### Request Example ```json { "documentId": "BhVzRcxH9Z2LgfPPGXFUBa" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the export task. - **status** (string) - The status of the export task (e.g., 'created', 'done'). - **document_id** (string) - The ID of the document being exported. #### Response Example ```json { "id": "task_id_example", "status": "created", "document_id": "BhVzRcxH9Z2LgfPPGXFUBa" } ``` ### Error Handling - **401**: Authentication error - **403**: Permission error - **404**: Not found error - **429**: Too many requests error ``` -------------------------------- ### ContentLibraryItemsApi - createContentLibraryItemFromUpload Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates a new content library item by uploading a file. ```APIDOC ## POST /public/v1/content-library-items?upload ### Description Creates a new content library item from a file upload. ### Method POST ### Endpoint /public/v1/content-library-items?upload ### Parameters #### Request Body - **field1** (type) - Required/Optional - Description ``` -------------------------------- ### sectionInfo Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentSectionsBundlesApi.md Retrieves information about a specific section within a document. This method allows you to get details for a given document and section ID. ```APIDOC ## sectionInfo ### Description Receive information about each section. ### Method POST ### Endpoint /documents/{document_id}/sections/{section_id}/ ### Parameters #### Path Parameters - **document_id** (string) - Required - Document ID. - **section_id** (string) - Required - Section ID. ### Request Example ```json { "documentId": "BhVzRcxH9Z2LgfPPGXFUBa", "sectionId": "LQ6cUT7xevPLUEgJeF8Zrm" } ``` ### Response #### Success Response (200) - **SectionInfoResponse** (object) - Details about the section. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Template Settings Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/TemplateSettingsApi.md Use this snippet to retrieve the current settings for a specific template. Ensure you have your API key and the template ID. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.TemplateSettingsApi(configuration); const body:pd_api.TemplateSettingsApiTemplateSettingsGetRequest = { // string | Unique identifier of the template to retrieve settings for. templateId: "BhVzRcxH9Z2LgfPPGXFUBa", }; apiInstance.templateSettingsGet(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createUser Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/UserAndWorkspaceManagementApi.md Creates a new user, assigning them roles, licenses, and workspaces. Requires organization admin privileges. Email domain must match the organization's domain, and email/phone number must be valid. ```APIDOC ## POST /users ### Description Create users, and assign roles, licenses, and workspaces. Requires organization admin privileges. Email domain must match the organization's domain, and email/phone number must be valid. ### Method POST ### Endpoint /users ### Parameters #### Query Parameters - **notifyUser** (boolean) - Optional - Send a confirmation email to the user that was added to workspace(s). - **notifyWsAdmins** (boolean) - Optional - Send a confirmation email to all workspace admins indicating that the user has been added to the workspace. #### Request Body - **createUserRequest** (CreateUserRequest) - Required - User creation details. - **user** (object) - Required - User information. - **email** (string) - Required - User's email address. - **firstName** (string) - Required - User's first name. - **lastName** (string) - Required - User's last name. - **phoneNumber** (string) - Required - User's phone number. - **workspaces** (array) - Required - List of workspaces to assign the user to. - **workspaceId** (string) - Required - The ID of the workspace. - **role** (string) - Required - The role to assign in the workspace (e.g., 'Member'). - **license** (string) - Required - The license type to assign (e.g., 'Full'). ### Request Example ```json { "createUserRequest": { "user": { "email": "email@example.com", "firstName": "John", "lastName": "Doe", "phoneNumber": "+14842634627" }, "workspaces": [ { "workspaceId": "2eWSKSvVqmuVCnuUK3iWwD", "role": "Member" } ], "license": "Full" }, "notifyUser": true, "notifyWsAdmins": false } ``` ### Response #### Success Response (201) - **CreateUserResponse** (object) - Details of the created user. #### Response Example ```json { "id": "user_id_123", "email": "email@example.com", "firstName": "John", "lastName": "Doe", "status": "active" } ``` ### Error Handling - **400** - Bad Request - **401** - Authentication error - **403** - Permission error - **404** - Not found - **429** - Too Many Requests ``` -------------------------------- ### Get List of Workspaces Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/UserAndWorkspaceManagementApi.md Retrieves a paginated list of active workspaces within an organization. Requires API key authentication and configuration of the client. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.UserAndWorkspaceManagementApi(configuration); const body:pd_api.UserAndWorkspaceManagementApiGetWorkspacesListRequest = { // number | Number of elements in page. (optional) count: 10, // number | Page number. (optional) page: 1, }; apiInstance.getWorkspacesList(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createTemplateFolder Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/FoldersApi.md Creates a new folder to store templates. Refer to the full documentation for folder operations and limitations. ```APIDOC ## POST /folders/templates ### Description 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). ### Method POST ### Endpoint /folders/templates ### Parameters #### Request Body - **templatesFolderCreateRequest** (TemplatesFolderCreateRequest) - Required - Object containing the name and parent UUID for the new folder. - **name** (string) - Required - The name of the new folder. - **parentUuid** (string) - Optional - The UUID of the parent folder. If not provided, the folder will be created at the root level. ### Request Example ```json { "templatesFolderCreateRequest": { "name": "A new template folder", "parentUuid": "Nq8htXxFssmhRxAPSP4SBP" } } ``` ### Response #### Success Response (201) - **TemplatesFolderCreateResponse** - Details of the created folder. #### Response Example ```json { "uuid": "string", "name": "string", "parent_folder": null, "owner": { "id": "string", "email": "string", "first_name": "string", "last_name": "string" }, "created_at": "string", "modified_at": "string", "is_folder": true } ``` ### Authorization - apiKey - oauth2 ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ``` -------------------------------- ### Get Document Status Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentsApi.md Use this snippet to retrieve the current status of a specific PandaDoc document. Ensure you have your API key and the correct document ID. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentsApi(configuration); const body:pd_api.DocumentsApiStatusDocumentRequest = { // string | Specify document ID. id: "fANp5wW5EwY7AkiTkTGekZ", }; apiInstance.statusDocument(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createContentLibraryItemFromUpload Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md Creates a new content library item by uploading a file. The file is processed asynchronously. Maximum file size is 100 MB. Field tags and form fields are not supported. ```APIDOC ## POST /content/library/items/upload ### Description Allows users to create a new content library item by uploading a file. The uploaded file is processed in the background to generate the content library item. The maximum allowable file size for upload is 100 MB. Field tags and form fields are not supported yet. Once the file is uploaded, the processing will happen asynchronously, and users need to check the status of the content library item creation. ### Method POST ### Endpoint /content/library/items/upload ### Parameters #### Form Data Parameters - **file** (HttpFile) - Optional - Binary PDF File - **data** (ContentLibraryItemCreateRequest) - Optional - JSON as a multipart/form-data request. ### Request Example ```json { "file": "Binary PDF File", "data": null } ``` ### Response #### Success Response (201) - **ContentLibraryResponse** - Details of the created content library item. #### Response Example ```json { "example": "response body" } ``` ### Authorization - apiKey - oauth2 ### HTTP request headers - **Content-Type**: multipart/form-data - **Accept**: application/json ``` -------------------------------- ### Create Workspace Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/UserAndWorkspaceManagementApi.md Use this snippet to create a new workspace within your organization. Ensure you have Org Admin privileges. The API key and configuration must be set up before making the call. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.UserAndWorkspaceManagementApi(configuration); const body:pd_api.UserAndWorkspaceManagementApiCreateWorkspaceRequest = { // CreateWorkspaceRequest createWorkspaceRequest: { name: "A new workspace", }, }; apiInstance.createWorkspace(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Get Document Attachment Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentAttachmentsApi.md Retrieves details for a specific document attachment using its document and attachment IDs. Ensure your API key is correctly configured. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentAttachmentsApi(configuration); const body:pd_api.DocumentAttachmentsApiDetailsDocumentAttachmentRequest = { // string | Document UUID. id: "BhVzRcxH9Z2LgfPPGXFUBa", // string | Attachment UUID. attachmentId: "89ce2f49-10fb-4e9b-b5f3-e28be2a5c042", }; apiInstance.detailsDocumentAttachment(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create Catalog Item Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Creates a new item in the product catalog. ```APIDOC ## POST /public/v2/product-catalog/items ### Description Creates a new item in the product catalog. ### Method POST ### Endpoint /public/v2/product-catalog/items ``` -------------------------------- ### Get Document Auto Reminder Settings Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentRemindersApi.md Retrieves the current auto reminder configuration for a specified document. Ensure the document is not in a final state to avoid errors. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentRemindersApi(configuration); const body:pd_api.DocumentRemindersApiGetDocumentAutoReminderSettingsRequest = { // string | The UUID of the document. documentId: "BhVzRcxH9Z2LgfPPGXFUBa", }; apiInstance.getDocumentAutoReminderSettings(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Retrieve All Workspace Members Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/MembersApi.md Use this snippet to fetch all members associated with a workspace. Ensure you replace 'YOUR_API_KEY' with your actual PandaDoc API key and have the 'pandadoc-node-client' library installed. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.MembersApi(configuration); let body:any = {}; apiInstance.listMembers(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Retrieve Document eSign Disclosure Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentsApi.md Use this function to get the current version of eSign disclosure text for a specified document. Ensure you have your API key and the document ID. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentsApi(configuration); const body:pd_api.DocumentsApiDocumentESignDisclosureRequest = { // string | The UUID of the document. documentId: "BhVzRcxH9Z2LgfPPGXFUBa", }; apiInstance.documentESignDisclosure(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createTemplateWithUpload Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/TemplatesApi.md This asynchronous endpoint allows users to create a new template by uploading a file. The uploaded file is processed in the background to generate the template. The maximum allowable file size for upload is 100 MB. Field tags and form fields are not supported yet. Once the file is uploaded, the processing will happen asynchronously, and users need to check the status of the template creation. ```APIDOC ## POST /templates/upload ### Description Creates a new template by uploading a file. The file is processed asynchronously. ### Method POST ### Endpoint /templates/upload ### Parameters #### Form Data Parameters - **fields** (Array<'content_date_modified'>) - Optional - A comma-separated list of additional fields to include in the response. - **file** (HttpFile) - Optional - Binary PDF/DocX/RTF File. - **data** (CreateTemplateRequest) - Optional - JSON as a multipart/form-data string. ### Request Example ```json { "fields": ["content_date_modified"], "file": {"data": Buffer.from(fs.readFileSync('/path/to/file', 'utf-8')), "name": '/path/to/file'}, "data": null } ``` ### Response #### Success Response (201) - **TemplateCreateResponse** - Details about the created template. #### Response Example ```json { "template_uuid": "string", "template_name": "string", "status": "processing", "created_at": "2023-10-27T10:00:00.000Z" } ``` ### Error Handling - **400**: Bad Request - **401**: Authentication error - **429**: Too Many Requests ``` -------------------------------- ### Create a new template folder Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/FoldersApi.md Use this snippet to create a new folder for your templates. Ensure you replace 'YOUR_API_KEY' with your actual API key and provide a valid parent folder UUID if necessary. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.FoldersApi(configuration); const body:pd_api.FoldersApiCreateTemplateFolderRequest = { // TemplatesFolderCreateRequest templatesFolderCreateRequest: { name: "A new template folder", parentUuid: "Nq8htXxFssmhRxAPSP4SBP", }, }; apiInstance.createTemplateFolder(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Get Notarization Request Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/NotaryApi.md Use this snippet to retrieve detailed information about a specific notarization request by providing its unique ID. Ensure you have your API key configured. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.NotaryApi(configuration); const body:pd_api.NotaryApiNotarizationRequestDetailsRequest = { // string | Notarization Request ID. sessionRequestId: "0b2256a2-5803-4ae9-b1b8-595f48e37173", }; apiInstance.notarizationRequestDetails(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Get Catalog Item Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ProductCatalogApi.md Use this snippet to retrieve details of a specific catalog item using its UUID. Remember to substitute 'YOUR_API_KEY' with your valid PandaDoc API key. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.ProductCatalogApi(configuration); const body:pd_api.ProductCatalogApiGetCatalogItemRequest = { // string | Catalog item UUID itemUuid: "2e39c7e0-acb0-4ff2-b4cd-ea3141f95db8", }; apiInstance.getCatalogItem(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Download a Document with Customization Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentsApi.md Use this snippet to download a document as a PDF. You can specify the document ID and optionally add a watermark with custom text, color, font size, and opacity. It also supports downloading the document bundle as separate files. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentsApi(configuration); const body:pd_api.DocumentsApiDownloadDocumentRequest = { // string | Specify document ID. id: "BhVzRcxH9Z2LgfPPGXFUBa", // string | HEX code (for example `#FF5733`). (optional) watermarkColor: "#FF5733", // number | Font size of the watermark. (optional) watermarkFontSize: 12, // number | In range 0.0-1.0 (optional) watermarkOpacity: 0.5, // string | Specify watermark text. (optional) watermarkText: "John Doe inc.", // boolean | Download document bundle as a zip-archive of separate PDFs (1 file per section). (optional) separateFiles: false, }; apiInstance.downloadDocument(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Retrieve Document Auto Reminder Status Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/DocumentRemindersApi.md Use this snippet to get the current auto reminder status for recipients of a document. Ensure you have your API key and the document ID. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.DocumentRemindersApi(configuration); const body:pd_api.DocumentRemindersApiStatusDocumentAutoReminderRequest = { // string | The UUID of the document. documentId: "BhVzRcxH9Z2LgfPPGXFUBa", }; apiInstance.statusDocumentAutoReminder(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create Content Library Item from Upload Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md Use this endpoint to create a new content library item by uploading a file. The maximum file size is 100 MB. File processing occurs asynchronously. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.ContentLibraryItemsApi(configuration); const body:pd_api.ContentLibraryItemsApiCreateContentLibraryItemFromUploadRequest = { // HttpFile | Binary PDF File (optional) file: { data: Buffer.from(fs.readFileSync('/path/to/file', 'utf-8')), name: '/path/to/file' }, // ContentLibraryItemCreateRequest | JSON as a multipart/form-data request. (optional) data: null, }; apiInstance.createContentLibraryItemFromUpload(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createDocumentFolder Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/FoldersApi.md Creates a new folder to store documents. It allows specifying the folder name and optionally a parent folder ID. ```APIDOC ## POST /public/v1/documents/folders ### Description Creates a new folder to store your documents. Refer to [Organize Documents and Folders](https://developers.pandadoc.com/docs/organize-folders) for comprehensive details on folder operations and limitations. ### Method POST ### Endpoint /public/v1/documents/folders ### Parameters #### Request Body - **documentsFolderCreateRequest** (DocumentsFolderCreateRequest) - Required - The details for creating the new document folder, including its name and parent folder UUID if applicable. ### Request Example ```json { "name": "A new document folder", "parentUuid": "Nq8htXxFssmhRxAPSP4SBP" } ``` ### Response #### Success Response (201) - **DocumentsFolderCreateResponse** - Details of the newly created document folder. #### Response Example ```json { "uuid": "string", "name": "string", "parent_uuid": "string", "created_at": "string", "modified_at": "string", "type": "document" } ``` ``` -------------------------------- ### Get API Log Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Retrieves details for a specific API log event using its ID. Ensure you replace 'YOUR_API_KEY' with your actual PandaDoc API key. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.APILogsApi(configuration); const body:pd_api.APILogsApiDetailsLogRequest = { // string | Log event id. id: "AZC86i5PYKMjQjMMMw9e", }; apiInstance.detailsLog(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Create Webhook Subscription Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/WebhookSubscriptionsApi.md Use this snippet to create a new webhook subscription. Ensure you replace 'YOUR_API_KEY' with your actual API key and configure the subscription details like name, URL, payload, and triggers. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.WebhookSubscriptionsApi(configuration); const body:pd_api.WebhookSubscriptionsApiCreateWebhookSubscriptionRequest = { // WebhookSubscriptionCreateRequest webhookSubscriptionCreateRequest: { name: "My Subscription", url: "https://example.com", active: true, payload: [ "pricing", ], triggers: [ "document_state_changed", ], }, }; apiInstance.createWebhookSubscription(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Get Details of a PandaDoc Template Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/TemplatesApi.md Retrieve comprehensive details for a specific template using its ID. This includes information about roles, fields, tokens, pricing, metadata, tags, and content. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.TemplatesApi(configuration); const body:pd_api.TemplatesApiDetailsTemplateRequest = { // string | Template ID id: "vibuun3DXG8QDDLfXm27Ne", }; apiInstance.detailsTemplate(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### Get Webhook Subscription Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/WebhookSubscriptionsApi.md Retrieves the details of a specific webhook subscription using its UUID. Ensure you have your API key and have created the configuration and API instance before calling this method. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.WebhookSubscriptionsApi(configuration); const body:pd_api.WebhookSubscriptionsApiDetailsWebhookSubscriptionRequest = { // string | Webhook subscription uuid id: "4fb6506c-02a0-427e-b445-b9e9ff0c822f", }; apiInstance.detailsWebhookSubscription(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### List Workspaces Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/README.md Retrieves a list of workspaces. ```APIDOC ## GET /public/v1/workspaces ### Description Retrieves a list of workspaces. ### Method GET ### Endpoint /public/v1/workspaces ``` -------------------------------- ### Get Webhook Event Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/WebhookEventsApi.md Fetches detailed information about a specific webhook event using its unique identifier. Ensure you replace 'YOUR_API_KEY' with your actual PandaDoc API key. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.WebhookEventsApi(configuration); const body:pd_api.WebhookEventsApiDetailsWebhookEventRequest = { // string | Webhook event uuid. id: "8b61d111-5e0b-406d-a150-e8305fc7e97a", }; apiInstance.detailsWebhookEvent(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ``` -------------------------------- ### createContentLibraryItemFromUpload Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/ContentLibraryItemsApi.md Create Content Library Item from File Upload. ```APIDOC ## POST /public/v1/content-library-items?upload ### Description Create Content Library Item from File Upload. ### Method POST ### Endpoint /public/v1/content-library-items?upload ### Parameters There are no explicit parameters documented for this endpoint in the source. ### Request Example There is no request example provided in the source. ### Response There is no explicit response documented for this endpoint in the source. #### Success Response There is no explicit success response documented for this endpoint in the source. #### Response Example There is no response example provided in the source. ``` -------------------------------- ### createTemplate Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/TemplatesApi.md Creates a new template by providing the necessary template details. ```APIDOC ## POST /public/v1/templates ### Description This operation allows you to create a new template by providing the necessary template details. ### Method POST ### Endpoint /public/v1/templates ### Parameters #### Request Body - **createTemplateFromUrlRequest** (CreateTemplateFromUrlRequest) - Required - The details for creating the template. - **fields** (Array<'content_date_modified'>) - Optional - A comma-separated list of additional fields to include in the response. ### Request Example ```json { "createTemplateFromUrlRequest": null, "fields": ["content_date_modified"] } ``` ### Response #### Success Response (201) - **TemplateCreateResponse** - Details of the created template. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get API Log Event Details Source: https://github.com/pandadoc/pandadoc-api-node-client/blob/main/docs/APILogsApi.md Use this snippet to fetch the details of a specific API log event by its ID. Ensure you have your API key configured and the necessary imports. ```typescript import * as pd_api from 'pandadoc-node-client'; // replace it with your API key const API_KEY = "YOUR_API_KEY"; const configuration = pd_api.createConfiguration( { authMethods: {apiKey: `API-Key ${API_KEY}`} } ); const apiInstance = new pd_api.APILogsApi(configuration); const body:pd_api.APILogsApiDetailsLogV2Request = { // string | Log event id. id: "AZC86i5PYKMjQjMMMw9e", }; apiInstance.detailsLogV2(body).then((data) => { console.log('API called successfully. Returned data: %o', data); }).catch((error) => console.error(error)); ```