docspring 4.1.0 → 4.3.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 (372) hide show
  1. checksums.yaml +4 -4
  2. data/.openapi-generator/FILES +15 -0
  3. data/.travis.yml +1 -1
  4. data/AGENTS.md +5 -4
  5. data/CHANGELOG.md +67 -0
  6. data/Gemfile.lock +11 -10
  7. data/README.md +11 -6
  8. data/docs/Client.md +273 -105
  9. data/docs/CombinedPdf.md +1 -1
  10. data/docs/CreateCombinedPdfRequest.md +1 -1
  11. data/docs/CreateSubmissionRequest.md +5 -5
  12. data/docs/CreateTemplatePreviewRequest.md +18 -0
  13. data/docs/CreateTemplateRequest.md +14 -10
  14. data/docs/ErrorDetail.md +1 -1
  15. data/docs/ErrorInfo.md +4 -4
  16. data/docs/FieldGroup.md +2 -2
  17. data/docs/FieldGroupInput.md +1 -1
  18. data/docs/GenerateSubmissionFilesRequest.md +1 -1
  19. data/docs/GeneratedFile.md +2 -2
  20. data/docs/Submission.md +18 -18
  21. data/docs/SubmissionBatch.md +3 -3
  22. data/docs/SubmissionFiles.md +4 -0
  23. data/docs/SubmissionInput.md +5 -5
  24. data/docs/SubmissionList.md +1 -1
  25. data/docs/SubmissionSummary.md +54 -0
  26. data/docs/Template.md +21 -17
  27. data/docs/TemplateActor.md +1 -1
  28. data/docs/TemplateDiff.md +2 -2
  29. data/docs/TemplateDocument.md +12 -12
  30. data/docs/TemplateDocumentSummary.md +24 -0
  31. data/docs/TemplatePreview.md +32 -0
  32. data/docs/TemplatePreviewState.md +15 -0
  33. data/docs/TemplateSummary.md +5 -49
  34. data/docs/UpdateTemplateDocumentRequest.md +5 -5
  35. data/docs/UpdateTemplateRequest.md +10 -6
  36. data/docs/ValidateSubmissionRequest.md +5 -5
  37. data/docspring.gemspec +2 -2
  38. data/lib/docspring/api/client.rb +222 -49
  39. data/lib/docspring/api_client.rb +5 -3
  40. data/lib/docspring/api_error.rb +1 -1
  41. data/lib/docspring/api_model_base.rb +1 -1
  42. data/lib/docspring/configuration.rb +1 -1
  43. data/lib/docspring/date_time_values.rb +33 -0
  44. data/lib/docspring/models/add_template_fields_request.rb +1 -1
  45. data/lib/docspring/models/ai_field_naming_language.rb +1 -1
  46. data/lib/docspring/models/authentication_check.rb +1 -1
  47. data/lib/docspring/models/barcode_symbology.rb +1 -1
  48. data/lib/docspring/models/check_character.rb +1 -1
  49. data/lib/docspring/models/combined_field_type.rb +1 -1
  50. data/lib/docspring/models/combined_pdf.rb +2 -2
  51. data/lib/docspring/models/combined_pdf_files.rb +1 -1
  52. data/lib/docspring/models/combined_pdf_list.rb +1 -1
  53. data/lib/docspring/models/combined_pdf_source.rb +1 -1
  54. data/lib/docspring/models/combined_pdf_source_input.rb +1 -1
  55. data/lib/docspring/models/combined_pdf_source_pdf.rb +1 -1
  56. data/lib/docspring/models/combined_pdf_source_type.rb +1 -1
  57. data/lib/docspring/models/combined_pdf_state.rb +1 -1
  58. data/lib/docspring/models/copy_template_request.rb +1 -1
  59. data/lib/docspring/models/create_combined_pdf_request.rb +2 -2
  60. data/lib/docspring/models/create_custom_file_from_upload_request.rb +1 -1
  61. data/lib/docspring/models/create_folder_request.rb +1 -1
  62. data/lib/docspring/models/create_signature_request_event_request.rb +1 -1
  63. data/lib/docspring/models/create_signature_request_token_request.rb +1 -1
  64. data/lib/docspring/models/create_submission_batch_request.rb +1 -1
  65. data/lib/docspring/models/create_submission_request.rb +6 -6
  66. data/lib/docspring/models/create_template_preview_request.rb +187 -0
  67. data/lib/docspring/models/create_template_request.rb +32 -12
  68. data/lib/docspring/models/create_webhook_request.rb +1 -1
  69. data/lib/docspring/models/custom_file.rb +1 -1
  70. data/lib/docspring/models/custom_file_list.rb +1 -1
  71. data/lib/docspring/models/custom_file_source_pdf.rb +1 -1
  72. data/lib/docspring/models/error_code.rb +4 -2
  73. data/lib/docspring/models/error_detail.rb +2 -2
  74. data/lib/docspring/models/error_info.rb +5 -5
  75. data/lib/docspring/models/error_response.rb +1 -1
  76. data/lib/docspring/models/expiration_interval.rb +1 -1
  77. data/lib/docspring/models/field.rb +2 -2
  78. data/lib/docspring/models/field_comparison_condition.rb +1 -1
  79. data/lib/docspring/models/field_comparison_operator.rb +1 -1
  80. data/lib/docspring/models/field_dependency.rb +1 -1
  81. data/lib/docspring/models/field_dependency_input.rb +1 -1
  82. data/lib/docspring/models/field_display_type.rb +1 -1
  83. data/lib/docspring/models/field_equals_condition.rb +1 -1
  84. data/lib/docspring/models/field_equals_operator.rb +1 -1
  85. data/lib/docspring/models/field_group.rb +3 -3
  86. data/lib/docspring/models/field_group_input.rb +2 -2
  87. data/lib/docspring/models/field_group_type.rb +1 -1
  88. data/lib/docspring/models/field_in_condition.rb +1 -1
  89. data/lib/docspring/models/field_input.rb +2 -2
  90. data/lib/docspring/models/field_override.rb +1 -1
  91. data/lib/docspring/models/field_presence_condition.rb +1 -1
  92. data/lib/docspring/models/field_presence_operator.rb +1 -1
  93. data/lib/docspring/models/field_range_condition.rb +1 -1
  94. data/lib/docspring/models/field_reimport_state.rb +1 -1
  95. data/lib/docspring/models/field_setup_logic.rb +1 -1
  96. data/lib/docspring/models/field_setup_naming.rb +1 -1
  97. data/lib/docspring/models/field_setup_source.rb +1 -1
  98. data/lib/docspring/models/field_type.rb +1 -1
  99. data/lib/docspring/models/folder.rb +1 -1
  100. data/lib/docspring/models/folder_list.rb +1 -1
  101. data/lib/docspring/models/generate_files_format.rb +5 -2
  102. data/lib/docspring/models/generate_submission_files_request.rb +2 -2
  103. data/lib/docspring/models/generated_file.rb +4 -4
  104. data/lib/docspring/models/generated_file_state.rb +1 -1
  105. data/lib/docspring/models/html_engine_options.rb +1 -1
  106. data/lib/docspring/models/html_engine_options_input.rb +1 -1
  107. data/lib/docspring/models/image_gravity.rb +1 -1
  108. data/lib/docspring/models/image_scale_type.rb +1 -1
  109. data/lib/docspring/models/model_code_language.rb +3 -2
  110. data/lib/docspring/models/move_folder_request.rb +1 -1
  111. data/lib/docspring/models/move_template_request.rb +1 -1
  112. data/lib/docspring/models/number_condition_type.rb +1 -1
  113. data/lib/docspring/models/output_format.rb +4 -2
  114. data/lib/docspring/models/page_format.rb +1 -1
  115. data/lib/docspring/models/page_image.rb +1 -1
  116. data/lib/docspring/models/page_images.rb +1 -1
  117. data/lib/docspring/models/predefined_field.rb +1 -1
  118. data/lib/docspring/models/predefined_field_input.rb +1 -1
  119. data/lib/docspring/models/publish_template_version_request.rb +1 -1
  120. data/lib/docspring/models/remove_template_fields_request.rb +1 -1
  121. data/lib/docspring/models/rename_folder_request.rb +1 -1
  122. data/lib/docspring/models/reorder_template_fields_request.rb +1 -1
  123. data/lib/docspring/models/restore_template_version_request.rb +1 -1
  124. data/lib/docspring/models/shape_type.rb +1 -1
  125. data/lib/docspring/models/signature_request.rb +1 -1
  126. data/lib/docspring/models/signature_request_auth_second_factor_type.rb +1 -1
  127. data/lib/docspring/models/signature_request_auth_type.rb +1 -1
  128. data/lib/docspring/models/signature_request_event.rb +1 -1
  129. data/lib/docspring/models/signature_request_event_type.rb +1 -1
  130. data/lib/docspring/models/signature_request_input.rb +1 -1
  131. data/lib/docspring/models/signature_request_message_type.rb +1 -1
  132. data/lib/docspring/models/signature_request_state.rb +1 -1
  133. data/lib/docspring/models/signature_request_token.rb +1 -1
  134. data/lib/docspring/models/signature_request_token_type.rb +1 -1
  135. data/lib/docspring/models/string_condition_type.rb +1 -1
  136. data/lib/docspring/models/submission.rb +145 -145
  137. data/lib/docspring/models/submission_action.rb +1 -1
  138. data/lib/docspring/models/submission_action_state.rb +1 -1
  139. data/lib/docspring/models/submission_action_type.rb +1 -1
  140. data/lib/docspring/models/submission_batch.rb +5 -5
  141. data/lib/docspring/models/submission_batch_state.rb +1 -1
  142. data/lib/docspring/models/submission_files.rb +22 -2
  143. data/lib/docspring/models/submission_input.rb +6 -6
  144. data/lib/docspring/models/submission_list.rb +2 -2
  145. data/lib/docspring/models/submission_source.rb +1 -1
  146. data/lib/docspring/models/submission_source_pdf.rb +1 -1
  147. data/lib/docspring/models/submission_state.rb +1 -1
  148. data/lib/docspring/models/submission_summary.rb +601 -0
  149. data/lib/docspring/models/submission_validation.rb +1 -1
  150. data/lib/docspring/models/template.rb +131 -91
  151. data/lib/docspring/models/template_actor.rb +2 -2
  152. data/lib/docspring/models/template_actor_type.rb +1 -1
  153. data/lib/docspring/models/template_defaults.rb +1 -1
  154. data/lib/docspring/models/template_defaults_input.rb +1 -1
  155. data/lib/docspring/models/template_diff.rb +3 -3
  156. data/lib/docspring/models/template_diff_summary.rb +1 -1
  157. data/lib/docspring/models/template_document.rb +51 -51
  158. data/lib/docspring/models/template_document_state.rb +4 -2
  159. data/lib/docspring/models/template_document_summary.rb +260 -0
  160. data/lib/docspring/models/template_field_change.rb +1 -1
  161. data/lib/docspring/models/template_field_changes.rb +1 -1
  162. data/lib/docspring/models/template_field_dependency.rb +1 -1
  163. data/lib/docspring/models/template_field_dependency_action.rb +1 -1
  164. data/lib/docspring/models/template_field_dependency_condition.rb +1 -1
  165. data/lib/docspring/models/template_field_dependency_condition_input.rb +1 -1
  166. data/lib/docspring/models/template_field_dependency_input.rb +1 -1
  167. data/lib/docspring/models/template_field_dependency_match.rb +1 -1
  168. data/lib/docspring/models/template_field_dependency_operator.rb +1 -1
  169. data/lib/docspring/models/template_field_logic_status.rb +1 -1
  170. data/lib/docspring/models/template_field_move.rb +1 -1
  171. data/lib/docspring/models/template_fields.rb +1 -1
  172. data/lib/docspring/models/template_form_mode.rb +1 -1
  173. data/lib/docspring/models/template_model_code.rb +1 -1
  174. data/lib/docspring/models/template_page_ai_error.rb +1 -1
  175. data/lib/docspring/models/template_page_ai_naming_status.rb +1 -1
  176. data/lib/docspring/models/template_page_fields_status.rb +1 -1
  177. data/lib/docspring/models/template_page_image_status.rb +1 -1
  178. data/lib/docspring/models/template_page_images.rb +1 -1
  179. data/lib/docspring/models/template_page_processing_status.rb +1 -1
  180. data/lib/docspring/models/template_preview.rb +356 -0
  181. data/lib/docspring/models/template_preview_state.rb +42 -0
  182. data/lib/docspring/models/template_source_pdf.rb +1 -1
  183. data/lib/docspring/models/template_summary.rb +34 -574
  184. data/lib/docspring/models/template_summary_list.rb +1 -1
  185. data/lib/docspring/models/template_type.rb +3 -2
  186. data/lib/docspring/models/template_version.rb +1 -1
  187. data/lib/docspring/models/template_version_type.rb +1 -1
  188. data/lib/docspring/models/text_alignment.rb +1 -1
  189. data/lib/docspring/models/text_overflow.rb +1 -1
  190. data/lib/docspring/models/text_vertical_alignment.rb +1 -1
  191. data/lib/docspring/models/typeface.rb +1 -1
  192. data/lib/docspring/models/update_signature_request_request.rb +1 -1
  193. data/lib/docspring/models/update_template_document_request.rb +7 -7
  194. data/lib/docspring/models/update_template_fields_request.rb +1 -1
  195. data/lib/docspring/models/update_template_request.rb +31 -11
  196. data/lib/docspring/models/update_webhook_request.rb +1 -1
  197. data/lib/docspring/models/upload_method.rb +1 -1
  198. data/lib/docspring/models/upload_presign.rb +1 -1
  199. data/lib/docspring/models/url_source_pdf.rb +1 -1
  200. data/lib/docspring/models/validate_submission_request.rb +6 -6
  201. data/lib/docspring/models/webhook.rb +1 -1
  202. data/lib/docspring/models/webhook_event_type.rb +1 -1
  203. data/lib/docspring/models/webhook_list.rb +1 -1
  204. data/lib/docspring/models/webhook_mode.rb +1 -1
  205. data/lib/docspring/request_schemas.json +144 -10
  206. data/lib/docspring/version.rb +2 -2
  207. data/lib/docspring/webhook_signature.rb +45 -0
  208. data/lib/docspring.rb +7 -1
  209. data/spec/api/client_spec.rb +61 -25
  210. data/spec/models/add_template_fields_request_spec.rb +1 -1
  211. data/spec/models/ai_field_naming_language_spec.rb +1 -1
  212. data/spec/models/authentication_check_spec.rb +1 -1
  213. data/spec/models/barcode_symbology_spec.rb +1 -1
  214. data/spec/models/check_character_spec.rb +1 -1
  215. data/spec/models/combined_field_type_spec.rb +1 -1
  216. data/spec/models/combined_pdf_files_spec.rb +1 -1
  217. data/spec/models/combined_pdf_list_spec.rb +1 -1
  218. data/spec/models/combined_pdf_source_input_spec.rb +1 -1
  219. data/spec/models/combined_pdf_source_pdf_spec.rb +1 -1
  220. data/spec/models/combined_pdf_source_spec.rb +1 -1
  221. data/spec/models/combined_pdf_source_type_spec.rb +1 -1
  222. data/spec/models/combined_pdf_spec.rb +1 -1
  223. data/spec/models/combined_pdf_state_spec.rb +1 -1
  224. data/spec/models/copy_template_request_spec.rb +1 -1
  225. data/spec/models/create_combined_pdf_request_spec.rb +1 -1
  226. data/spec/models/create_custom_file_from_upload_request_spec.rb +1 -1
  227. data/spec/models/create_folder_request_spec.rb +1 -1
  228. data/spec/models/create_signature_request_event_request_spec.rb +1 -1
  229. data/spec/models/create_signature_request_token_request_spec.rb +1 -1
  230. data/spec/models/create_submission_batch_request_spec.rb +1 -1
  231. data/spec/models/create_submission_request_spec.rb +1 -1
  232. data/spec/models/create_template_preview_request_spec.rb +36 -0
  233. data/spec/models/create_template_request_spec.rb +13 -1
  234. data/spec/models/create_webhook_request_spec.rb +1 -1
  235. data/spec/models/custom_file_list_spec.rb +1 -1
  236. data/spec/models/custom_file_source_pdf_spec.rb +1 -1
  237. data/spec/models/custom_file_spec.rb +1 -1
  238. data/spec/models/error_code_spec.rb +1 -1
  239. data/spec/models/error_detail_spec.rb +1 -1
  240. data/spec/models/error_info_spec.rb +1 -1
  241. data/spec/models/error_response_spec.rb +1 -1
  242. data/spec/models/expiration_interval_spec.rb +1 -1
  243. data/spec/models/field_comparison_condition_spec.rb +1 -1
  244. data/spec/models/field_comparison_operator_spec.rb +1 -1
  245. data/spec/models/field_dependency_input_spec.rb +1 -1
  246. data/spec/models/field_dependency_spec.rb +1 -1
  247. data/spec/models/field_display_type_spec.rb +1 -1
  248. data/spec/models/field_equals_condition_spec.rb +1 -1
  249. data/spec/models/field_equals_operator_spec.rb +1 -1
  250. data/spec/models/field_group_input_spec.rb +1 -1
  251. data/spec/models/field_group_spec.rb +1 -1
  252. data/spec/models/field_group_type_spec.rb +1 -1
  253. data/spec/models/field_in_condition_spec.rb +1 -1
  254. data/spec/models/field_input_spec.rb +1 -1
  255. data/spec/models/field_override_spec.rb +1 -1
  256. data/spec/models/field_presence_condition_spec.rb +1 -1
  257. data/spec/models/field_presence_operator_spec.rb +1 -1
  258. data/spec/models/field_range_condition_spec.rb +1 -1
  259. data/spec/models/field_reimport_state_spec.rb +1 -1
  260. data/spec/models/field_setup_logic_spec.rb +1 -1
  261. data/spec/models/field_setup_naming_spec.rb +1 -1
  262. data/spec/models/field_setup_source_spec.rb +1 -1
  263. data/spec/models/field_spec.rb +1 -1
  264. data/spec/models/field_type_spec.rb +1 -1
  265. data/spec/models/folder_list_spec.rb +1 -1
  266. data/spec/models/folder_spec.rb +1 -1
  267. data/spec/models/generate_files_format_spec.rb +1 -1
  268. data/spec/models/generate_submission_files_request_spec.rb +1 -1
  269. data/spec/models/generated_file_spec.rb +1 -1
  270. data/spec/models/generated_file_state_spec.rb +1 -1
  271. data/spec/models/html_engine_options_input_spec.rb +1 -1
  272. data/spec/models/html_engine_options_spec.rb +1 -1
  273. data/spec/models/image_gravity_spec.rb +1 -1
  274. data/spec/models/image_scale_type_spec.rb +1 -1
  275. data/spec/models/model_code_language_spec.rb +1 -1
  276. data/spec/models/move_folder_request_spec.rb +1 -1
  277. data/spec/models/move_template_request_spec.rb +1 -1
  278. data/spec/models/number_condition_type_spec.rb +1 -1
  279. data/spec/models/output_format_spec.rb +1 -1
  280. data/spec/models/page_format_spec.rb +1 -1
  281. data/spec/models/page_image_spec.rb +1 -1
  282. data/spec/models/page_images_spec.rb +1 -1
  283. data/spec/models/predefined_field_input_spec.rb +1 -1
  284. data/spec/models/predefined_field_spec.rb +1 -1
  285. data/spec/models/publish_template_version_request_spec.rb +1 -1
  286. data/spec/models/remove_template_fields_request_spec.rb +1 -1
  287. data/spec/models/rename_folder_request_spec.rb +1 -1
  288. data/spec/models/reorder_template_fields_request_spec.rb +1 -1
  289. data/spec/models/restore_template_version_request_spec.rb +1 -1
  290. data/spec/models/shape_type_spec.rb +1 -1
  291. data/spec/models/signature_request_auth_second_factor_type_spec.rb +1 -1
  292. data/spec/models/signature_request_auth_type_spec.rb +1 -1
  293. data/spec/models/signature_request_event_spec.rb +1 -1
  294. data/spec/models/signature_request_event_type_spec.rb +1 -1
  295. data/spec/models/signature_request_input_spec.rb +1 -1
  296. data/spec/models/signature_request_message_type_spec.rb +1 -1
  297. data/spec/models/signature_request_spec.rb +1 -1
  298. data/spec/models/signature_request_state_spec.rb +1 -1
  299. data/spec/models/signature_request_token_spec.rb +1 -1
  300. data/spec/models/signature_request_token_type_spec.rb +1 -1
  301. data/spec/models/string_condition_type_spec.rb +1 -1
  302. data/spec/models/submission_action_spec.rb +1 -1
  303. data/spec/models/submission_action_state_spec.rb +1 -1
  304. data/spec/models/submission_action_type_spec.rb +1 -1
  305. data/spec/models/submission_batch_spec.rb +1 -1
  306. data/spec/models/submission_batch_state_spec.rb +1 -1
  307. data/spec/models/submission_files_spec.rb +13 -1
  308. data/spec/models/submission_input_spec.rb +1 -1
  309. data/spec/models/submission_list_spec.rb +1 -1
  310. data/spec/models/submission_source_pdf_spec.rb +1 -1
  311. data/spec/models/submission_source_spec.rb +1 -1
  312. data/spec/models/submission_spec.rb +13 -13
  313. data/spec/models/submission_state_spec.rb +1 -1
  314. data/spec/models/submission_summary_spec.rb +144 -0
  315. data/spec/models/submission_validation_spec.rb +1 -1
  316. data/spec/models/template_actor_spec.rb +1 -1
  317. data/spec/models/template_actor_type_spec.rb +1 -1
  318. data/spec/models/template_defaults_input_spec.rb +1 -1
  319. data/spec/models/template_defaults_spec.rb +1 -1
  320. data/spec/models/template_diff_spec.rb +1 -1
  321. data/spec/models/template_diff_summary_spec.rb +1 -1
  322. data/spec/models/template_document_spec.rb +6 -6
  323. data/spec/models/template_document_state_spec.rb +1 -1
  324. data/spec/models/template_document_summary_spec.rb +54 -0
  325. data/spec/models/template_field_change_spec.rb +1 -1
  326. data/spec/models/template_field_changes_spec.rb +1 -1
  327. data/spec/models/template_field_dependency_action_spec.rb +1 -1
  328. data/spec/models/template_field_dependency_condition_input_spec.rb +1 -1
  329. data/spec/models/template_field_dependency_condition_spec.rb +1 -1
  330. data/spec/models/template_field_dependency_input_spec.rb +1 -1
  331. data/spec/models/template_field_dependency_match_spec.rb +1 -1
  332. data/spec/models/template_field_dependency_operator_spec.rb +1 -1
  333. data/spec/models/template_field_dependency_spec.rb +1 -1
  334. data/spec/models/template_field_logic_status_spec.rb +1 -1
  335. data/spec/models/template_field_move_spec.rb +1 -1
  336. data/spec/models/template_fields_spec.rb +1 -1
  337. data/spec/models/template_form_mode_spec.rb +1 -1
  338. data/spec/models/template_model_code_spec.rb +1 -1
  339. data/spec/models/template_page_ai_error_spec.rb +1 -1
  340. data/spec/models/template_page_ai_naming_status_spec.rb +1 -1
  341. data/spec/models/template_page_fields_status_spec.rb +1 -1
  342. data/spec/models/template_page_image_status_spec.rb +1 -1
  343. data/spec/models/template_page_images_spec.rb +1 -1
  344. data/spec/models/template_page_processing_status_spec.rb +1 -1
  345. data/spec/models/template_preview_spec.rb +78 -0
  346. data/spec/models/template_preview_state_spec.rb +30 -0
  347. data/spec/models/template_source_pdf_spec.rb +1 -1
  348. data/spec/models/template_spec.rb +35 -23
  349. data/spec/models/template_summary_list_spec.rb +1 -1
  350. data/spec/models/template_summary_spec.rb +6 -138
  351. data/spec/models/template_type_spec.rb +1 -1
  352. data/spec/models/template_version_spec.rb +1 -1
  353. data/spec/models/template_version_type_spec.rb +1 -1
  354. data/spec/models/text_alignment_spec.rb +1 -1
  355. data/spec/models/text_overflow_spec.rb +1 -1
  356. data/spec/models/text_vertical_alignment_spec.rb +1 -1
  357. data/spec/models/typeface_spec.rb +1 -1
  358. data/spec/models/update_signature_request_request_spec.rb +1 -1
  359. data/spec/models/update_template_document_request_spec.rb +1 -1
  360. data/spec/models/update_template_fields_request_spec.rb +1 -1
  361. data/spec/models/update_template_request_spec.rb +13 -1
  362. data/spec/models/update_webhook_request_spec.rb +1 -1
  363. data/spec/models/upload_method_spec.rb +1 -1
  364. data/spec/models/upload_presign_spec.rb +1 -1
  365. data/spec/models/url_source_pdf_spec.rb +1 -1
  366. data/spec/models/validate_submission_request_spec.rb +1 -1
  367. data/spec/models/webhook_event_type_spec.rb +1 -1
  368. data/spec/models/webhook_list_spec.rb +1 -1
  369. data/spec/models/webhook_mode_spec.rb +1 -1
  370. data/spec/models/webhook_spec.rb +1 -1
  371. data/spec/spec_helper.rb +1 -1
  372. metadata +25 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d124a4eb39c1edc1b535fe60c6027af58866731018f574e3b58e9c9e658081bb
4
- data.tar.gz: 4a365cf441b2b34c9a841059ea647b0c8ce0e2680183ddc229a7f6482e4af8e1
3
+ metadata.gz: e997a9a92a04e7b8eaeb759762e39be31bb36af02db1fa61f65637c984f6e88f
4
+ data.tar.gz: 50b74a6a63e254b540af52e18e7c1b32275e4069ed1e71ceb3edea81824532be
5
5
  SHA512:
6
- metadata.gz: e565b0c650ff70a2e1791e82c6be2b9afe21c0edce375b77c17cc92f98954b71e5ff6fa473d8df181a17687e9e2cfc8b4ddffa34dbc7e103f16366eb74936e88
7
- data.tar.gz: cd338cfa5caed832ebcfe25aedab0582c2e004050bab456d3b2d5b7f1e43001644d44a4a6d16be5d942f600f4a2a203fd41e83331b6ec2e7ea82f8badfe42aa2
6
+ metadata.gz: 1a60aa7099efbb3871f29e3f4ea86c7095fa3495fb62c3f25bdc23c0640425291626c173b923f5baf07126f304ead67c79c970a99ce6244405c3150947b942e3
7
+ data.tar.gz: 6ef873b90d45b59c89829065d1d70b225c30e7feb116698a545347c2563580f9fe44fa0fde50378b8bf87052c0ba109d017fd11c52d200dcf55000d57d4f7649
@@ -29,6 +29,7 @@ docs/CreateSignatureRequestEventRequest.md
29
29
  docs/CreateSignatureRequestTokenRequest.md
30
30
  docs/CreateSubmissionBatchRequest.md
31
31
  docs/CreateSubmissionRequest.md
32
+ docs/CreateTemplatePreviewRequest.md
32
33
  docs/CreateTemplateRequest.md
33
34
  docs/CreateWebhookRequest.md
34
35
  docs/CustomFile.md
@@ -110,6 +111,7 @@ docs/SubmissionList.md
110
111
  docs/SubmissionSource.md
111
112
  docs/SubmissionSourcePdf.md
112
113
  docs/SubmissionState.md
114
+ docs/SubmissionSummary.md
113
115
  docs/SubmissionValidation.md
114
116
  docs/Template.md
115
117
  docs/TemplateActor.md
@@ -120,6 +122,7 @@ docs/TemplateDiff.md
120
122
  docs/TemplateDiffSummary.md
121
123
  docs/TemplateDocument.md
122
124
  docs/TemplateDocumentState.md
125
+ docs/TemplateDocumentSummary.md
123
126
  docs/TemplateFieldChange.md
124
127
  docs/TemplateFieldChanges.md
125
128
  docs/TemplateFieldDependency.md
@@ -140,6 +143,8 @@ docs/TemplatePageFieldsStatus.md
140
143
  docs/TemplatePageImageStatus.md
141
144
  docs/TemplatePageImages.md
142
145
  docs/TemplatePageProcessingStatus.md
146
+ docs/TemplatePreview.md
147
+ docs/TemplatePreviewState.md
143
148
  docs/TemplateSourcePdf.md
144
149
  docs/TemplateSummary.md
145
150
  docs/TemplateSummaryList.md
@@ -193,6 +198,7 @@ lib/docspring/models/create_signature_request_event_request.rb
193
198
  lib/docspring/models/create_signature_request_token_request.rb
194
199
  lib/docspring/models/create_submission_batch_request.rb
195
200
  lib/docspring/models/create_submission_request.rb
201
+ lib/docspring/models/create_template_preview_request.rb
196
202
  lib/docspring/models/create_template_request.rb
197
203
  lib/docspring/models/create_webhook_request.rb
198
204
  lib/docspring/models/custom_file.rb
@@ -274,6 +280,7 @@ lib/docspring/models/submission_list.rb
274
280
  lib/docspring/models/submission_source.rb
275
281
  lib/docspring/models/submission_source_pdf.rb
276
282
  lib/docspring/models/submission_state.rb
283
+ lib/docspring/models/submission_summary.rb
277
284
  lib/docspring/models/submission_validation.rb
278
285
  lib/docspring/models/template.rb
279
286
  lib/docspring/models/template_actor.rb
@@ -284,6 +291,7 @@ lib/docspring/models/template_diff.rb
284
291
  lib/docspring/models/template_diff_summary.rb
285
292
  lib/docspring/models/template_document.rb
286
293
  lib/docspring/models/template_document_state.rb
294
+ lib/docspring/models/template_document_summary.rb
287
295
  lib/docspring/models/template_field_change.rb
288
296
  lib/docspring/models/template_field_changes.rb
289
297
  lib/docspring/models/template_field_dependency.rb
@@ -304,6 +312,8 @@ lib/docspring/models/template_page_fields_status.rb
304
312
  lib/docspring/models/template_page_image_status.rb
305
313
  lib/docspring/models/template_page_images.rb
306
314
  lib/docspring/models/template_page_processing_status.rb
315
+ lib/docspring/models/template_preview.rb
316
+ lib/docspring/models/template_preview_state.rb
307
317
  lib/docspring/models/template_source_pdf.rb
308
318
  lib/docspring/models/template_summary.rb
309
319
  lib/docspring/models/template_summary_list.rb
@@ -351,6 +361,7 @@ spec/models/create_signature_request_event_request_spec.rb
351
361
  spec/models/create_signature_request_token_request_spec.rb
352
362
  spec/models/create_submission_batch_request_spec.rb
353
363
  spec/models/create_submission_request_spec.rb
364
+ spec/models/create_template_preview_request_spec.rb
354
365
  spec/models/create_template_request_spec.rb
355
366
  spec/models/create_webhook_request_spec.rb
356
367
  spec/models/custom_file_list_spec.rb
@@ -432,6 +443,7 @@ spec/models/submission_source_pdf_spec.rb
432
443
  spec/models/submission_source_spec.rb
433
444
  spec/models/submission_spec.rb
434
445
  spec/models/submission_state_spec.rb
446
+ spec/models/submission_summary_spec.rb
435
447
  spec/models/submission_validation_spec.rb
436
448
  spec/models/template_actor_spec.rb
437
449
  spec/models/template_actor_type_spec.rb
@@ -441,6 +453,7 @@ spec/models/template_diff_spec.rb
441
453
  spec/models/template_diff_summary_spec.rb
442
454
  spec/models/template_document_spec.rb
443
455
  spec/models/template_document_state_spec.rb
456
+ spec/models/template_document_summary_spec.rb
444
457
  spec/models/template_field_change_spec.rb
445
458
  spec/models/template_field_changes_spec.rb
446
459
  spec/models/template_field_dependency_action_spec.rb
@@ -461,6 +474,8 @@ spec/models/template_page_fields_status_spec.rb
461
474
  spec/models/template_page_image_status_spec.rb
462
475
  spec/models/template_page_images_spec.rb
463
476
  spec/models/template_page_processing_status_spec.rb
477
+ spec/models/template_preview_spec.rb
478
+ spec/models/template_preview_state_spec.rb
464
479
  spec/models/template_source_pdf_spec.rb
465
480
  spec/models/template_spec.rb
466
481
  spec/models/template_summary_list_spec.rb
data/.travis.yml CHANGED
@@ -8,4 +8,4 @@ script:
8
8
  - bundle install --path vendor/bundle
9
9
  - bundle exec rspec
10
10
  - gem build docspring.gemspec
11
- - gem install ./docspring-4.1.0.gem
11
+ - gem install ./docspring-4.3.0.gem
data/AGENTS.md CHANGED
@@ -69,8 +69,9 @@ keeps it.
69
69
  (https://docspring.com/docs/webhooks/overview/). A webhook created with API v2 sends events in API v2's format
70
70
  (version 4).
71
71
  - Verify each request's `X-DocSpring-Signature` header before acting on it: an HMAC-SHA256 of `{t}.{raw body}` with the
72
- webhook's signing secret, computed over the raw body exactly as received
73
- (https://docspring.com/docs/webhooks/verifying-signatures/).
72
+ webhook's signing secret, where `t` must be within 5 minutes
73
+ (https://docspring.com/docs/webhooks/verifying-signatures/). Pass the raw body exactly as received, not parsed JSON,
74
+ to `DocSpring.verify_webhook_signature(payload, signature_header, secret)`, which returns true or false.
74
75
  - No webhook is sent when a submission starts waiting for credits.
75
76
 
76
77
  ## Signature requests
@@ -89,5 +90,5 @@ keeps it.
89
90
 
90
91
  - List methods return `data` and `next_cursor`: pass `next_cursor` as `cursor` to get the next page.
91
92
  - Responses can be newer than this SDK, because DocSpring adds fields and enum values to API v2 without a new
92
- version. The model leaves out a response field added to the API after this release. Enum values in responses are strings, so a
93
- value added after this release comes back as it is: handle values you don't recognize.
93
+ version. The model leaves out a response field added to the API after this release. An enum value added after this release comes
94
+ back as the API sent it: handle values you don't recognize.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,70 @@
1
+ ### 4.3.0 [October 31, 2026]
2
+
3
+ - New: get_template_model_code takes `rust` as its `lang`, for Rust structs that serde reads and writes.
4
+ - New: Word templates (`template_type` `docx`). create_template makes one from a Word document (.docx, up to 50 MB)
5
+ that you upload and pass as a `cache_id`, or pass as a `document_url` or `document_base64`; upload_template takes the
6
+ file itself. update_template_document and upload_template_document replace its document the same ways. Each tag in
7
+ the document, such as `{{ customer.name }}`, becomes a field. Each of them takes an OpenDocument text file (.odt)
8
+ too, which DocSpring converts to a Word document.
9
+ - New: a Word template's `output_format`, what its submissions make unless they set `output_formats`: `docx` (a Word
10
+ document), `odt` (an OpenDocument file) or `pdf`. create_template and upload_template require it, and
11
+ update_template changes it. A Word template that encrypts its PDFs makes PDFs, because Word documents and
12
+ OpenDocument files can't be password-protected.
13
+ - New: the `docx` and `odt` output formats, a Word template's filled-in Word document (`files.docx`) and OpenDocument
14
+ file (`files.odt`, converted from the Word document). Add them to `output_formats` in create_submission or
15
+ create_submission_batch to get more than one file, such as the Word document and the PDF.
16
+ - generate_submission_files takes `pdf`, the PDF of a Word template's submission that didn't make one (converted from
17
+ its Word document), `docx`, the Word document of one that made only its PDF (made again from its data and the
18
+ template version it used), and `odt`, its OpenDocument file. None of them uses credits again. Until the new file is
19
+ ready, its `state` in `files` is `pending`, and when it couldn't be made, its `error_message` says why.
20
+ - A Word template's `document` is its Word document: `document.permanent_url` downloads it. Its `state` is `processed`
21
+ once it's uploaded or downloaded (`downloading` or `download_failed` while a `document_url` downloads, `converting`
22
+ or `conversion_failed` while an OpenDocument file is converted), and get_template_diff's `document_changed` says
23
+ whether it was edited.
24
+ - get_template_page_images returns a 409 for a Word template, whose pages are only laid out when a document is made.
25
+ - create_template_preview previews Word templates too: images of the pages of the PDF that the template's Word
26
+ document makes with your data. A DocSpring server that can't convert Word documents to PDF returns a 409.
27
+
28
+ ### 4.2.0 [October 29, 2026]
29
+
30
+ - **BREAKING CHANGE**: list_templates returns a shorter `TemplateSummary`: a template's name, description, type, folder
31
+ (`parent_folder_id`, `path`), latest published version, whether it's `ready`, and its PDF's file name, state, error
32
+ and page count (`document`, a `TemplateDocumentSummary`). get_template returns its settings and the rest.
33
+ - **BREAKING CHANGE**: list_submissions and list_template_submissions return `SubmissionSummary` instead of
34
+ `Submission`: without signature requests and uploads, with `data` only when you pass `include_data` (as before), and
35
+ with `files` only when you pass the new `include_files` (without the links to page images). get_submission returns the
36
+ whole submission.
37
+ - New: the template webhook events (version 4) send the whole template, as get_template returns it, without its
38
+ `embed_edit_token`. They sent the settings without the rest.
39
+ - New: list_submissions and list_template_submissions take a `state` filter: one state, such as `invalid_data` or
40
+ `error`.
41
+ - New: get_template_model_code takes `just_types`, for the types alone, without the code that converts and checks JSON
42
+ (TypeScript, Ruby, Python, Java, C#, Elixir and Go: JavaScript and PHP code is the same either way).
43
+ - New: create_submission, create_submission_batch and create_combined_pdf take an `Idempotency-Key` header. A request
44
+ repeated with the same key within 24 hours returns the first response and creates nothing. The same key with a
45
+ different request is a 422, and a repeat while the first request is still running is a 409.
46
+ - New: create_template_preview and get_template_preview fill an HTML or PDF template's draft (or a published version)
47
+ with your data and return PNG images of its pages, not a PDF, so you can check how it prints before you publish it or
48
+ send live data. A preview creates no submission and uses no credits. Get the preview until its `state` is
49
+ `processed`. Previews are watermarked like test PDFs.
50
+ - New: HTML templates' `html_escape_data` setting HTML-escapes the values they print (`{{ value }}`). It's on for new
51
+ templates and off for existing ones; `{{ value | raw }}` prints a value as it is.
52
+ - New: `DocSpring.verify_webhook_signature(payload, signature_header, secret)` checks a webhook request's
53
+ `X-DocSpring-Signature` header. Pass it the request body exactly as it was received. It returns true or false, accepts
54
+ any `v1` that matches and rejects a timestamp more than 5 minutes old (`tolerance:` for another tolerance).
55
+ - publish_template_version answers 409 when the draft hasn't changed since the latest published version, instead of
56
+ publishing a copy of it (code `conflict`). A template's first publish always works.
57
+ - Every operation documents the 429 rate limit response (with `Retry-After`), and the creates that the sync hosts wait
58
+ for document their 504 (the record was saved: get it by the ID in the error).
59
+ - Every optional field takes `null` in a submission's `data`, whatever its type, so model code that writes missing
60
+ values as null works. A null checkbox or group of fields (an object or a list) gets its defaults, as a missing key
61
+ does, and a null text, number, date, image or signature field prints blank, as before. Null in a required field is
62
+ still an error.
63
+ - Query parameters and request body values that take a date and time (`created_after`, `created_before`) take a `Time`,
64
+ `DateTime` or `Date` as well as a string, sent as RFC 3339 (a `Date` as midnight UTC). They failed the request's
65
+ validation before.
66
+ - Template and webhook names can be up to 512 characters, up from 255.
67
+
1
68
  ### 4.1.0 [October 27, 2026]
2
69
 
3
70
  - New: list_template_fields, add_template_fields, update_template_fields, remove_template_fields and
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- docspring (4.1.0)
4
+ docspring (4.3.0)
5
5
  logger
6
6
  typhoeus (~> 1.0, >= 1.0.1)
7
7
 
@@ -14,7 +14,7 @@ GEM
14
14
  coderay (1.1.3)
15
15
  date (3.6.0)
16
16
  diff-lcs (1.6.2)
17
- ethon (0.18.0)
17
+ ethon (0.19.1)
18
18
  ffi (>= 1.15.0)
19
19
  logger
20
20
  ffi (1.17.4)
@@ -28,7 +28,7 @@ GEM
28
28
  ffi (1.17.4-x86_64-darwin)
29
29
  ffi (1.17.4-x86_64-linux-gnu)
30
30
  ffi (1.17.4-x86_64-linux-musl)
31
- io-console (0.9.4)
31
+ io-console (0.9.5)
32
32
  jaro_winkler (1.5.6)
33
33
  logger (1.7.0)
34
34
  method_source (1.1.0)
@@ -74,8 +74,8 @@ GEM
74
74
  unicode-display_width (>= 1.4.0, < 1.6)
75
75
  ruby-progressbar (1.13.0)
76
76
  stringio (3.2.0)
77
- typhoeus (1.6.0)
78
- ethon (>= 0.18.0)
77
+ typhoeus (1.7.1)
78
+ ethon (>= 0.19.1, < 0.20.0)
79
79
  unicode-display_width (1.5.0)
80
80
 
81
81
  PLATFORMS
@@ -100,12 +100,13 @@ DEPENDENCIES
100
100
 
101
101
  CHECKSUMS
102
102
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
103
+ bundler (4.0.23) sha256=407ba8a1d928f412847f819aa5f8b6aef7c59fb51feb517112af8a165487287b
103
104
  byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
104
105
  coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
105
106
  date (3.6.0) sha256=18ac945c4e24ebd93534f8eab8c2fd8c5604b3e977105b3798d62a1e8d27b580
106
107
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
107
- docspring (4.1.0)
108
- ethon (0.18.0) sha256=b598afc9f30448cb068b850714b7d6948e941476095d04f90a4ac65b8d6efcb2
108
+ docspring (4.3.0)
109
+ ethon (0.19.1) sha256=f309dec67cfdefaf96b3d1ee0ed4f186eac518f131340f607bb3df3b4e13ddc4
109
110
  ffi (1.17.4) sha256=bcd1642e06f0d16fc9e09ac6d49c3a7298b9789bcb58127302f934e437d60acf
110
111
  ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
111
112
  ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39
@@ -117,7 +118,7 @@ CHECKSUMS
117
118
  ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496
118
119
  ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d
119
120
  ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e
120
- io-console (0.9.4) sha256=a403304f32928ee85e56d457b4612ca43f2703b561a3258844992bd24085fbb1
121
+ io-console (0.9.5) sha256=83dd9bbf4c4680416629245b39cd4212eb5f4d9a4ea91804870c1f6b846414d5
121
122
  jaro_winkler (1.5.6) sha256=007db7805527ada1cc12f2547676181d63b0a504ec4dd7a9a2eb2424521ccd81
122
123
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
123
124
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
@@ -138,8 +139,8 @@ CHECKSUMS
138
139
  rubocop (0.66.0) sha256=f05a6896f367765b3f0fba663d0add120444f8de604dada405662b10a0860f5a
139
140
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
140
141
  stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
141
- typhoeus (1.6.0) sha256=bacc41c23e379547e29801dc235cd1699b70b955a1ba3d32b2b877aa844c331d
142
+ typhoeus (1.7.1) sha256=86dcb6d787ee08e34947c9436b24af3c4b02880dc83c466b6ca4dbfc53c2ee7f
142
143
  unicode-display_width (1.5.0) sha256=9890eebd24feb4cb0e0542c9b8c6beecb40cda27be8c7afe49312625b36156eb
143
144
 
144
145
  BUNDLED WITH
145
- 4.0.20
146
+ 4.0.23
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # DocSpring Ruby SDK
2
2
 
3
3
  The official Ruby client for the [DocSpring API](https://docspring.com/docs/api/). DocSpring fills PDF
4
- templates with your data, generates PDFs from HTML templates, combines PDFs and collects e-signatures.
4
+ forms with your data, generates PDFs and Word documents from HTML and Word templates, combines PDFs and collects
5
+ e-signatures.
5
6
 
6
7
  [Documentation](https://docspring.com/docs/) · [API reference](https://docspring.com/docs/api/) ·
7
8
  [RubyGems](https://rubygems.org/gems/docspring) · [Changelog](https://github.com/DocSpring/docspring-ruby/blob/main/CHANGELOG.md)
@@ -9,7 +10,7 @@ templates with your data, generates PDFs from HTML templates, combines PDFs and
9
10
  The code in this repository is generated from DocSpring's OpenAPI spec ([About this SDK](#about-this-sdk)). Issues and
10
11
  pull requests are welcome.
11
12
 
12
- Version 4.1.0. Requires Ruby >= 2.7.
13
+ Version 4.3.0. Requires Ruby >= 2.7.
13
14
 
14
15
  ## Install and configure
15
16
 
@@ -96,6 +97,7 @@ Ruby code for every method.
96
97
  | [`create_submission`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#create_submission) | Generate a PDF |
97
98
  | [`create_submission_batch`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#create_submission_batch) | Generate PDFs in a batch |
98
99
  | [`create_template`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#create_template) | Create a template |
100
+ | [`create_template_preview`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#create_template_preview) | Preview a template with data |
99
101
  | [`create_webhook`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#create_webhook) | Create a webhook |
100
102
  | [`delete_custom_file`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#delete_custom_file) | Delete a custom file |
101
103
  | [`delete_folder`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#delete_folder) | Delete a folder |
@@ -116,6 +118,7 @@ Ruby code for every method.
116
118
  | [`get_template_diff`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_template_diff) | Compare a version of a template with the one before it |
117
119
  | [`get_template_model_code`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_template_model_code) | Generate typed code for a template's submission data |
118
120
  | [`get_template_page_images`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_template_page_images) | Get images of a template's pages |
121
+ | [`get_template_preview`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_template_preview) | Get a template preview |
119
122
  | [`get_template_schema`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_template_schema) | Get the JSON Schema of a template's submission data |
120
123
  | [`get_webhook`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#get_webhook) | Get a webhook |
121
124
  | [`list_combined_pdfs`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#list_combined_pdfs) | List combined PDFs |
@@ -136,11 +139,11 @@ Ruby code for every method.
136
139
  | [`test_authentication`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#test_authentication) | Test authentication |
137
140
  | [`update_signature_request`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_signature_request) | Update a signature request |
138
141
  | [`update_template`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_template) | Update a template |
139
- | [`update_template_document`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_template_document) | Replace a template's PDF |
142
+ | [`update_template_document`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_template_document) | Replace a template's document |
140
143
  | [`update_template_fields`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_template_fields) | Update a template's fields |
141
144
  | [`update_webhook`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#update_webhook) | Update a webhook |
142
- | [`upload_template`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#upload_template) | Create a PDF template from an uploaded PDF |
143
- | [`upload_template_document`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#upload_template_document) | Replace a template's PDF with an uploaded PDF |
145
+ | [`upload_template`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#upload_template) | Create a template from an uploaded PDF or Word document |
146
+ | [`upload_template_document`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#upload_template_document) | Replace a template's document with an uploaded file |
144
147
  | [`validate_submission`](https://github.com/DocSpring/docspring-ruby/blob/main/docs/Client.md#validate_submission) | Check a submission without creating it |
145
148
 
146
149
  ## Errors
@@ -158,7 +161,7 @@ existing code, such as removing or renaming a field, go in a new API version
158
161
  responses that are newer than it is:
159
162
 
160
163
  - The model leaves out a response field added to the API after this release.
161
- - Enum values in responses are strings, so a value added to the API after this release comes back as it is: handle values you don't recognize.
164
+ - An enum value added to the API after this release comes back as the API sent it: handle values you don't recognize.
162
165
 
163
166
  Upgrade the SDK to read new fields and enum values. The [changelog](https://github.com/DocSpring/docspring-ruby/blob/main/CHANGELOG.md) lists
164
167
  what each release adds.
@@ -175,6 +178,8 @@ On top of the generated code, we add:
175
178
 
176
179
  - A client constructor that reads your credentials, region and host from the environment.
177
180
  - A fix for multipart PUT requests in Ethon (file uploads to `upload_template_document`).
181
+ - Dates and times in a request (`created_after`, a model's date-time attribute) can be a `Time`, `DateTime` or `Date`, sent as RFC 3339 strings. A `Date` is midnight UTC.
182
+ - `DocSpring.verify_webhook_signature(payload, signature_header, secret)` checks a webhook request's `X-DocSpring-Signature` header, with `tolerance:` and `now:` keywords.
178
183
 
179
184
  Each release regenerates every file, so a change made only here would be lost in the next one. Issues and pull
180
185
  requests are welcome all the same: [open an issue](https://github.com/DocSpring/docspring-ruby/issues) or a pull request, or email