docspring 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/AGENTS.md +2 -2
  2. package/README.md +26 -6
  3. package/dist/ApiClient.js +3 -3
  4. package/dist/RequestSchemas.js +1171 -134
  5. package/dist/RequestValidator.js +4 -0
  6. package/dist/api/Client.js +1406 -248
  7. package/dist/index.js +196 -0
  8. package/dist/model/AddTemplateFieldsRequest.js +4 -4
  9. package/dist/model/AiFieldNamingLanguage.js +1 -1
  10. package/dist/model/AuthenticationCheck.js +2 -2
  11. package/dist/model/BarcodeSymbology.js +1 -1
  12. package/dist/model/CheckCharacter.js +1 -1
  13. package/dist/model/CombinedFieldType.js +1 -1
  14. package/dist/model/CombinedPdf.js +2 -2
  15. package/dist/model/CombinedPdfFiles.js +2 -2
  16. package/dist/model/CombinedPdfList.js +2 -2
  17. package/dist/model/CombinedPdfSource.js +3 -3
  18. package/dist/model/CombinedPdfSourceInput.js +3 -3
  19. package/dist/model/CombinedPdfSourcePdf.js +2 -2
  20. package/dist/model/CombinedPdfSourceType.js +1 -1
  21. package/dist/model/CombinedPdfState.js +1 -1
  22. package/dist/model/CopyTemplateRequest.js +2 -2
  23. package/dist/model/CreateAccountEmailActionRequest.js +306 -0
  24. package/dist/model/CreateCombinedPdfRequest.js +2 -2
  25. package/dist/model/CreateCustomFileFromUploadRequest.js +2 -2
  26. package/dist/model/CreateEmailActionRequest.js +280 -0
  27. package/dist/model/CreateEmailDomainRequest.js +114 -0
  28. package/dist/model/CreateFolderRequest.js +2 -2
  29. package/dist/model/CreateSignatureRequestEventRequest.js +2 -2
  30. package/dist/model/CreateSignatureRequestTokenRequest.js +2 -2
  31. package/dist/model/CreateSubmissionBatchRequest.js +5 -5
  32. package/dist/model/CreateSubmissionRequest.js +115 -7
  33. package/dist/model/CreateTemplatePreviewRequest.js +2 -2
  34. package/dist/model/CreateTemplateRequest.js +119 -14
  35. package/dist/model/CreateWebhookRequest.js +2 -2
  36. package/dist/model/CustomFile.js +2 -2
  37. package/dist/model/CustomFileList.js +2 -2
  38. package/dist/model/CustomFileSourcePdf.js +2 -2
  39. package/dist/model/DnsRecordType.js +64 -0
  40. package/dist/model/EmailAction.js +510 -0
  41. package/dist/model/EmailActionConditions.js +142 -0
  42. package/dist/model/EmailActionConditionsInput.js +142 -0
  43. package/dist/model/EmailActionCustomization.js +222 -0
  44. package/dist/model/EmailActionDelivery.js +59 -0
  45. package/dist/model/EmailActionFileFormats.js +69 -0
  46. package/dist/model/EmailActionList.js +132 -0
  47. package/dist/model/EmailActionSetting.js +119 -0
  48. package/dist/model/EmailActionSubmissionType.js +64 -0
  49. package/dist/model/EmailActionTestEmail.js +116 -0
  50. package/dist/model/EmailDomain.js +245 -0
  51. package/dist/model/EmailDomainDnsRecord.js +155 -0
  52. package/dist/model/EmailDomainDnsRecordPurpose.js +64 -0
  53. package/dist/model/EmailDomainList.js +132 -0
  54. package/dist/model/EmailDomainRecordState.js +64 -0
  55. package/dist/model/EmailDomainState.js +64 -0
  56. package/dist/model/ErrorCode.js +11 -1
  57. package/dist/model/ErrorDetail.js +2 -2
  58. package/dist/model/ErrorInfo.js +47 -8
  59. package/dist/model/ErrorResponse.js +2 -2
  60. package/dist/model/ExpirationInterval.js +1 -1
  61. package/dist/model/Field.js +5 -5
  62. package/dist/model/FieldComparisonCondition.js +2 -2
  63. package/dist/model/FieldComparisonOperator.js +1 -1
  64. package/dist/model/FieldDependency.js +2 -2
  65. package/dist/model/FieldDependencyInput.js +2 -2
  66. package/dist/model/FieldDisplayType.js +1 -1
  67. package/dist/model/FieldEqualsCondition.js +2 -2
  68. package/dist/model/FieldEqualsOperator.js +1 -1
  69. package/dist/model/FieldGroup.js +6 -6
  70. package/dist/model/FieldGroupInput.js +3 -3
  71. package/dist/model/FieldGroupType.js +1 -1
  72. package/dist/model/FieldInCondition.js +2 -2
  73. package/dist/model/FieldInput.js +4 -4
  74. package/dist/model/FieldOverride.js +2 -2
  75. package/dist/model/FieldPresenceCondition.js +2 -2
  76. package/dist/model/FieldPresenceOperator.js +1 -1
  77. package/dist/model/FieldRangeCondition.js +2 -2
  78. package/dist/model/FieldReimportState.js +1 -1
  79. package/dist/model/FieldSetupLogic.js +1 -1
  80. package/dist/model/FieldSetupNaming.js +1 -1
  81. package/dist/model/FieldSetupSource.js +1 -1
  82. package/dist/model/FieldType.js +1 -1
  83. package/dist/model/Folder.js +2 -2
  84. package/dist/model/FolderList.js +2 -2
  85. package/dist/model/GenerateFilesFormat.js +16 -1
  86. package/dist/model/GenerateSubmissionFilesRequest.js +4 -4
  87. package/dist/model/GeneratedFile.js +7 -7
  88. package/dist/model/GeneratedFileState.js +1 -1
  89. package/dist/model/HtmlEngineOptions.js +4 -4
  90. package/dist/model/HtmlEngineOptionsInput.js +3 -3
  91. package/dist/model/ImageGravity.js +1 -1
  92. package/dist/model/ImageScaleType.js +1 -1
  93. package/dist/model/ModelCodeLanguage.js +7 -2
  94. package/dist/model/MoveFolderRequest.js +2 -2
  95. package/dist/model/MoveTemplateRequest.js +2 -2
  96. package/dist/model/NumberConditionType.js +1 -1
  97. package/dist/model/OutputFormat.js +11 -1
  98. package/dist/model/PageFormat.js +1 -1
  99. package/dist/model/PageImage.js +2 -2
  100. package/dist/model/PageImages.js +2 -2
  101. package/dist/model/PredefinedField.js +2 -2
  102. package/dist/model/PredefinedFieldInput.js +2 -2
  103. package/dist/model/PublishTemplateVersionRequest.js +2 -2
  104. package/dist/model/RemoveTemplateFieldsRequest.js +2 -2
  105. package/dist/model/RenameFolderRequest.js +2 -2
  106. package/dist/model/ReorderTemplateFieldsRequest.js +2 -2
  107. package/dist/model/RestoreTemplateVersionRequest.js +2 -2
  108. package/dist/model/SendAccountEmailActionTestEmailRequest.js +91 -0
  109. package/dist/model/ShapeType.js +1 -1
  110. package/dist/model/SignatureRequest.js +53 -8
  111. package/dist/model/SignatureRequestAuthSecondFactorType.js +1 -1
  112. package/dist/model/SignatureRequestAuthType.js +1 -1
  113. package/dist/model/SignatureRequestEmailAttachments.js +59 -0
  114. package/dist/model/SignatureRequestEmailStatus.js +89 -0
  115. package/dist/model/SignatureRequestEvent.js +2 -2
  116. package/dist/model/SignatureRequestEventType.js +12 -2
  117. package/dist/model/SignatureRequestInput.js +25 -9
  118. package/dist/model/SignatureRequestMessageType.js +1 -1
  119. package/dist/model/SignatureRequestReminders.js +121 -0
  120. package/dist/model/SignatureRequestState.js +1 -1
  121. package/dist/model/SignatureRequestToken.js +2 -2
  122. package/dist/model/SignatureRequestTokenType.js +1 -1
  123. package/dist/model/SigningOrder.js +59 -0
  124. package/dist/model/StringConditionType.js +37 -2
  125. package/dist/model/Submission.js +31 -19
  126. package/dist/model/SubmissionAction.js +28 -13
  127. package/dist/model/SubmissionActionState.js +1 -1
  128. package/dist/model/SubmissionActionType.js +1 -1
  129. package/dist/model/SubmissionBatch.js +9 -9
  130. package/dist/model/SubmissionBatchState.js +1 -1
  131. package/dist/model/SubmissionFiles.js +20 -2
  132. package/dist/model/SubmissionInput.js +7 -7
  133. package/dist/model/SubmissionList.js +2 -2
  134. package/dist/model/SubmissionSource.js +1 -1
  135. package/dist/model/SubmissionSourcePdf.js +2 -2
  136. package/dist/model/SubmissionState.js +1 -1
  137. package/dist/model/SubmissionSummary.js +8 -8
  138. package/dist/model/SubmissionValidation.js +2 -2
  139. package/dist/model/Template.js +149 -26
  140. package/dist/model/TemplateActor.js +2 -2
  141. package/dist/model/TemplateActorType.js +1 -1
  142. package/dist/model/TemplateDefaults.js +2 -2
  143. package/dist/model/TemplateDefaultsInput.js +2 -2
  144. package/dist/model/TemplateDiff.js +6 -6
  145. package/dist/model/TemplateDiffSummary.js +2 -2
  146. package/dist/model/TemplateDocument.js +23 -23
  147. package/dist/model/TemplateDocumentState.js +12 -2
  148. package/dist/model/TemplateDocumentSummary.js +11 -11
  149. package/dist/model/TemplateFieldChange.js +2 -2
  150. package/dist/model/TemplateFieldChanges.js +2 -2
  151. package/dist/model/TemplateFieldDependency.js +2 -2
  152. package/dist/model/TemplateFieldDependencyAction.js +1 -1
  153. package/dist/model/TemplateFieldDependencyCondition.js +2 -2
  154. package/dist/model/TemplateFieldDependencyConditionInput.js +2 -2
  155. package/dist/model/TemplateFieldDependencyInput.js +2 -2
  156. package/dist/model/TemplateFieldDependencyMatch.js +1 -1
  157. package/dist/model/TemplateFieldDependencyOperator.js +1 -1
  158. package/dist/model/TemplateFieldLogicStatus.js +1 -1
  159. package/dist/model/TemplateFieldMove.js +2 -2
  160. package/dist/model/TemplateFields.js +2 -2
  161. package/dist/model/TemplateFormMode.js +1 -1
  162. package/dist/model/TemplateModelCode.js +2 -2
  163. package/dist/model/TemplatePageAiError.js +1 -1
  164. package/dist/model/TemplatePageAiNamingStatus.js +1 -1
  165. package/dist/model/TemplatePageFieldsStatus.js +1 -1
  166. package/dist/model/TemplatePageImageStatus.js +1 -1
  167. package/dist/model/TemplatePageImages.js +2 -2
  168. package/dist/model/TemplatePageProcessingStatus.js +2 -2
  169. package/dist/model/TemplatePreview.js +5 -5
  170. package/dist/model/TemplatePreviewState.js +1 -1
  171. package/dist/model/TemplateSourcePdf.js +3 -3
  172. package/dist/model/TemplateSummary.js +24 -12
  173. package/dist/model/TemplateSummaryList.js +2 -2
  174. package/dist/model/TemplateType.js +12 -2
  175. package/dist/model/TemplateVersion.js +2 -2
  176. package/dist/model/TemplateVersionType.js +1 -1
  177. package/dist/model/TextAlignment.js +1 -1
  178. package/dist/model/TextOverflow.js +1 -1
  179. package/dist/model/TextVerticalAlignment.js +1 -1
  180. package/dist/model/Typeface.js +1 -1
  181. package/dist/model/UpdateAccountEmailActionRequest.js +306 -0
  182. package/dist/model/UpdateEmailActionCustomizationRequest.js +258 -0
  183. package/dist/model/UpdateEmailActionRequest.js +280 -0
  184. package/dist/model/UpdateSignatureRequestRequest.js +2 -2
  185. package/dist/model/UpdateTemplateDocumentRequest.js +8 -8
  186. package/dist/model/UpdateTemplateFieldsRequest.js +2 -2
  187. package/dist/model/UpdateTemplateRequest.js +113 -8
  188. package/dist/model/UpdateWebhookRequest.js +2 -2
  189. package/dist/model/UploadMethod.js +1 -1
  190. package/dist/model/UploadPresign.js +2 -2
  191. package/dist/model/UrlSourcePdf.js +2 -2
  192. package/dist/model/ValidateSubmissionRequest.js +115 -7
  193. package/dist/model/Webhook.js +2 -2
  194. package/dist/model/WebhookEventType.js +11 -1
  195. package/dist/model/WebhookList.js +2 -2
  196. package/dist/model/WebhookMode.js +1 -1
  197. package/package.json +2 -2
@@ -9,7 +9,9 @@ var _AiFieldNamingLanguage = _interopRequireDefault(require("./AiFieldNamingLang
9
9
  var _ExpirationInterval = _interopRequireDefault(require("./ExpirationInterval"));
10
10
  var _FieldGroup = _interopRequireDefault(require("./FieldGroup"));
11
11
  var _HtmlEngineOptions = _interopRequireDefault(require("./HtmlEngineOptions"));
12
+ var _OutputFormat = _interopRequireDefault(require("./OutputFormat"));
12
13
  var _PredefinedField = _interopRequireDefault(require("./PredefinedField"));
14
+ var _SignatureRequestEmailAttachments = _interopRequireDefault(require("./SignatureRequestEmailAttachments"));
13
15
  var _TemplateActor = _interopRequireDefault(require("./TemplateActor"));
14
16
  var _TemplateDefaults = _interopRequireDefault(require("./TemplateDefaults"));
15
17
  var _TemplateDocument = _interopRequireDefault(require("./TemplateDocument"));
@@ -28,7 +30,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
28
30
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
29
31
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
30
32
  * DocSpring API
31
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
33
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
32
34
  *
33
35
  * The version of the OpenAPI document: v2
34
36
  *
@@ -41,7 +43,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
41
43
  /**
42
44
  * The Template model module.
43
45
  * @module model/Template
44
- * @version 4.2.0
46
+ * @version 4.4.0
45
47
  */
46
48
  var Template = /*#__PURE__*/function () {
47
49
  /**
@@ -52,9 +54,10 @@ var Template = /*#__PURE__*/function () {
52
54
  * @param id {String} The template's ID.
53
55
  * @param name {String} The template's name.
54
56
  * @param description {String} Shown under the template's name at the top of its hosted forms, and used as their meta description. Not shown on embedded forms or signature requests.
55
- * @param template_type {module:model/TemplateType} `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. It can't be changed after the template is created.
56
- * @param ready {Boolean} Whether the template can generate PDFs. HTML templates are always ready. A PDF template is ready once DocSpring has stored its PDF, made an image of each page and finished looking for fields on each page, which can be after `document.state` becomes `processed`. A PDF template with no PDF (`document` is null) isn't ready.
57
- * @param document {module:model/TemplateDocument} The PDF of a PDF template. Null for HTML templates, and for a PDF template that has no PDF yet.
57
+ * @param template_type {module:model/TemplateType} `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. `docx`: a Word document with tags where the data goes, which makes Word documents or PDFs. `page_designer`: a page design, a PDF laid out in the Page Designer from its `layout`. It can't be changed after the template is created.
58
+ * @param output_format {module:model/OutputFormat} What each submission makes unless its request sets `output_formats`: `docx` (a Word document), `odt` (an OpenDocument file, converted from the Word document) or `pdf`. A Word template's is chosen when it's created; other templates always make PDFs. A Word template that encrypts its PDFs makes PDFs, because Word documents and OpenDocument files can't be password-protected.
59
+ * @param ready {Boolean} Whether the template can make documents. HTML templates and page designs are always ready. A PDF template is ready once DocSpring has stored its PDF, made an image of each page and finished looking for fields on each page, which can be after `document.state` becomes `processed`. A PDF template with no PDF (`document` is null) isn't ready. A Word template is ready once it has a Word document (a `document_url`'s has been downloaded).
60
+ * @param document {module:model/TemplateDocument} The PDF of a PDF template, or the Word document of a Word template. Null for HTML templates, and for a PDF template that has no PDF yet. A template created from a `document_url` has one, with no file, while it's downloaded.
58
61
  * @param parent_folder_id {String} The ID of the folder the template is in. Null for a template at the root. Setting it moves the template and all of its published versions.
59
62
  * @param path {String} The path of the folder the template is in, such as `/Contracts`. `/` for a template at the root.
60
63
  * @param latest_version {String} The template's latest published version. Null if no version has been published.
@@ -68,22 +71,29 @@ var Template = /*#__PURE__*/function () {
68
71
  * @param ai_field_naming_language {module:model/AiFieldNamingLanguage} The language AI field setup names fields in: `auto` uses the form's language when it's written in the Latin alphabet without accents, and English otherwise; `english` always uses English; `form_language` uses the form's language and script. New templates take it from your account's template settings. Null for HTML templates.
69
72
  * @param allow_additional_properties {Boolean} Accept submission data with properties that aren't fields of the template.
70
73
  * @param allow_skipping_optional_fields {Boolean} Visual forms and signature request forms show the Continue button as soon as the required fields are filled in, without visiting each optional field. The `allowSkippingOptionalFields` embed option overrides it.
71
- * @param default_form_mode {module:model/TemplateFormMode} The hosted form that /templates/{template_id}/form shows when its URL has no `mode` parameter: `web` (the web form), `visual` (the visual form, where fields are filled in on the PDF) or `dual` (both, in tabs). HTML templates have no visual form, so `web` is the only value they accept.
74
+ * @param default_form_mode {module:model/TemplateFormMode} The hosted form that /templates/{template_id}/form shows when its URL has no `mode` parameter: `web` (the web form), `visual` (the visual form, where fields are filled in on the PDF) or `dual` (both, in tabs). Only PDF templates have a visual form, so other templates accept only `web`.
72
75
  * @param editable_submissions {Boolean} Generate PDFs whose text and check fields stay fillable ("Generate Editable PDFs"). A submission's `editable` overrides it.
73
- * @param embed_domains {Array.<String>} The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work). Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
76
+ * @param embed_domains {Array.<String>} The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work), without a path. Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
74
77
  * @param embed_edit_allow_settings {Boolean} Allow the embedded template editor to change sensitive template settings (webhooks, redirect URL, encryption, public access, expiration and so on).
75
78
  * @param embed_edit_allow_versioning {Boolean} Allow the embedded template editor to publish, restore, compare and delete published versions.
76
79
  * @param embed_edit_allow_document_replacement {Boolean} Allow the embedded template editor to replace the template's PDF.
77
- * @param encrypt_pdfs {Boolean} Encrypt generated PDFs with `encrypt_pdfs_password`.
80
+ * @param encrypt_pdfs {Boolean} Encrypt generated PDFs with `encrypt_pdfs_password`. A Word template can only encrypt its PDFs when its `output_format` is `pdf`, because Word documents and OpenDocument files can't be password-protected.
78
81
  * @param has_encrypt_pdfs_password {Boolean} Whether `encrypt_pdfs_password` is set.
79
82
  * @param expire_submissions {Boolean} Delete each submission's data and PDF after `expire_after` `expiration_interval`.
80
83
  * @param expire_after {Number} How many `expiration_interval`s a submission's data and PDF are kept for, when `expire_submissions` is on. At most 5256000 (10 years in minutes).
81
84
  * @param expiration_interval {module:model/ExpirationInterval} The unit of `expire_after`.
82
85
  * @param merge_audit_trail_pdf {Boolean} Add the audit trail to the end of PDFs signed through signature requests.
83
- * @param parse_dates_using_template_date_format {Boolean} Date fields also accept NN/NN/YYYY dates (with slashes, dashes or dots), read in the order of the template's default date format: month first for %m/%d/%Y, day first for %d/%m/%Y. When false, date fields only accept YYYY-MM-DD. Applies to PDF templates: an HTML template's date fields only accept YYYY-MM-DD. Date fields that include a time take RFC 3339 date-times either way.
86
+ * @param parse_dates_using_template_date_format {Boolean} Date fields also accept NN/NN/YYYY dates (with slashes, dashes or dots), read in the order of the template's default date format: month first for %m/%d/%Y, day first for %d/%m/%Y. When false, date fields only accept YYYY-MM-DD. Applies to PDF templates: an HTML or Word template's date fields only accept YYYY-MM-DD. Date fields that include a time take RFC 3339 date-times either way.
84
87
  * @param public_submissions {Boolean} Allow anyone with a submission's ID to download its PDF.
85
88
  * @param public_web_form {Boolean} Allow anyone to fill in the template's web form.
86
89
  * @param redirect_url {String} Where the web form sends people after they submit it.
90
+ * @param signature_request_email_attachments {module:model/SignatureRequestEmailAttachments} How DocSpring's completed emails send the signed PDF to your signers and CCs: `attachment` (attached, or a download link when it's too big to attach) or `link` (a download link). Null uses your account's rule: a link if your account has signed a BAA, otherwise attached. PDF templates only. A signature request uses the value it had when the request was created.
91
+ * @param signature_request_from_address {String} The address DocSpring's emails to your signers come from: an address at one of your verified email domains, on the Growth plan or higher. Null sends them from DocSpring's shared address, with "via DocSpring" after the sender name. PDF templates only.
92
+ * @param signature_request_include_signing_token {Boolean} Puts a signing token in `signature_request_signing_url`, as `{{ token_id }}` and `{{ token_secret }}`, so your page can open the signing form without creating a token itself. The email then carries a credential: anyone who has it can open the form and sign. PDF templates only.
93
+ * @param signature_request_from_name {String} The sender name on the emails DocSpring sends your signers, as in "Acme via DocSpring". It can't contain an email address, a website or quotes. Null uses your account's name. PDF templates only.
94
+ * @param signature_request_notification_emails {Array.<String>} Who DocSpring tells when a signature request's document is completed or declined, or an email bounces or can't be sent: members of your DocSpring team or addresses at your verified email domains. Empty means your account's owner. A submission's `notification_emails` replaces them. PDF templates only.
95
+ * @param signature_request_reply_to {String} Where your signers' replies to DocSpring's emails go: a member of your DocSpring team or an address at one of your verified email domains. Null means your account's owner. A submission's `reply_to` replaces it. PDF templates only.
96
+ * @param signature_request_signing_url {String} A page on your own site that the button in DocSpring's email to a signer opens, instead of DocSpring's signing page: an https URL on one of your verified email domains or a subdomain of one, on the Growth plan or higher. It must include `{{ signature_request_id }}`. Your page authenticates the signer, creates a token for the signature request, and opens the signing form with it. Null links to DocSpring's signing page. PDF templates only.
87
97
  * @param has_slack_webhook_url {Boolean} Whether `slack_webhook_url` is set.
88
98
  * @param last_changed_by {module:model/TemplateActor} Who last changed the draft: a user in your account, an API token, or someone using the embedded template editor. Null if no change has been recorded.
89
99
  * @param defaults {module:model/TemplateDefaults}
@@ -91,18 +101,19 @@ var Template = /*#__PURE__*/function () {
91
101
  * @param field_groups {Array.<module:model/FieldGroup>} The groups of the template's fields, with their settings. A field's name puts it in groups: `address/city` is in the group `address`, and `items/0/price` is in the list `items` and its items' group `items/~`.
92
102
  * @param predefined_fields {Array.<module:model/PredefinedField>} The field names that people using the embedded template editor choose from, each with the data type and settings a field gets when it's given that name. Setting it replaces the whole list; an empty list turns them off.
93
103
  * @param predefined_fields_sample_data {Object.<String, Object>} Sample submission data that sets `predefined_fields`: each value becomes a predefined field, with a type that fits it (`string`, `number`, `boolean`, `date`, `email` or `url`) and `required_in_template` true. Nested objects and arrays become names with `/`, such as `customer/email`. Without `predefined_fields` in the same request, it replaces them; with them, it adds to them and sets the types of the ones it has values for.
94
- * @param html {String} The HTML of an HTML template, as a Liquid template. Null for PDF templates.
104
+ * @param html {String} The HTML of an HTML template, as a Liquid template. Null for other templates.
95
105
  * @param scss {String} The SCSS of an HTML template.
96
106
  * @param header_html {String} The HTML printed at the top of each page of an HTML template.
97
107
  * @param footer_html {String} The HTML printed at the bottom of each page of an HTML template.
98
- * @param html_engine_options {module:model/HtmlEngineOptions} How an HTML template's PDFs are printed. Null for PDF templates. Setting it replaces the whole object: options left out use their defaults.
99
- * @param html_escape_data {Boolean} Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for PDF templates.
108
+ * @param html_engine_options {module:model/HtmlEngineOptions} How an HTML template's PDFs are printed. Null for other templates. Setting it replaces the whole object: options left out use their defaults.
109
+ * @param html_escape_data {Boolean} Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for other templates.
110
+ * @param layout {Object.<String, Object>} A page design's layout: its page setup, its sections and the elements placed in them, in the Page Designer layout format (https://docspring.com/docs/page-designer/layout-format/). Its JSON Schema is at https://docspring.com/schemas/page-designer/layout.v1.json. Null for other templates. Setting it replaces the whole layout, and DocSpring adds a field for each value it reads. Left out when a page design is created, it starts with an empty page.
100
111
  * @param embed_edit_token {String} The token that opens the template in the embedded template editor.
101
112
  * @param versions {Array.<module:model/TemplateVersion>} The template's published versions, newest first (up to 100).
102
113
  */
103
- function Template(id, name, description, template_type, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, embed_edit_token, versions) {
114
+ function Template(id, name, description, template_type, output_format, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, signature_request_email_attachments, signature_request_from_address, signature_request_include_signing_token, signature_request_from_name, signature_request_notification_emails, signature_request_reply_to, signature_request_signing_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, layout, embed_edit_token, versions) {
104
115
  _classCallCheck(this, Template);
105
- Template.initialize(this, id, name, description, template_type, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, embed_edit_token, versions);
116
+ Template.initialize(this, id, name, description, template_type, output_format, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, signature_request_email_attachments, signature_request_from_address, signature_request_include_signing_token, signature_request_from_name, signature_request_notification_emails, signature_request_reply_to, signature_request_signing_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, layout, embed_edit_token, versions);
106
117
  }
107
118
 
108
119
  /**
@@ -112,11 +123,12 @@ var Template = /*#__PURE__*/function () {
112
123
  */
113
124
  return _createClass(Template, null, [{
114
125
  key: "initialize",
115
- value: function initialize(obj, id, name, description, template_type, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, embed_edit_token, versions) {
126
+ value: function initialize(obj, id, name, description, template_type, output_format, ready, document, parent_folder_id, path, latest_version, version_published_at, locked, last_changed_at, created_at, updated_at, version, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, has_encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, signature_request_email_attachments, signature_request_from_address, signature_request_include_signing_token, signature_request_from_name, signature_request_notification_emails, signature_request_reply_to, signature_request_signing_url, has_slack_webhook_url, last_changed_by, defaults, field_dependencies, field_groups, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, layout, embed_edit_token, versions) {
116
127
  obj['id'] = id;
117
128
  obj['name'] = name;
118
129
  obj['description'] = description;
119
130
  obj['template_type'] = template_type;
131
+ obj['output_format'] = output_format;
120
132
  obj['ready'] = ready;
121
133
  obj['document'] = document;
122
134
  obj['parent_folder_id'] = parent_folder_id;
@@ -148,6 +160,13 @@ var Template = /*#__PURE__*/function () {
148
160
  obj['public_submissions'] = public_submissions;
149
161
  obj['public_web_form'] = public_web_form;
150
162
  obj['redirect_url'] = redirect_url;
163
+ obj['signature_request_email_attachments'] = signature_request_email_attachments;
164
+ obj['signature_request_from_address'] = signature_request_from_address;
165
+ obj['signature_request_include_signing_token'] = signature_request_include_signing_token;
166
+ obj['signature_request_from_name'] = signature_request_from_name;
167
+ obj['signature_request_notification_emails'] = signature_request_notification_emails;
168
+ obj['signature_request_reply_to'] = signature_request_reply_to;
169
+ obj['signature_request_signing_url'] = signature_request_signing_url;
151
170
  obj['has_slack_webhook_url'] = has_slack_webhook_url;
152
171
  obj['last_changed_by'] = last_changed_by;
153
172
  obj['defaults'] = defaults;
@@ -161,6 +180,7 @@ var Template = /*#__PURE__*/function () {
161
180
  obj['footer_html'] = footer_html;
162
181
  obj['html_engine_options'] = html_engine_options;
163
182
  obj['html_escape_data'] = html_escape_data;
183
+ obj['layout'] = layout;
164
184
  obj['embed_edit_token'] = embed_edit_token;
165
185
  obj['versions'] = versions;
166
186
  }
@@ -190,6 +210,9 @@ var Template = /*#__PURE__*/function () {
190
210
  if (data.hasOwnProperty('template_type')) {
191
211
  obj['template_type'] = _ApiClient["default"].convertToType(data['template_type'], _TemplateType["default"]);
192
212
  }
213
+ if (data.hasOwnProperty('output_format')) {
214
+ obj['output_format'] = _ApiClient["default"].convertToType(data['output_format'], _OutputFormat["default"]);
215
+ }
193
216
  if (data.hasOwnProperty('ready')) {
194
217
  obj['ready'] = _ApiClient["default"].convertToType(data['ready'], 'Boolean');
195
218
  }
@@ -283,6 +306,27 @@ var Template = /*#__PURE__*/function () {
283
306
  if (data.hasOwnProperty('redirect_url')) {
284
307
  obj['redirect_url'] = _ApiClient["default"].convertToType(data['redirect_url'], 'String');
285
308
  }
309
+ if (data.hasOwnProperty('signature_request_email_attachments')) {
310
+ obj['signature_request_email_attachments'] = _ApiClient["default"].convertToType(data['signature_request_email_attachments'], _SignatureRequestEmailAttachments["default"]);
311
+ }
312
+ if (data.hasOwnProperty('signature_request_from_address')) {
313
+ obj['signature_request_from_address'] = _ApiClient["default"].convertToType(data['signature_request_from_address'], 'String');
314
+ }
315
+ if (data.hasOwnProperty('signature_request_include_signing_token')) {
316
+ obj['signature_request_include_signing_token'] = _ApiClient["default"].convertToType(data['signature_request_include_signing_token'], 'Boolean');
317
+ }
318
+ if (data.hasOwnProperty('signature_request_from_name')) {
319
+ obj['signature_request_from_name'] = _ApiClient["default"].convertToType(data['signature_request_from_name'], 'String');
320
+ }
321
+ if (data.hasOwnProperty('signature_request_notification_emails')) {
322
+ obj['signature_request_notification_emails'] = _ApiClient["default"].convertToType(data['signature_request_notification_emails'], ['String']);
323
+ }
324
+ if (data.hasOwnProperty('signature_request_reply_to')) {
325
+ obj['signature_request_reply_to'] = _ApiClient["default"].convertToType(data['signature_request_reply_to'], 'String');
326
+ }
327
+ if (data.hasOwnProperty('signature_request_signing_url')) {
328
+ obj['signature_request_signing_url'] = _ApiClient["default"].convertToType(data['signature_request_signing_url'], 'String');
329
+ }
286
330
  if (data.hasOwnProperty('has_slack_webhook_url')) {
287
331
  obj['has_slack_webhook_url'] = _ApiClient["default"].convertToType(data['has_slack_webhook_url'], 'Boolean');
288
332
  }
@@ -324,6 +368,11 @@ var Template = /*#__PURE__*/function () {
324
368
  if (data.hasOwnProperty('html_escape_data')) {
325
369
  obj['html_escape_data'] = _ApiClient["default"].convertToType(data['html_escape_data'], 'Boolean');
326
370
  }
371
+ if (data.hasOwnProperty('layout')) {
372
+ obj['layout'] = _ApiClient["default"].convertToType(data['layout'], {
373
+ 'String': Object
374
+ });
375
+ }
327
376
  if (data.hasOwnProperty('embed_edit_token')) {
328
377
  obj['embed_edit_token'] = _ApiClient["default"].convertToType(data['embed_edit_token'], 'String');
329
378
  }
@@ -398,6 +447,26 @@ var Template = /*#__PURE__*/function () {
398
447
  if (data['redirect_url'] && !(typeof data['redirect_url'] === 'string' || data['redirect_url'] instanceof String)) {
399
448
  throw new Error("Expected the field `redirect_url` to be a primitive type in the JSON string but got " + data['redirect_url']);
400
449
  }
450
+ // ensure the json data is a string
451
+ if (data['signature_request_from_address'] && !(typeof data['signature_request_from_address'] === 'string' || data['signature_request_from_address'] instanceof String)) {
452
+ throw new Error("Expected the field `signature_request_from_address` to be a primitive type in the JSON string but got " + data['signature_request_from_address']);
453
+ }
454
+ // ensure the json data is a string
455
+ if (data['signature_request_from_name'] && !(typeof data['signature_request_from_name'] === 'string' || data['signature_request_from_name'] instanceof String)) {
456
+ throw new Error("Expected the field `signature_request_from_name` to be a primitive type in the JSON string but got " + data['signature_request_from_name']);
457
+ }
458
+ // ensure the json data is an array
459
+ if (!Array.isArray(data['signature_request_notification_emails'])) {
460
+ throw new Error("Expected the field `signature_request_notification_emails` to be an array in the JSON data but got " + data['signature_request_notification_emails']);
461
+ }
462
+ // ensure the json data is a string
463
+ if (data['signature_request_reply_to'] && !(typeof data['signature_request_reply_to'] === 'string' || data['signature_request_reply_to'] instanceof String)) {
464
+ throw new Error("Expected the field `signature_request_reply_to` to be a primitive type in the JSON string but got " + data['signature_request_reply_to']);
465
+ }
466
+ // ensure the json data is a string
467
+ if (data['signature_request_signing_url'] && !(typeof data['signature_request_signing_url'] === 'string' || data['signature_request_signing_url'] instanceof String)) {
468
+ throw new Error("Expected the field `signature_request_signing_url` to be a primitive type in the JSON string but got " + data['signature_request_signing_url']);
469
+ }
401
470
  // validate the optional field `last_changed_by`
402
471
  if (data['last_changed_by']) {
403
472
  // data not null
@@ -465,7 +534,7 @@ var Template = /*#__PURE__*/function () {
465
534
  }
466
535
  }]);
467
536
  }();
468
- Template.RequiredProperties = ["id", "name", "description", "template_type", "ready", "document", "parent_folder_id", "path", "latest_version", "version_published_at", "locked", "last_changed_at", "created_at", "updated_at", "version", "add_signature_request_submission_id_footers", "ai_field_naming_language", "allow_additional_properties", "allow_skipping_optional_fields", "default_form_mode", "editable_submissions", "embed_domains", "embed_edit_allow_settings", "embed_edit_allow_versioning", "embed_edit_allow_document_replacement", "encrypt_pdfs", "has_encrypt_pdfs_password", "expire_submissions", "expire_after", "expiration_interval", "merge_audit_trail_pdf", "parse_dates_using_template_date_format", "public_submissions", "public_web_form", "redirect_url", "has_slack_webhook_url", "last_changed_by", "defaults", "field_dependencies", "field_groups", "predefined_fields", "predefined_fields_sample_data", "html", "scss", "header_html", "footer_html", "html_engine_options", "html_escape_data", "embed_edit_token", "versions"];
537
+ Template.RequiredProperties = ["id", "name", "description", "template_type", "output_format", "ready", "document", "parent_folder_id", "path", "latest_version", "version_published_at", "locked", "last_changed_at", "created_at", "updated_at", "version", "add_signature_request_submission_id_footers", "ai_field_naming_language", "allow_additional_properties", "allow_skipping_optional_fields", "default_form_mode", "editable_submissions", "embed_domains", "embed_edit_allow_settings", "embed_edit_allow_versioning", "embed_edit_allow_document_replacement", "encrypt_pdfs", "has_encrypt_pdfs_password", "expire_submissions", "expire_after", "expiration_interval", "merge_audit_trail_pdf", "parse_dates_using_template_date_format", "public_submissions", "public_web_form", "redirect_url", "signature_request_email_attachments", "signature_request_from_address", "signature_request_include_signing_token", "signature_request_from_name", "signature_request_notification_emails", "signature_request_reply_to", "signature_request_signing_url", "has_slack_webhook_url", "last_changed_by", "defaults", "field_dependencies", "field_groups", "predefined_fields", "predefined_fields_sample_data", "html", "scss", "header_html", "footer_html", "html_engine_options", "html_escape_data", "layout", "embed_edit_token", "versions"];
469
538
 
470
539
  /**
471
540
  * The template's ID.
@@ -486,19 +555,25 @@ Template.prototype['name'] = undefined;
486
555
  Template.prototype['description'] = undefined;
487
556
 
488
557
  /**
489
- * `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. It can't be changed after the template is created.
558
+ * `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. `docx`: a Word document with tags where the data goes, which makes Word documents or PDFs. `page_designer`: a page design, a PDF laid out in the Page Designer from its `layout`. It can't be changed after the template is created.
490
559
  * @member {module:model/TemplateType} template_type
491
560
  */
492
561
  Template.prototype['template_type'] = undefined;
493
562
 
494
563
  /**
495
- * Whether the template can generate PDFs. HTML templates are always ready. A PDF template is ready once DocSpring has stored its PDF, made an image of each page and finished looking for fields on each page, which can be after `document.state` becomes `processed`. A PDF template with no PDF (`document` is null) isn't ready.
564
+ * What each submission makes unless its request sets `output_formats`: `docx` (a Word document), `odt` (an OpenDocument file, converted from the Word document) or `pdf`. A Word template's is chosen when it's created; other templates always make PDFs. A Word template that encrypts its PDFs makes PDFs, because Word documents and OpenDocument files can't be password-protected.
565
+ * @member {module:model/OutputFormat} output_format
566
+ */
567
+ Template.prototype['output_format'] = undefined;
568
+
569
+ /**
570
+ * Whether the template can make documents. HTML templates and page designs are always ready. A PDF template is ready once DocSpring has stored its PDF, made an image of each page and finished looking for fields on each page, which can be after `document.state` becomes `processed`. A PDF template with no PDF (`document` is null) isn't ready. A Word template is ready once it has a Word document (a `document_url`'s has been downloaded).
496
571
  * @member {Boolean} ready
497
572
  */
498
573
  Template.prototype['ready'] = undefined;
499
574
 
500
575
  /**
501
- * The PDF of a PDF template. Null for HTML templates, and for a PDF template that has no PDF yet.
576
+ * The PDF of a PDF template, or the Word document of a Word template. Null for HTML templates, and for a PDF template that has no PDF yet. A template created from a `document_url` has one, with no file, while it's downloaded.
502
577
  * @member {module:model/TemplateDocument} document
503
578
  */
504
579
  Template.prototype['document'] = undefined;
@@ -582,7 +657,7 @@ Template.prototype['allow_additional_properties'] = undefined;
582
657
  Template.prototype['allow_skipping_optional_fields'] = undefined;
583
658
 
584
659
  /**
585
- * The hosted form that /templates/{template_id}/form shows when its URL has no `mode` parameter: `web` (the web form), `visual` (the visual form, where fields are filled in on the PDF) or `dual` (both, in tabs). HTML templates have no visual form, so `web` is the only value they accept.
660
+ * The hosted form that /templates/{template_id}/form shows when its URL has no `mode` parameter: `web` (the web form), `visual` (the visual form, where fields are filled in on the PDF) or `dual` (both, in tabs). Only PDF templates have a visual form, so other templates accept only `web`.
586
661
  * @member {module:model/TemplateFormMode} default_form_mode
587
662
  */
588
663
  Template.prototype['default_form_mode'] = undefined;
@@ -594,7 +669,7 @@ Template.prototype['default_form_mode'] = undefined;
594
669
  Template.prototype['editable_submissions'] = undefined;
595
670
 
596
671
  /**
597
- * The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work). Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
672
+ * The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work), without a path. Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
598
673
  * @member {Array.<String>} embed_domains
599
674
  */
600
675
  Template.prototype['embed_domains'] = undefined;
@@ -618,7 +693,7 @@ Template.prototype['embed_edit_allow_versioning'] = undefined;
618
693
  Template.prototype['embed_edit_allow_document_replacement'] = undefined;
619
694
 
620
695
  /**
621
- * Encrypt generated PDFs with `encrypt_pdfs_password`.
696
+ * Encrypt generated PDFs with `encrypt_pdfs_password`. A Word template can only encrypt its PDFs when its `output_format` is `pdf`, because Word documents and OpenDocument files can't be password-protected.
622
697
  * @member {Boolean} encrypt_pdfs
623
698
  */
624
699
  Template.prototype['encrypt_pdfs'] = undefined;
@@ -654,7 +729,7 @@ Template.prototype['expiration_interval'] = undefined;
654
729
  Template.prototype['merge_audit_trail_pdf'] = undefined;
655
730
 
656
731
  /**
657
- * Date fields also accept NN/NN/YYYY dates (with slashes, dashes or dots), read in the order of the template's default date format: month first for %m/%d/%Y, day first for %d/%m/%Y. When false, date fields only accept YYYY-MM-DD. Applies to PDF templates: an HTML template's date fields only accept YYYY-MM-DD. Date fields that include a time take RFC 3339 date-times either way.
732
+ * Date fields also accept NN/NN/YYYY dates (with slashes, dashes or dots), read in the order of the template's default date format: month first for %m/%d/%Y, day first for %d/%m/%Y. When false, date fields only accept YYYY-MM-DD. Applies to PDF templates: an HTML or Word template's date fields only accept YYYY-MM-DD. Date fields that include a time take RFC 3339 date-times either way.
658
733
  * @member {Boolean} parse_dates_using_template_date_format
659
734
  */
660
735
  Template.prototype['parse_dates_using_template_date_format'] = undefined;
@@ -677,6 +752,48 @@ Template.prototype['public_web_form'] = undefined;
677
752
  */
678
753
  Template.prototype['redirect_url'] = undefined;
679
754
 
755
+ /**
756
+ * How DocSpring's completed emails send the signed PDF to your signers and CCs: `attachment` (attached, or a download link when it's too big to attach) or `link` (a download link). Null uses your account's rule: a link if your account has signed a BAA, otherwise attached. PDF templates only. A signature request uses the value it had when the request was created.
757
+ * @member {module:model/SignatureRequestEmailAttachments} signature_request_email_attachments
758
+ */
759
+ Template.prototype['signature_request_email_attachments'] = undefined;
760
+
761
+ /**
762
+ * The address DocSpring's emails to your signers come from: an address at one of your verified email domains, on the Growth plan or higher. Null sends them from DocSpring's shared address, with "via DocSpring" after the sender name. PDF templates only.
763
+ * @member {String} signature_request_from_address
764
+ */
765
+ Template.prototype['signature_request_from_address'] = undefined;
766
+
767
+ /**
768
+ * Puts a signing token in `signature_request_signing_url`, as `{{ token_id }}` and `{{ token_secret }}`, so your page can open the signing form without creating a token itself. The email then carries a credential: anyone who has it can open the form and sign. PDF templates only.
769
+ * @member {Boolean} signature_request_include_signing_token
770
+ */
771
+ Template.prototype['signature_request_include_signing_token'] = undefined;
772
+
773
+ /**
774
+ * The sender name on the emails DocSpring sends your signers, as in "Acme via DocSpring". It can't contain an email address, a website or quotes. Null uses your account's name. PDF templates only.
775
+ * @member {String} signature_request_from_name
776
+ */
777
+ Template.prototype['signature_request_from_name'] = undefined;
778
+
779
+ /**
780
+ * Who DocSpring tells when a signature request's document is completed or declined, or an email bounces or can't be sent: members of your DocSpring team or addresses at your verified email domains. Empty means your account's owner. A submission's `notification_emails` replaces them. PDF templates only.
781
+ * @member {Array.<String>} signature_request_notification_emails
782
+ */
783
+ Template.prototype['signature_request_notification_emails'] = undefined;
784
+
785
+ /**
786
+ * Where your signers' replies to DocSpring's emails go: a member of your DocSpring team or an address at one of your verified email domains. Null means your account's owner. A submission's `reply_to` replaces it. PDF templates only.
787
+ * @member {String} signature_request_reply_to
788
+ */
789
+ Template.prototype['signature_request_reply_to'] = undefined;
790
+
791
+ /**
792
+ * A page on your own site that the button in DocSpring's email to a signer opens, instead of DocSpring's signing page: an https URL on one of your verified email domains or a subdomain of one, on the Growth plan or higher. It must include `{{ signature_request_id }}`. Your page authenticates the signer, creates a token for the signature request, and opens the signing form with it. Null links to DocSpring's signing page. PDF templates only.
793
+ * @member {String} signature_request_signing_url
794
+ */
795
+ Template.prototype['signature_request_signing_url'] = undefined;
796
+
680
797
  /**
681
798
  * Whether `slack_webhook_url` is set.
682
799
  * @member {Boolean} has_slack_webhook_url
@@ -719,7 +836,7 @@ Template.prototype['predefined_fields'] = undefined;
719
836
  Template.prototype['predefined_fields_sample_data'] = undefined;
720
837
 
721
838
  /**
722
- * The HTML of an HTML template, as a Liquid template. Null for PDF templates.
839
+ * The HTML of an HTML template, as a Liquid template. Null for other templates.
723
840
  * @member {String} html
724
841
  */
725
842
  Template.prototype['html'] = undefined;
@@ -743,17 +860,23 @@ Template.prototype['header_html'] = undefined;
743
860
  Template.prototype['footer_html'] = undefined;
744
861
 
745
862
  /**
746
- * How an HTML template's PDFs are printed. Null for PDF templates. Setting it replaces the whole object: options left out use their defaults.
863
+ * How an HTML template's PDFs are printed. Null for other templates. Setting it replaces the whole object: options left out use their defaults.
747
864
  * @member {module:model/HtmlEngineOptions} html_engine_options
748
865
  */
749
866
  Template.prototype['html_engine_options'] = undefined;
750
867
 
751
868
  /**
752
- * Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for PDF templates.
869
+ * Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for other templates.
753
870
  * @member {Boolean} html_escape_data
754
871
  */
755
872
  Template.prototype['html_escape_data'] = undefined;
756
873
 
874
+ /**
875
+ * A page design's layout: its page setup, its sections and the elements placed in them, in the Page Designer layout format (https://docspring.com/docs/page-designer/layout-format/). Its JSON Schema is at https://docspring.com/schemas/page-designer/layout.v1.json. Null for other templates. Setting it replaces the whole layout, and DocSpring adds a field for each value it reads. Left out when a page design is created, it starts with an empty page.
876
+ * @member {Object.<String, Object>} layout
877
+ */
878
+ Template.prototype['layout'] = undefined;
879
+
757
880
  /**
758
881
  * The token that opens the template in the embedded template editor.
759
882
  * @member {String} embed_edit_token
@@ -17,7 +17,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
17
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
18
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
19
19
  * DocSpring API
20
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
20
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
21
21
  *
22
22
  * The version of the OpenAPI document: v2
23
23
  *
@@ -30,7 +30,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
30
30
  /**
31
31
  * The TemplateActor model module.
32
32
  * @module model/TemplateActor
33
- * @version 4.2.0
33
+ * @version 4.4.0
34
34
  */
35
35
  var TemplateActor = /*#__PURE__*/function () {
36
36
  /**
@@ -14,7 +14,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
14
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
15
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
16
16
  * DocSpring API
17
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
17
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
18
18
  *
19
19
  * The version of the OpenAPI document: v2
20
20
  *
@@ -16,7 +16,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
17
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
18
18
  * DocSpring API
19
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
19
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
20
20
  *
21
21
  * The version of the OpenAPI document: v2
22
22
  *
@@ -29,7 +29,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
29
29
  /**
30
30
  * The TemplateDefaults model module.
31
31
  * @module model/TemplateDefaults
32
- * @version 4.2.0
32
+ * @version 4.4.0
33
33
  */
34
34
  var TemplateDefaults = /*#__PURE__*/function () {
35
35
  /**
@@ -16,7 +16,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
17
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
18
18
  * DocSpring API
19
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
19
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
20
20
  *
21
21
  * The version of the OpenAPI document: v2
22
22
  *
@@ -29,7 +29,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
29
29
  /**
30
30
  * The TemplateDefaultsInput model module.
31
31
  * @module model/TemplateDefaultsInput
32
- * @version 4.2.0
32
+ * @version 4.4.0
33
33
  */
34
34
  var TemplateDefaultsInput = /*#__PURE__*/function () {
35
35
  /**
@@ -18,7 +18,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
18
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
19
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
20
20
  * DocSpring API
21
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
21
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
22
22
  *
23
23
  * The version of the OpenAPI document: v2
24
24
  *
@@ -31,7 +31,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
31
31
  /**
32
32
  * The TemplateDiff model module.
33
33
  * @module model/TemplateDiff
34
- * @version 4.2.0
34
+ * @version 4.4.0
35
35
  */
36
36
  var TemplateDiff = /*#__PURE__*/function () {
37
37
  /**
@@ -44,8 +44,8 @@ var TemplateDiff = /*#__PURE__*/function () {
44
44
  * @param to_version {String} The later version, such as `1.2.0`. Null for the draft.
45
45
  * @param summary {module:model/TemplateDiffSummary} How many changes of each kind there are.
46
46
  * @param fields {module:model/TemplateFieldChanges} The fields that changed.
47
- * @param changed_settings {Array.<String>} The names of the template's settings that changed, as they're named on the Template (`name`, `html`, `defaults`, `expire_after`, ...). Values aren't included, and secrets like `encrypt_pdfs_password` are named when they change.
48
- * @param document_changed {Boolean} The template's PDF was replaced (or added, when there's no `from_version`).
47
+ * @param changed_settings {Array.<String>} The names of the template's settings that changed, as they're named on the Template (`name`, `html`, `defaults`, `merge_audit_trail_pdf`, ...). Values aren't included. Settings that apply to every version, such as `webhook_url` and `encrypt_pdfs_password`, are the same on every version, so they're named only when there's no earlier version to compare with; a secret is named without its value.
48
+ * @param document_changed {Boolean} The template's PDF was replaced, or its Word document replaced or edited (or added, when there's no `from_version`).
49
49
  */
50
50
  function TemplateDiff(template_id, from_version, to_version, summary, fields, changed_settings, document_changed) {
51
51
  _classCallCheck(this, TemplateDiff);
@@ -193,13 +193,13 @@ TemplateDiff.prototype['summary'] = undefined;
193
193
  TemplateDiff.prototype['fields'] = undefined;
194
194
 
195
195
  /**
196
- * The names of the template's settings that changed, as they're named on the Template (`name`, `html`, `defaults`, `expire_after`, ...). Values aren't included, and secrets like `encrypt_pdfs_password` are named when they change.
196
+ * The names of the template's settings that changed, as they're named on the Template (`name`, `html`, `defaults`, `merge_audit_trail_pdf`, ...). Values aren't included. Settings that apply to every version, such as `webhook_url` and `encrypt_pdfs_password`, are the same on every version, so they're named only when there's no earlier version to compare with; a secret is named without its value.
197
197
  * @member {Array.<String>} changed_settings
198
198
  */
199
199
  TemplateDiff.prototype['changed_settings'] = undefined;
200
200
 
201
201
  /**
202
- * The template's PDF was replaced (or added, when there's no `from_version`).
202
+ * The template's PDF was replaced, or its Word document replaced or edited (or added, when there's no `from_version`).
203
203
  * @member {Boolean} document_changed
204
204
  */
205
205
  TemplateDiff.prototype['document_changed'] = undefined;
@@ -16,7 +16,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
17
  function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r; if ("undefined" != typeof Symbol && void 0 !== (r = t[Symbol.toPrimitive])) { var i = r.call(t, e || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e ? String : Number)(t); } /**
18
18
  * DocSpring API
19
- * Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
19
+ * Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
20
20
  *
21
21
  * The version of the OpenAPI document: v2
22
22
  *
@@ -29,7 +29,7 @@ function _toPrimitive(t, e) { if ("object" != _typeof(t) || !t) return t; var r;
29
29
  /**
30
30
  * The TemplateDiffSummary model module.
31
31
  * @module model/TemplateDiffSummary
32
- * @version 4.2.0
32
+ * @version 4.4.0
33
33
  */
34
34
  var TemplateDiffSummary = /*#__PURE__*/function () {
35
35
  /**